4 ms·
> REBOL/Red-lang goes more towards "a more pragmatic regular language for pattern recognition" Rebol and Red use embedded PEG parsers, which, by definition, su
by 9214 5y ago
> REBOL/Red-lang goes more towards "a more pragmatic regular language for pattern recognition"
Rebol and Red use embedded PEG parsers, which, by definition, support context-free, and not just regular, languages.
- glangdale 5y agoI'm fascinated by PEG parsers, but I don't know whether they can be implemented in a way that's remotely as performant as even mediocre regular expression implementations, much less tuned SIMD extravaganzas. That would be a stretch goal for me: build a regular expression / automata library that's sufficiently modular to keep some components and drop in more expressive constructs (not necessarily PEGs, but maybe pushdown automata).
- e12e 5y agoNot, sure - but I just came across this in the Nim standard library: http://nim-lang.github.io/Nim/pegs.html http://nim-lang.github.io/Nim/pegs.html > Simple PEG (Parsing expression grammar) matching. Uses no memorization, but uses superoperators and symbol inlining to improve performance. Note: Matching performance is hopefully competitive with optimized regular expression engines.
- glangdale 5y agoI've written a lot of things that are "hopefully competitive" with something else, but generally benchmarking is the ideal. :-) Hard to benchmark PEG vs regex fairly. Not dismissing it out of hand, as I've had many years to observe the weak spots of regex at quite a short distance.