Flex 语法扫描器生成器

openkk 12年前
     <div id="p_fullcontent" class="detail">     <p>flex (fast lexical analyser generator) 是Lex的另一个替代品。它经常和自由软件<a href="/misc/goto?guid=4959500121741193636" target="_blank">Bison</a>(跟YACC兼容的解析器生成器)语法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用C语言写成。</p>     <p>Flex手册里对Flex 描述如下:</p>     <p>“flex 是一个生成扫描器的工具,能够识别文本中的词法模式。flex读入给定的输入文件,如果没有给定文件名的话,则从标准输入读取,从而获得一个关于需要生成 的扫描器的描述。此描述叫做 规则,由正则表达式和 C代码对组成。flex 的输出是一个 C 代码文件——lex.yy.c——其中定义了yylex() 函数。编译输出文件并且和 -lfl库链接生成一个可执行文件。当运行可执行文件的时候,它分析输入文件,为每一个正则表达式寻找匹配。当发现一个匹配时,它执行与此正则表达式相关的C代码。”</p>     <p>一个相似的,用C++语言的词法分析器生成器是flex++,包含在flex 软件包里。</p>     <p>Flex 不是GNU工程,但是GNU为Flex 写了手册。<br /> <br /> </p>     <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1325299557155" target="_blank">http://www.open-open.com/lib/view/home/1325299557155</a></p>    </div>