Michael Wayne Goodman

Results 78 issues of Michael Wayne Goodman

A parser is used to read pe grammars, so invalid grammars will raise a `ParseError` just as a valid grammar with bad input: ```pycon >>> pe.match('"a"+', 'b', flags=pe.STRICT|pe.MEMOIZE) # valid...

enhancement

The machine parser, in pure python mode, is currently about 10% slower than the packrat parser on the JSON benchmark. In PyPy, however, the machine parser is roughly twice as...

enhancement

The machine parser is currently working well, except that it doesn't do memoization so it is susceptible to bad performance on some kinds of grammars. Memoization needs to be added.

enhancement

Values are now computed as soon as an expression succeeds, even if that value will later be discarded. Since a parse is inherently a tree, a stack should be able...

enhancement

So far I have not seen a need for left recursion, particularly because **pe** emits values in a flat list. But some people seem to really care about it, so...

enhancement

This sounds like it might be a bad idea, but it could be very useful for an expression or an action to have direct access to the memo for storing...

enhancement

Rules in **pe** are just expressions with actions and they can be embedded in other expressions, but often they are only named expressions in a grammar. The specification, however, anticipates...

enhancement

For a serious user of **pe** in some other package, the startup time to parse and optimize a grammar can become significant, particularly for larger grammars. It would therefore be...

enhancement

Being able to ignore whitespace when parsing without explicitly putting it in the grammar can make the grammars much shorter and easier to write and comprehend (assuming one understands the...

enhancement

Add an operator that computes the first character of each alternative of a Choice and then does an immediate jump when one is unambiguous. E.g., ``` A "abc" 'x' >>...

enhancement