Gelex Limitations PreviousNext

Variable-length trailing contexts

Some trailing context patterns cannot be properly matched and generate warning messages ("dangerous trailing context"). These are patterns where the ending of the first part of the rule matches the beginning of the second part, such as zx*/xy*, where the x* matches the x at the beginning of the trailing context. (Note that the POSIX draft for lex states that the text matched by such patterns is undefined.)

For some trailing context rules, parts which are actually fixed-length are not recognized as such, leading to the above mentioned performance loss. In particular, parts using | or {n} (such as foo{3}) are always considered variable-length.

Matching Null characters

Pattern-matching of Null characters is substantially slower than matching other characters.

Resizing input buffer

The input buffer may be automatically resized when a token is so big that it can hardly fit in the buffer's allocated space. This dynamic resizing of the input buffer might be a bit slow, but all the text matched so far by the current (generally huge) token won't have to be scanned again though.

Reject and full tables

reject cannot be used with the -f (full table) option.


Copyright © 1999, Eric Bezault
mailto:
ericb@gobosoft.com
http:
//www.gobosoft.com
Last Updated: 22 March 1999

HomeTocPreviousNext