Lex是Lexical Analyzer Generator(取前三个字母)的缩写,是Unix环境下非常著名的工具,主要功能是生成一个词法分析器(scanner)的C源码,描述规则采用正则表达式(regular expression)。
描述词法分析器的文件*.l,经过lex编译后,生成一个lex.yy.c 的文件,然后由C编译器编译生成一个词法分析器。词法分析器,简单来说,其任务就是将输入的各种符号,转化成相应的标识符(token),转化后的标识符 很容易被后续阶段处理。
它被设计用来对输入字符流进行词法处理。它接受一种高级的、面向问题的说明书,并用它匹配字符串中的字符、生成能够识别正则表达式的程序。
扩展资料:
警告和缺陷
有一些病态的表达式会使由表格转化的确定的自动机成指数增长;幸运的是,这样的情况很少见。
REJECT没有重复扫描输入;而是记住先前扫描的结果。这意味着如果一条规则需要回退发现的上下文,并且REJECT被执行了,用户将不能使用unput来改变输入流中的后续字符。这是对用户操作后续输入的唯一限制。
标签:lex
版权声明:文章由 去回答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.quhuida.com/article/133556.html