River Tarnell
305efb0961
- implement 'rlike' and 'regex' operators
...
- copyright header for all files
2008-08-08 12:35:13 +00:00
River Tarnell
90afa30066
implement "a like b" operator (and alias "a matches b"). pattern matching code taken from NetBSD src/lib/libc/gen/fnmatch.c
2008-08-08 12:13:03 +00:00
River Tarnell
0042e5d4f5
add aliases: a = b (a == b); a /= b (a != b); a contains b (b in a)
2008-08-08 11:54:11 +00:00
River Tarnell
3501eac719
add built-in cast functions int(), float() and string()
2008-08-08 11:48:12 +00:00
River Tarnell
2da745687c
when either operand of datum's operator+ is a string, treat the operation as a string concatenation instead of arith
2008-08-08 11:35:13 +00:00
Andrew Garrett
e786ae8f42
Fix misspelling
2008-08-08 11:00:50 +00:00
River Tarnell
66b0cb4159
document the datum type
2008-08-08 10:53:46 +00:00
River Tarnell
f278237aa7
define by default 'true' and 'false' variables
2008-08-08 10:39:23 +00:00
River Tarnell
52791b24f8
- document the parser some
...
- make pow_expr a seperate rule with higher precedence than mult_expr
- rename eq_expr/eq2_expr to ord_expr/eq_expr
- match strict_real_p instead of real_p, otherwise '1 / 2' is 0.5 instead of 0
2008-08-08 10:36:17 +00:00
River Tarnell
27a7e25d61
need to qualify std::pow() to avoid infinite recursion
2008-08-08 10:16:27 +00:00
Siebrand Mazeland
63ab66ade1
Localisation updates for extension special page aliases from Betawiki
2008-08-08 09:37:07 +00:00
Andrew Garrett
af1cbfb759
Abuse Filter:
...
* Add power operator.
* Add filter builder (very simple, just a drop-down box with commonly-used constructs)
2008-08-08 09:37:05 +00:00
Siebrand Mazeland
f4fb062c6d
Localisation updates for extension messages from Betawiki (2008-08-08 10:12 CEST)
2008-08-08 08:51:25 +00:00
River Tarnell
984386e8c4
refactor
2008-08-08 07:25:10 +00:00
River Tarnell
e97f624e8d
the maximum size of input (filter, keys, values) should be limited to avoid devouring all memory
2008-08-08 06:31:46 +00:00
River Tarnell
920482def7
support c ? a : c2 ? b : c (right associative)
2008-08-08 05:52:44 +00:00
River Tarnell
56581c109d
parser should support the ?: operator
2008-08-08 05:39:51 +00:00
River Tarnell
b01c2ce063
- use ICU u_isalnum instead of std::isalnum, which doesn't work with Unicode
2008-08-08 03:57:25 +00:00
River Tarnell
3b7ae936ce
- add missing files from last commit
...
- convert next_utf8_char into an iterator
2008-08-08 03:46:02 +00:00
River Tarnell
ff2465007f
- remove unused isInVector
...
- move AFP stuff into its own namespace
- move utf8 and equivset into seperate modules
- parser should understand /* */ comments
2008-08-08 03:23:34 +00:00
River Tarnell
81343c86c7
incorrect definition of bool_expr caused parse failure on '1 & 2 == 3'
2008-08-08 00:53:22 +00:00
River Tarnell
bbd787bde2
implement === and !== properly
2008-08-08 00:35:12 +00:00
River Tarnell
9d6e37fd51
- remove svn:executable prop from source files
2008-08-08 00:25:23 +00:00
River Tarnell
1e98809fde
- delete afparser, afutils; unused
...
- cleanups for affunctions, aftypes
2008-08-08 00:23:30 +00:00
River Tarnell
1912d62d09
- rewrote AFPData to use boost::variant (type safe, no manual memory management)
...
- rewrote parser to use boost.spirit instead of a hand-written parser
- refactored request loading into 'request' object
- added 'expr', a command-line tool to test the new parser
- some performance fixes for affunctions
2008-08-08 00:01:22 +00:00
Siebrand Mazeland
92085b4a3e
* Fix a lot of extension special pages mess. Less messy now, aside from the naming of the files containing the aliases. That's for next time.
...
* Add special page aliases for AbuseFilter
* Change special page aliases method for ChangeAuthor, and Collection
* Add missing to Translate/aliases.txt
(may require another commit; we will see)
2008-08-07 23:29:59 +00:00
Andrew Garrett
a2c9f2ea34
Update checkMoves.php to be useful sans MediaWiki
2008-08-07 15:10:49 +00:00
River Tarnell
7dc8571bcd
af_parser should accept input from a file as well as stdin
2008-08-07 14:43:26 +00:00
River Tarnell
c19ba43c33
missing #include <cstdlib> for std::exit
2008-08-07 14:35:45 +00:00
River Tarnell
1d2f4351c2
remove obsolete stuff from makefile
2008-08-07 14:34:25 +00:00
River Tarnell
6cd5654c8c
#include <algorithm>
2008-08-07 14:33:30 +00:00
River Tarnell
649c1b8bef
add a makefile config that's not in version control
2008-08-07 14:28:45 +00:00
River Tarnell
912ddf6f47
consistent include guards
2008-08-07 14:23:49 +00:00
River Tarnell
dbfbc1c16e
#include <cassert>
2008-08-07 14:20:22 +00:00
River Tarnell
77aab08c36
aftypes: use lexical_cast instead of stringstream tests; avoid warnings by initialising newVal; use std::find for isInvector
...
makefile: -W -Wall
2008-08-07 14:14:14 +00:00
River Tarnell
4ac7f67766
makefile: cleanups
...
affunctions: change glib to ICU (untested)
eval.cpp: remote obsolete libxml include
2008-08-07 13:57:40 +00:00
Andrew Garrett
16909a2c42
Fix two memory leaks in native parser. Now has no memory leaks :-)
2008-08-07 13:53:18 +00:00
River Tarnell
901b79f8d3
add .cpp to .SUFFIXES
2008-08-07 12:35:42 +00:00
Siebrand Mazeland
eec556b0b9
Localisation updates for extension messages from Betawiki (2008-08-06 23:05 CEST)
2008-08-06 21:13:25 +00:00
Siebrand Mazeland
ebc1ebf13b
Localisation updates for extension messages from Betawiki (2008-08-05 21:18 CEST)
2008-08-05 20:09:06 +00:00
Andrew Garrett
2f366bf300
Add missing cpp file
2008-08-05 08:24:21 +00:00
Siebrand Mazeland
c0522fb743
Localisation updates for extension messages from Betawiki (2008-08-04 22:51 CEST)
2008-08-04 21:58:06 +00:00
Andrew Garrett
016da694a6
Abuse Filter:
...
* Reimplement tools, starting with a spiffy AJAX expression tester. Didn't bother implementing as non-AJAX, as it's just an extra.
* Change exchange protocol between native parser and PHP app. Resulted in 2-3-fold performance boost.
* Fix minor bug from last night.
2008-08-04 14:27:48 +00:00
Siebrand Mazeland
15e0cab67f
Check Syntax -> Check syntax
2008-08-04 14:00:15 +00:00
Andrew Garrett
f37b07e2df
Add some binaries which should have been added a while ago
2008-08-04 12:16:11 +00:00
Andrew Garrett
4c57a8cf4d
Abuse Filter:
...
* Make with -O3 instead of -g, to improve performance.
* Add AJAX filter syntax checking.
2008-08-04 12:15:14 +00:00
Andrew Garrett
3ba79484db
Oops, was using the wrong message
2008-08-04 08:34:40 +00:00
Brion Vibber
ea40085dc8
fix parse error, stray executable bit
2008-08-04 05:33:06 +00:00
Andrew Garrett
967fc54413
Add db patch for last commit
2008-08-03 14:05:16 +00:00
Andrew Garrett
529d7b4277
Abuse Filter:
...
* Introduce a syntax check on-save.
* Introduce filter history (requires DB schema change).
* Deprecate now non-working /tools interface (will come back).
2008-08-03 14:04:26 +00:00