Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 正则表达式解析器生成器_C++_C_Regex_Parser Generator - Fatal编程技术网

C++ 正则表达式解析器生成器

C++ 正则表达式解析器生成器,c++,c,regex,parser-generator,C++,C,Regex,Parser Generator,有时,为正则表达式搜索提供一个高度优化的函数,而不是在运行时包含一个生成解析器的库,会很方便。有适合这样一个角色的解析器生成器吗 理想情况下,它将: 创建一个C函数 生成与给定正则表达式对应的DFA 在简单的情况下,与KMP或Boyer Moore一样高效 Lex和都是有效的regexp-to-C编译器。这是怎么回事: 此处还提到:以下是所有适合您需要的工具列表: Lex/可能是从正则表达式构造解析器的最著名工具。Lex在许多场景中都很有用,但对于简单的解析应用程序来说,它可能会带来太多的开

有时,为正则表达式搜索提供一个高度优化的函数,而不是在运行时包含一个生成解析器的库,会很方便。有适合这样一个角色的解析器生成器吗

理想情况下,它将:

  • 创建一个C函数
  • 生成与给定正则表达式对应的DFA
  • 在简单的情况下,与KMP或Boyer Moore一样高效
Lex和都是有效的regexp-to-C编译器。

这是怎么回事:


此处还提到:

以下是所有适合您需要的工具列表:

  • Lex/可能是从正则表达式构造解析器的最著名工具。Lex在许多场景中都很有用,但对于简单的解析应用程序来说,它可能会带来太多的开销,因为重量级处理循环强加了流“拉”模型和输入缓冲。它被设计用来解析整个文件,而不是简单的字符串

  • 。它是从正则表达式生成基于C的识别器的预处理器。生成的状态机运行速度非常快,并且可以轻松地集成到任何程序中,无依赖性

  • 。另一个从高级正则语言表示法(正则表达式是此定义的一种情况)生成FSM代码的预处理器。它适用于多种语言(C,C++,Objul-C,D,java和Ruby),可以在不同的FSM事件上执行用户操作,并且可以生成图形化的状态机定义,用于状态和转换的可视化。
    不知怎的,我认为他们是唯一的象征者。