Don*_*eba 5 c c++ regex parser-generator
有时,为正则表达式搜索提供高度优化的函数会很方便,而不是在运行时包含生成解析器的库.是否有适合这种角色的解析器生成器?
理想情况下,它会:
以下是适合您需求的工具列表:
Lex/Flex可能是用于从正则表达式构造解析器的最着名的工具.Lex在许多场景中都很有用,但它可能会给简单的解析应用程序带来太多的开销,因为重量级的处理循环强加了流"拉"模型和输入缓冲.它旨在解析整个文件而不是简单的字符串.
Re2C.它是一个预处理器,可以从正则表达式生成基于C的识别器.生成的状态机运行速度非常快,可以轻松集成到任何程序中,不依赖于任何程序.
Ragel状态机编译器.另一种从高级常规语言符号生成FSM代码的预处理器(正则表达式是此定义的一种情况).它适用于多种语言(C,C++,Objective-C,D,Java和Ruby),可以对不同的FSM事件执行用户操作等.此外,它可以生成Graphviz格式的状态机定义以实现可视化国家和过渡.