flex 规范参考
概述
Flex 是扫描器(scanner)生成工具,在编译器开发中,则可以作为词法分析器。Flex 通过正则表达式和部分C代码片段对输入文本进行扫描和匹配,并可以输出 Token 流。这些 Token 流可以作为下一级工具(如语法分析工具 Bison)的输入。
Flex 是由ratfor语言写成的lex工具演化而来的,被命名为 “Flex”,意为 “快速词法分析器生成程序”(Fast Lexical Analyzer Generator)。
结构规范
flex 程序由三部分构成:定义部分、规则部分和用户子例程(subroutine):
1 | %{ |