regexp-tree icon indicating copy to clipboard operation
regexp-tree copied to clipboard

[NFA/DFA] Implement transforms for syntactic sugar

Open DmitrySoshnikov opened this issue 7 years ago • 0 comments

NFA/DFA interpreter supports basic building blocks, such as Kleene-closure: a*. We should transform several constructs which are syntactic sugar to their basic representation, so the interpreter can handle them:

  • ~a+ -> aa*~ (done in https://github.com/DmitrySoshnikov/regexp-tree/commit/aa0e12cf3b8e7164c6ed6dd237d7871b81dba246)
  • [a-z] -> a|b|c|d ... |z, same for [A-Z], same for [0-9], and other char classes
  • support groups in the generator
  • etc.

Transforms live in src/interpreter/finite-automaton/transforms.

DmitrySoshnikov avatar Oct 19 '17 22:10 DmitrySoshnikov