flex
https://www.bilibili.com/video/BV1KF411h7M7
Flex
Flex 是一个快速词法分析器生成器,支持通过正则表达式对词法单元进行描述。
Flex 源程序以后缀.y结尾。
Flex 将输入的模式转换成一个状态转移图,并生成相应的代码。代码核心是yylex()函数,存放到lex.yy.c文件中。
Flex 源程序结构
Flex 源程序的结构一般如下:
声明部分
%%
转换规则
%%
辅助函数
声明部分 包含了 名称声明 和 选项设置。
在该部分中%{
和 %}
之间的内容会被原样复制到生成的C文件的开头,可以编写任意的C代码,实际使用中通常是放置一些 头文件以及注释
在 转换规则 部分,每个规则都由两部分组成:模式 和 动作。中间由空白隔开,当程序识别到某个模式时,就会执行相应的动作。