Dervall / Piglet

An easier to use parsing and lexing tool that is configurable in fluent code without a pre-build step.
binarysculpting.com
MIT License
91 stars 11 forks source link

Performance issues when having large charranges in many expressions #46

Closed Dervall closed 11 years ago

Dervall commented 11 years ago

When using exceptionally large character range sets \w in particular, constructing the parser can be quite slow. See if there can be any performance improvements to make here.

The main problem lies in excessive comparison with CharRange that occurs when distinguishing the ranges for DFA construction when minimizing the DFA and constructing the DFA from the NFA.

It's not a runtime problem, only the construction is excessively expensive.