diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2010-01-15 16:33:51 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2010-01-15 16:33:51 -0800 |
commit | 9d24c8a35c07201d3d947332a66cb148af4c24c9 (patch) | |
tree | 6f644109e45b68cad73ed1a8db8710c837243b0a /ChangeLog | |
parent | 5eab77fcd428e89303521df2830cdc0951672348 (diff) | |
download | txr-9d24c8a35c07201d3d947332a66cb148af4c24c9.tar.gz txr-9d24c8a35c07201d3d947332a66cb148af4c24c9.tar.bz2 txr-9d24c8a35c07201d3d947332a66cb148af4c24c9.zip |
Implemented non-greedy operator.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -1,5 +1,29 @@ 2010-01-15 Kaz Kylheku <kkylheku@gmail.com> + Implemented non-greedy operator. + + * lib.c (nongreedy_s): New symbol globals. + (obj_init): New symbol interned. + + * lib.h (nongreedy_s): Declared. + + * parser.l (grammar): Support % as a regex operator. + + * parser.y (grammar): Define '%' nonterminal, + on th esame precedence level as '*'. + (regterm): Add the % expression as a term. + (regchar): Recognize % as ordinary character in a character + class. Also, bugfix: recognize & and ~ similarly. + + * regex.c (dv_compile_regex): Implement % as a syntactic sugar + via an algebraic transformation to a more complex expression. + (regex_requires_dv): A regex containing the % operator requires + derivatives. + + * txr.1: Documented %; moved exotic regex notes to end of document. + +2010-01-15 Kaz Kylheku <kkylheku@gmail.com> + * regex.c (reg_derivative_list): Bugfix: wrong algebra, taking a double derivative of the first item. |