特雷克斯 基于衍生产品的正则表达式到DFA编译器 这是一个玩具项目,旨在学习和研究从正则表达式构建DFA的替代方法,该方法使用正则表达式派生而不是NFA作为中间表示。 它使用Immutable.js轻松维护该方法所需的某些不变式(有关更多详细信息,请参见 )。 内容: re.ts :实际正则表达式的工厂函数(该方法需要一些优化以及更多的优化) derivatives.ts :使用正则表达式并返回带有regexp =>字符类映射的Derivatives对象。 dfa.ts :采用正则表达式并递归采用所有可能的字符类的派生以获得DFA。 codegen.ts :采用DFA并生成一个纯函