如何用flex+bison写语法分析器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用flex+bison写语法分析器相关的知识,希望对你有一定的参考价值。
参考技术A flex (fast lexical analyser generator) 是 Lex 的另一个替代品。它经常和自由软件 Bison语法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用 C语言 写成。 Flex 手册里对 Flex 描述如下: “flex是一个生成扫描器的工具,能够识别文本中的词法模式。flex读入给定的输入文件,如果没有给定文件名的话,则从标准输入读取,从而获得一个关于需要生成的扫描器的描述。此描述叫做 规则,由正则表达式和 C代码对组成。flex 的输出是一个 C 代码文件——lex.yy.c——其中定义了 yylex() 函数。编译输出文件并且和 -lfl库链接生成一个可执行文件。当运行可执行文件的时候,它分析输入文件,为每一个正则表达式寻找匹配。当发现一个匹配时,它执行与此正则表达式相关的 C代码。” 一个相似的,用 C++语言 的词法分析器生成器是 flex++,包含在 flex 软件包里。 Flex 不是 GNU 工程,但是 GNU 为 Flex 写了手册。本回答被提问者采纳以上是关于如何用flex+bison写语法分析器的主要内容,如果未能解决你的问题,请参考以下文章