Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Version 034.txr-034 | Kaz Kylheku | 2010-02-28 | 1 | -0/+12 | |
| | ||||||
* | More testcases. | Kaz Kylheku | 2010-02-28 | 1 | -1/+5 | |
| | ||||||
* | New testcase for freeform. | Kaz Kylheku | 2010-02-28 | 1 | -0/+13 | |
| | ||||||
* | * lib.c (length_str_gt, length_str_ge, length_str_lt, length_str_le): | Kaz Kylheku | 2010-02-28 | 1 | -0/+5 | |
| | | | | Added missing support for literal string type. | |||||
* | * lib.c (search_str): Bugfix for empty haystack case: checks for end | Kaz Kylheku | 2010-02-27 | 1 | -0/+6 | |
| | | | | | of string must use postincrement on the index, otherwise the access goes past the null terminator. | |||||
* | * match.c (match_lines): Bugfix in freeform directive. | Kaz Kylheku | 2010-02-27 | 1 | -0/+11 | |
| | | | | | | | | | | If the virtual line is partially matched, the remainder of the line is folded back into list form. In this case, the data line number must be incremented. Otherwise the calling context may conclude that no progress was made, and skip a line of input. I.e. the unmatched part of the input is a new line, even if there had originally been no line break at that point. | |||||
* | * lib.h (split_str_sep): Declared. | Kaz Kylheku | 2010-02-27 | 1 | -0/+11 | |
| | | | | | | | | | * lib.c (split_str_sep): New function. (split_str): Semantics changed; the second argument is not a set of separator characters (like in split_str_sep) but rather a separator string. Fixed bug: if the input string is empty, the output list is empty. This caused infinite looping behavior in @(freeform). | |||||
* | * lib.c (init_str): Bugfix: copy only len characters, not len + 1, so | Kaz Kylheku | 2010-02-24 | 1 | -0/+7 | |
| | | | | | | that we don't clobber the null terminator in the target string, or try read past the end of the source data. This affects the @(freeform) directive. | |||||
* | Version 033. | Kaz Kylheku | 2010-01-26 | 1 | -0/+13 | |
| | ||||||
* | Restoring missing ChangeLog entry. | Kaz Kylheku | 2010-01-26 | 1 | -1/+14 | |
| | ||||||
* | hash.c (hash_process_weak): There is no point in fixing up | Kaz Kylheku | 2010-01-26 | 1 | -0/+7 | |
| | | | | | | the type codes of spuriously reached nodes; reached objects will not be removed by weak processing and so it's better to just detect those situations and short-circuit. | |||||
* | Optimization in derivative-based regex engine. | Kaz Kylheku | 2010-01-26 | 1 | -0/+18 | |
| | | | | | | | | Exponential memory consumption behavior was observed when matching the input aaaaaa.... against the regex a?a?a?a?....aaaa.... The fix is to eliminate common subexpressions from the derivative for the or operator. | |||||
* | Version 032. | Kaz Kylheku | 2010-01-25 | 1 | -0/+15 | |
| | ||||||
* | Version 031.txr-031 | Kaz Kylheku | 2010-01-25 | 1 | -0/+14 | |
| | ||||||
* | Fix screwup in previous change: value treated as a cons | Kaz Kylheku | 2010-01-25 | 1 | -1/+1 | |
| | | | | in a code path where it sometimes isn't. | |||||
* | * match.c (match_files): Workaround for GC issue | Kaz Kylheku | 2010-01-24 | 1 | -0/+8 | |
| | | | | | | | discovered on Red Hat EL 4 with gcc 3.4.3. In the collect loop, set car(success) to nil. Somehow the generated code hangs on to the last matching position for a regex, preventing GC. | |||||
* | * stream.c (vformat_num): Fix bad width calculation. | Kaz Kylheku | 2010-01-24 | 1 | -0/+4 | |
| | ||||||
* | Fix for unbounded memory growth problem reproduced with GCC 4.4.1 | Kaz Kylheku | 2010-01-21 | 1 | -0/+14 | |
| | | | | | | on 32 bit x86 Fedora. This happens because the lazy list variable ``data'' in the match_files function is optimized to a register, but a stale value of that variable persists in the backing storage. | |||||
* | * match.c (match_files): Reduce scope, and bogus use of, dataline | Kaz Kylheku | 2010-01-21 | 1 | -0/+5 | |
| | | | | variable. | |||||
* | Version 030.txr-030 | Kaz Kylheku | 2010-01-19 | 1 | -0/+14 | |
| | ||||||
* | More regex grammar work. | Kaz Kylheku | 2010-01-19 | 1 | -0/+11 | |
| | ||||||
* | Resolving parser conflicts. | Kaz Kylheku | 2010-01-19 | 1 | -0/+16 | |
| | ||||||
* | Version 029. | Kaz Kylheku | 2010-01-18 | 1 | -3/+19 | |
| | ||||||
* | * regex.c (reg_derivative_list, reg_derivative): Recognition | Kaz Kylheku | 2010-01-18 | 1 | -0/+10 | |
| | | | | | | | | | 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 | 1 | -0/+15 | |
| | | | | | | | | 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''. | |||||
* | * parser.y (regterm, regclass): Relocate handling | Kaz Kylheku | 2010-01-17 | 1 | -0/+5 | |
| | | | | of empty [] into regterm, via empty derivation. | |||||
* | Regex syntactic tweaks: support the [] syntax | Kaz Kylheku | 2010-01-16 | 1 | -0/+10 | |
| | | | | | to match no character and [^] as its complement, being synonymous with the wildcard dot. | |||||
* | Version 028. | Kaz Kylheku | 2010-01-16 | 1 | -0/+20 | |
| | ||||||
* | Describe Kleene and non-greedy behavior more accurately. | Kaz Kylheku | 2010-01-15 | 1 | -0/+1 | |
| | ||||||
* | * txr.1: Get rid of parens from regex operator descriptions. | Kaz Kylheku | 2010-01-15 | 1 | -0/+1 | |
| | | | | | 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 | 1 | -0/+1 | |
| | | | | 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 | 1 | -0/+4 | |
| | ||||||
* | * genman.txr, txr.1: Encode version differently; extract | Kaz Kylheku | 2010-01-15 | 1 | -0/+5 | |
| | | | | from text during HTML conversion. | |||||
* | Automate the maintenance of the HTML-ized man page. | Kaz Kylheku | 2010-01-15 | 1 | -0/+9 | |
| | ||||||
* | Implemented non-greedy operator. | Kaz Kylheku | 2010-01-15 | 1 | -0/+24 | |
| | ||||||
* | * regex.c (reg_derivative_list): Bugfix: wrong algebra, | Kaz Kylheku | 2010-01-15 | 1 | -0/+5 | |
| | | | | 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 | 1 | -1/+5 | |
|\ | ||||||
| * | * txr.1: Fix accidental edit garbage. | Kaz Kylheku | 2010-01-15 | 1 | -0/+4 | |
| | | ||||||
| * | 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 | 1 | -0/+7 | |
|/ | | | | | | 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 | 1 | -0/+5 | |
| | | | | algebraic reductions in the derivative for the operator. | |||||
* | Bugfix: allow unescaped / to be used in regex character classes. | Kaz Kylheku | 2010-01-13 | 1 | -0/+22 | |
| | ||||||
* | * parser.y (precedence): bugfix: character classes like this [^*] | Kaz Kylheku | 2010-01-13 | 1 | -0/+5 | |
| | | | | being treated as a non-complemented set of two characters. | |||||
* | Dynamically determine which regex implementation to use: | Kaz Kylheku | 2010-01-13 | 1 | -0/+17 | |
| | | | | | | | 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 | 1 | -0/+4 | |
| | ||||||
* | Impelement derivative-based regular expressions. | Kaz Kylheku | 2010-01-13 | 1 | -0/+53 | |
| | ||||||
* | Remove incorrect implementation of extended | Kaz Kylheku | 2010-01-06 | 1 | -0/+18 | |
| | | | | | regex operations (complement, intersection). The syntax extensions documentation are retained. | |||||
* | Some fine tuning in regex grammar. | Kaz Kylheku | 2010-01-06 | 1 | -0/+12 | |
| | ||||||
* | Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/txr | Kaz Kylheku | 2010-01-05 | 1 | -0/+9 | |
|\ | | | | | | | | | Conflicts: ChangeLog | |||||
| * | * lib.c (make_package, find_package): Eliminate declaration | Kaz Kylheku | 2009-12-17 | 1 | -0/+9 | |
| | | | | | | | | | | | | | | | | 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. |