summaryrefslogtreecommitdiffstats
path: root/parser.y
Commit message (Collapse)AuthorAgeFilesLines
...
* * match.c, parser.y: Support for old output syntax removed.Kaz Kylheku2011-09-231-2/+3
| | | | | | Leading :nothrow with trailing material is an error now. * txr.1: Updated. Made note of errors in pipes being asynchronous.
* Bump copyrights to 2010.Kaz Kylheku2010-10-051-1/+1
|
* More regex grammar work.Kaz Kylheku2010-01-191-1/+2
|
* Whitespace.Kaz Kylheku2010-01-191-1/+1
|
* Resolving parser conflicts.Kaz Kylheku2010-01-191-17/+20
|
* * parser.y (regterm, regclass): Relocate handlingKaz Kylheku2010-01-171-3/+3
| | | | of empty [] into regterm, via empty derivation.
* Regex syntactic tweaks: support the [] syntaxKaz Kylheku2010-01-161-0/+2
| | | | | to match no character and [^] as its complement, being synonymous with the wildcard dot.
* Implemented non-greedy operator.Kaz Kylheku2010-01-151-2/+6
|
* Bugfix: allow unescaped / to be used in regex character classes.Kaz Kylheku2010-01-131-2/+4
|
* * parser.y (precedence): bugfix: character classes like this [^*]Kaz Kylheku2010-01-131-1/+2
| | | | being treated as a non-complemented set of two characters.
* Impelement derivative-based regular expressions.Kaz Kylheku2010-01-131-7/+7
|
* Some fine tuning in regex grammar.Kaz Kylheku2010-01-061-2/+2
|
* Implemented the regular expression ~ and & operators.Kaz Kylheku2010-01-051-2/+6
| | | | | | | | | | | | | | | 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.
* * parser.y (grammar): Fixes for bison 2.4.1. Remove superfluous actionKaz Kylheku2009-11-261-2/+1
| | | | in chrlit. Include <stdlib.h> for abort.
* Fix a build breakage that may happen on some platforms.Kaz Kylheku2009-11-251-0/+2
| | | | | | | | | The parser.y file includes "utf8.h", which uses the the type wint_t. It also includes "lib.h" which uses "wchar_t". But it fails to include any headers which define these types. The generated y.tab.c picks up wchar_t by the Bison-inserted inclusion of <stdlib.h>, so that's how we got that. But wint_t does not come from any of the headers---if they are standard-conforming.
* Fixed broken yyerrorf. It was still taking char *, and passingKaz Kylheku2009-11-241-32/+39
| | | | | that as an object to vformat, resulting in #<garbage: ...> output.
* Renaming global variables that denote symbols, such that theyKaz Kylheku2009-11-241-52/+53
| | | | have a _s suffix.
* Improving portability. It is no longer assumed that pointersKaz Kylheku2009-11-231-1/+2
| | | | | | | | can be converted to a type long and vice versa. The configure script tries to detect the appropriate type to use. Also, some run-time checking is performed in the streams module to detect which conversions specifier strings to use for printing numbers.
* Introducing symbol packages. Internal symbols are now inKaz Kylheku2009-11-211-12/+14
| | | | | | | | | | a system package instead of being hacked with the $ prefix. Keyword symbols are provided. In the matcher, evaluation is tightened up. Keywords, nil and t are not bindeable, and errors are thrown if attempts are made to bind them. Destructuring in dest_bind is strict in the number of items. String streams are exploited to print bindings to objects that are not strings or characters. Numerous bugfixes.
* * parser.y (grammar): Fix error actions that do not assignKaz Kylheku2009-11-201-12/+23
| | | | a value to $$.
* Changing ``obj_t *'' occurences to a ``val'' typedef. (Ideally,Kaz Kylheku2009-11-201-22/+22
| | | | | we wouldn't have to declare object variables at all, so why use an obtuse syntax to do so?)
* Big conversion to wide characters and UTF-8 support.Kaz Kylheku2009-11-111-2/+3
| | | | | | | | | This is incomplete. There are too many dependencies on wide character support from the C stream I/O library, and implicit use of some encoding which may not be UTF-8. The regex code does not handle wide characters properly. Character type is still int in some places, rather than wchar_t. Test suite passes though.
* Start of implementation for freestyle matching.Kaz Kylheku2009-11-021-14/+23
| | | | | | | | | | | Lazy strings implemented, incompletely. Changed string function to implicitly strdup; non-strdup version changed to string_own. Fixed wrong uses of strdup rather than chk_strdup. Functions added to regex module to provide regex matching as a state machine to which characters are fed.
* txr-016 2009-10-16txr-016Kaz Kylheku2017-07-311-13/+28
|
* txr-015 2009-10-15txr-015Kaz Kylheku2017-07-311-0/+593