flex与bison

记录一些个人认为有用的东西

lex程序包含三个部分

声明

%%

翻译规则

%%

辅助过程

在声明过程中 %{ 和 }%之间的部分会被照抄到生成的C语言开头部分。

翻译规则:

  模式处在每一行的开头,接着是匹配时执行的C代码,使用{}括住。(模式必须在行首出现,以空白开始的行都会被照抄)

  yytext总是指向本次匹配的输入文本。

模式举例

  [A-Za-z]+   用来匹配一个单词,方括号表示为字符类,+表示匹配一个或多个该类。

  .       点号表示任意一个字符。

  [^ \t\n]+    在字符类开始部分的符号^是指匹配任意一个不在字符类里面的字符。

  “+”      一般用来表示匹配某个特定字符或字符串。

猜你喜欢

转载自www.cnblogs.com/wshr007/p/10932031.html
今日推荐