River Tarnell
136d65bb51
add 'if <expr> then <iftrue> else <iffalse> end' as an alternative syntax to expr ? iftrue : iffalse
2008-08-12 16:40:51 +00:00
River Tarnell
4930f1121d
don't use pool_allocator
2008-08-12 15:19:38 +00:00
River Tarnell
dac72d2d9a
- untemplatise parser and ast, force Unicode (UChar32) only
...
- set an svn:ignore
2008-08-12 14:02:33 +00:00
River Tarnell
4f6c4d886e
- parser: support singular for time units as well as plural
...
- visitors: remove commented code
2008-08-12 12:17:56 +00:00
River Tarnell
d4d3f27224
rewrote most of visitors.h, and split functors into functors.h. this implementation uses a metaprogram to determine valid operators at compile time, instead of requiring every exception to be specified seperately.
2008-08-12 12:11:31 +00:00
River Tarnell
4a4e3166cd
initial support for dates and intervals
2008-08-11 22:09:34 +00:00
Alexandre Emsenhuber
c03b58b0db
svn:eol-style native
2008-08-11 19:18:11 +00:00
Andrew Garrett
d75eece7b2
Add River to the extension credits, seeing as he pretty much wrote the native parser.
2008-08-11 05:57:17 +00:00
River Tarnell
d6d13734ec
add note that gmp is required
2008-08-11 01:03:51 +00:00
River Tarnell
41afd40801
change from double/float to GMP arbitrary precision types. as well as increased range, this means '1.3 + 20' no longer evaluates to '21.300000000000001'
2008-08-11 01:01:05 +00:00
River Tarnell
646ffc5a78
- fray::find(fray, size_type) was broken, caused infinite recursion in count()
...
- advance last_pos in count() by the size of the matched needle
- add tests for all built-in functions
2008-08-10 21:09:54 +00:00
River Tarnell
d180cbaa2e
re-fix tests on solaris too
2008-08-10 20:49:20 +00:00
River Tarnell
f7a75a9852
fix tests on linux/gcc 4.3
2008-08-10 20:48:25 +00:00
River Tarnell
aa982fce43
- using leaf_node_t includes the skip parser in the parsed token, causing expressions like (1 == ONE) to fail. use reduced_node_t instead
...
- add regression test framework and some basic tests
2008-08-10 20:38:52 +00:00
Siebrand Mazeland
7c86271853
Localisation updates for extension messages from Betawiki
2008-08-10 20:36:58 +00:00
River Tarnell
dc744d0299
trailing whitespace on expr should not be an error
2008-08-10 16:12:33 +00:00
River Tarnell
081b3524db
add README. note that Boost < 1.35 won't work.
...
fix xml tool.
2008-08-10 16:02:35 +00:00
River Tarnell
63c4ef9830
cleanups
2008-08-10 15:36:48 +00:00
River Tarnell
dc5e0e67ff
fix match() prototypes for gcc 4.3.1
2008-08-10 15:19:24 +00:00
Alexandre Emsenhuber
3357f3d6c3
svn:eol-style native
2008-08-10 15:06:10 +00:00
River Tarnell
10e89fda5c
improved string literal parser. now \xHH works as expected (only matches two digits), and \uHHHH, \UHHHHHHHH are supported (16/32-bit Unicode characters)
2008-08-10 12:53:21 +00:00
Siebrand Mazeland
9911042c66
Localisation updates for extension messages from Betawiki (2008-08-10 11:10 CEST)
2008-08-10 09:51:37 +00:00
River Tarnell
6ad335fbe9
cleanup: move ast_evaluator into its own module, move expr functions from parser to affunctions
2008-08-10 04:21:28 +00:00
River Tarnell
bbf1737cc2
- convert parser to AST. while this is slower than the previous implementation, it's clearer, and more correct (lazy evaluation is supported)
...
- to compensate for the slower parser, optimised it a little
- change basic_string to fray, a refcounted immutable string
- add 'xml' tool, prints the parser tree in XML
2008-08-10 03:52:17 +00:00
Siebrand Mazeland
d96dca49a0
* rebuild all extension messages localisation files supported by Translate (part 1 - 100 of 223 files)
...
* indentation changed from aligned to 'as short as possible
* alphabetical ordering of authors
* export of Betawiki's translation hints. Developers are encouraged to add, correct, elaborate!
* contains the latest export for extension messages from Betawiki
2008-08-09 20:02:27 +00:00
Alexandre Emsenhuber
f8c03ff388
svn:eol-style native
2008-08-09 18:31:42 +00:00
River Tarnell
365234b95f
- add 'evaluate' tool, evaluates a filter on the command line
...
- remove filter_evaluator.cpp, no longer used
2008-08-09 16:44:54 +00:00
River Tarnell
691b88b9b1
convert check to u32filter_evaluator, and use "" quotes instead of '' quotes
2008-08-09 16:38:39 +00:00
River Tarnell
337d39f713
- remove utf8.{cpp,h} which are no longer used
...
- convert request (and syntax_check) to use u32expressor
2008-08-09 16:34:34 +00:00
River Tarnell
4eda47daab
add 'expr' tool
2008-08-09 16:22:21 +00:00
Siebrand Mazeland
98aa1a73b1
Localisation updates for extension special page aliases from Betawiki
2008-08-09 16:21:32 +00:00
River Tarnell
5037acbd0d
Unicode conversion: full Unicode support for parser, and 'expr' tool
...
add UTF-8/UTF-32 conversion functions for input/output
2008-08-09 16:18:04 +00:00
Siebrand Mazeland
bba4102689
Localisation updates for extension messages from Betawiki (2008-08-09 17:11 CEST)
2008-08-09 15:22:52 +00:00
River Tarnell
04554a30de
Unicode conversion: affunctions and filter_evaluator should be templated on character type
2008-08-09 15:07:07 +00:00
River Tarnell
df6341487c
Unicode conversion, phase 2: parser should be templated on char type
2008-08-09 14:34:17 +00:00
River Tarnell
eb5586854e
Unicode conversion, phase1: datum should be templated on char type.
...
added basic_datum<charT>, with typedefs datum and u32datum
2008-08-09 13:37:58 +00:00
River Tarnell
dbc2da3177
remove cast / ctors for basic types from aftypes, too prone to error.
...
(side effect: time for the test case goes from 6:14 to 5:26)
2008-08-09 12:14:08 +00:00
River Tarnell
a2ae14f3bb
better checking for correct # of arguments
2008-08-09 11:16:45 +00:00
River Tarnell
d3ce6a5973
support string escapes: \b \t \n \f \r \\ \" \' \xHH \OOO
2008-08-09 10:33:02 +00:00
River Tarnell
d2e95116f0
- match value before variable, otherwise FFFF is matched as a variable and a parse error occurs
...
- support uppercase X, O, B for base indicators
2008-08-09 09:59:40 +00:00
River Tarnell
d94fd3860b
support hex (10x), oct (10o) and binary (10b) literals
2008-08-09 09:32:19 +00:00
River Tarnell
7bf795588e
implement unary - + operators
2008-08-09 09:16:04 +00:00
Meno25
041b24b601
Add author info
2008-08-08 19:23:24 +00:00
Siebrand Mazeland
8eed65630d
Localisation updates for extension messages from Betawiki (2008-08-08 17:40 CEST)
2008-08-08 15:53:28 +00:00
Alexandre Emsenhuber
36f5be9441
svn:eol-style native
2008-08-08 15:38:37 +00:00
Siebrand Mazeland
152420838a
Localisation updates for extension messages from Betawiki (2008-08-08 16:20 CEST)
2008-08-08 14:29:03 +00:00
Siebrand Mazeland
3ac6f6d5bc
Clarify 'abusefilter-edit-builder-funcs-specialratio' based on Werdna's explanation
2008-08-08 12:37:15 +00:00
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