Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | * regex.c (reg_derivative_list, reg_derivative): Recognition | Kaz Kylheku | 2010-01-18 | 2 | -6/+39 | |
| | | | | | | | | | of cases to reduce consing. In reg_derivative_list, we avoid consing the full or expression if either branch is t, and also save a cons when the first element has a null derivative. In reg_derivative the oneplus and zeroplus cases are split, since zeroplus can re-use the input expression, when it's just a one-character match, deriving nil. | |||||
* | Adjust semantics of non-greedy operator R%S, to avoid the broken | Kaz Kylheku | 2010-01-18 | 3 | -21/+41 | |
| | | | | | | | | case whereby R%S matches nothing at all when S is not empty but equivalent to empty, or more generally when S is nullable. A much nicer definition is ``the intersection of R* and the set of all strings that do not contain a non-empty substring that matches S, followed by S''. | |||||
* | Spelling; enhanced wording. | Kaz Kylheku | 2010-01-18 | 1 | -5/+8 | |
| | ||||||
* | Spurious period. | Kaz Kylheku | 2010-01-17 | 1 | -1/+1 | |
| | ||||||
* | Reduce doubled word. | Kaz Kylheku | 2010-01-17 | 1 | -1/+1 | |
| | ||||||
* | Close parenthesis. De Morgan is two words. | Kaz Kylheku | 2010-01-17 | 1 | -2/+2 | |
| | ||||||
* | Show "git head" version in bleeding-edge document. | Kaz Kylheku | 2010-01-17 | 2 | -3/+3 | |
| | ||||||
* | Clarify that regexes /can/ match across multiple lines with @(freeform). | Kaz Kylheku | 2010-01-17 | 1 | -4/+6 | |
| | ||||||
* | Fix bizarre edit mistake. | Kaz Kylheku | 2010-01-17 | 1 | -3/+3 | |
| | ||||||
* | * parser.y (regterm, regclass): Relocate handling | Kaz Kylheku | 2010-01-17 | 2 | -3/+8 | |
| | | | | of empty [] into regterm, via empty derivation. | |||||
* | Regex syntactic tweaks: support the [] syntax | Kaz Kylheku | 2010-01-16 | 3 | -6/+35 | |
| | | | | | to match no character and [^] as its complement, being synonymous with the wildcard dot. | |||||
* | Fix man page date.txr-028 | Kaz Kylheku | 2010-01-16 | 2 | -10/+10 | |
| | ||||||
* | Version 028. | Kaz Kylheku | 2010-01-16 | 5 | -4/+24 | |
| | ||||||
* | Whitespace. | Kaz Kylheku | 2010-01-16 | 1 | -5/+5 | |
| | ||||||
* | Improved wording. | Kaz Kylheku | 2010-01-16 | 1 | -58/+80 | |
| | ||||||
* | Restore missing text. | Kaz Kylheku | 2010-01-16 | 1 | -0/+1 | |
| | ||||||
* | Grammar. | Kaz Kylheku | 2010-01-16 | 1 | -4/+4 | |
| | ||||||
* | Wording. | Kaz Kylheku | 2010-01-16 | 1 | -2/+2 | |
| | ||||||
* | Wrong section type. | Kaz Kylheku | 2010-01-16 | 1 | -1/+1 | |
| | ||||||
* | Describe Kleene and non-greedy behavior more accurately. | Kaz Kylheku | 2010-01-15 | 2 | -6/+13 | |
| | ||||||
* | * txr.1: Get rid of parens from regex operator descriptions. | Kaz Kylheku | 2010-01-15 | 2 | -1/+5 | |
| | | | | | Correct wrong text: all operators can take an empty regex. Clarify escaping rules within a character class. | |||||
* | * txr.1: Get rid of parens from regex operator descriptions. | Kaz Kylheku | 2010-01-15 | 2 | -4/+6 | |
| | | | | Correct wrong text: all operators can take an empty regex. | |||||
* | * txr.1: Get rid of parens from regex operator descriptions. | Kaz Kylheku | 2010-01-15 | 2 | -23/+27 | |
| | ||||||
* | Correction. | Kaz Kylheku | 2010-01-15 | 1 | -1/+1 | |
| | ||||||
* | Clean up junk. | Kaz Kylheku | 2010-01-15 | 1 | -4/+0 | |
| | ||||||
* | * genman.txr, txr.1: Encode version differently; extract | Kaz Kylheku | 2010-01-15 | 3 | -4/+9 | |
| | | | | from text during HTML conversion. | |||||
* | Automate the maintenance of the HTML-ized man page. | Kaz Kylheku | 2010-01-15 | 3 | -0/+94 | |
| | ||||||
* | Automate the maintenance of the HTML-ized man page. | Kaz Kylheku | 2010-01-15 | 0 | -0/+0 | |
| | ||||||
* | Implemented non-greedy operator. | Kaz Kylheku | 2010-01-15 | 7 | -117/+242 | |
| | ||||||
* | * regex.c (reg_derivative_list): Bugfix: wrong algebra, | Kaz Kylheku | 2010-01-15 | 2 | -1/+6 | |
| | | | | taking a double derivative of the first item. | |||||
* | Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/txr | Kaz Kylheku | 2010-01-15 | 2 | -2/+6 | |
|\ | ||||||
| * | * txr.1: Fix accidental edit garbage. | Kaz Kylheku | 2010-01-15 | 2 | -1/+5 | |
| | | ||||||
| * | Changelog fix. | Kaz Kylheku | 2010-01-15 | 1 | -1/+1 | |
| | | ||||||
* | | * txr.1: Fix accidental .b, which should have been .B. | Kaz Kylheku | 2010-01-14 | 2 | -9/+127 | |
|/ | | | | | | Revised description of regex operators. Added section on intersection and complement, which may not be familiar to regex users. | |||||
* | * regex.c (reg_derivative): Bugfix: remove invalid | Kaz Kylheku | 2010-01-14 | 2 | -9/+6 | |
| | | | | algebraic reductions in the derivative for the operator. | |||||
* | Bugfix: allow unescaped / to be used in regex character classes. | Kaz Kylheku | 2010-01-13 | 4 | -7/+36 | |
| | ||||||
* | * parser.y (precedence): bugfix: character classes like this [^*] | Kaz Kylheku | 2010-01-13 | 2 | -1/+7 | |
| | | | | being treated as a non-complemented set of two characters. | |||||
* | Dynamically determine which regex implementation to use: | Kaz Kylheku | 2010-01-13 | 3 | -2/+51 | |
| | | | | | | | NFA or derivatives. The default behavior is NFA, with derivatives used if the regular expression contains uses of complement or intersection. The --dv-regex option forces derivatives always. | |||||
* | * lib.h (c_num): Remove redundant declaration. | Kaz Kylheku | 2010-01-13 | 2 | -2/+5 | |
| | ||||||
* | Impelement derivative-based regular expressions. | Kaz Kylheku | 2010-01-13 | 9 | -282/+627 | |
| | ||||||
* | Remove incorrect implementation of extended | Kaz Kylheku | 2010-01-06 | 2 | -273/+50 | |
| | | | | | regex operations (complement, intersection). The syntax extensions documentation are retained. | |||||
* | Some fine tuning in regex grammar. | Kaz Kylheku | 2010-01-06 | 2 | -2/+14 | |
| | ||||||
* | Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/txr | Kaz Kylheku | 2010-01-05 | 3 | -13/+24 | |
|\ | | | | | | | | | Conflicts: ChangeLog | |||||
| * | * lib.c (make_package, find_package): Eliminate declaration | Kaz Kylheku | 2009-12-17 | 3 | -13/+24 | |
| | | | | | | | | | | | | | | | | in the middle of statement block. * lib.h (TAG_MASK): Becomes type cnum rather than long. (nao): Based off 1 rather than -1 to avoid left shift of negative number. | |||||
* | | Implemented the regular expression ~ and & operators. | Kaz Kylheku | 2010-01-05 | 7 | -51/+372 | |
|/ | | | | | | | | | | | | | | | This turns out to be easy to do in NFA land. The complement of an NFA has exactly the same number and configuration of states and transitions, except that the states have an inverted meaning; and furthermore, failed character transitions are routed to an extra state (which in this impelmentation is permanently allocated and shared by all regexes). The regex & is implemented trivially using DeMorgan's. Also, bugfix: regular expressions like A|B|C are allowed now by the syntax, rather than constituting syntax error. Previously, this would have been entered as (A|B)|C. | |||||
* | Remove unnecessary cast. | Kaz Kylheku | 2009-12-09 | 1 | -1/+1 | |
| | ||||||
* | * parser.l (YYINPUT): Fix signed/unsigned comparison. | Kaz Kylheku | 2009-12-09 | 2 | -2/+7 | |
| | ||||||
* | * hash.c (sethash): New function. | Kaz Kylheku | 2009-12-09 | 5 | -0/+25 | |
| | | | | | | | | * hash.h (sethash): Declared. * lib.c (cobj_handle): New function. * lib.h (cobj_handle): Declared. | |||||
* | All COBJ operations have default implementations now; | Kaz Kylheku | 2009-12-08 | 7 | -43/+95 | |
| | | | | | | no null pointer check over struct cobj_ops operations. New typechecking function for COBJ objects. | |||||
* | More void * to mem_t * conversion. | Kaz Kylheku | 2009-12-05 | 4 | -10/+22 | |
| |