用Pike's VM实现的非回溯正则表达式引擎

Parser之外的部分参考http://swtch.com/~rsc/regexp/regexp2.html ,代码都模仿自http://code.google.com/p/re1/source/browse 。注意到正则表达式是operator-precedence grammar,可以用一个扩展的Shunting-Yard算法来解析,其中用了一些特殊构造处理后缀操作符和括号。

实现

github上

推荐阅读

Parsing Expressions by Recursive Descent