进行词法分析的程序被称为词法分析器 / 扫描器(lexer / scaner)
接下来我们将讨论简单的实现它,并讲解一些概念
一 词法分析器的作用
1.必要概念--词法单元(token),模式(pattern),词素(lexeme)
词法单元是由词法单元名和一个可选的属性值组成
模式描述了一个词法单元的词素可能具有的形式
词素是源程序中一个字符序列,它和某个词法单元的模式匹配,是该词法单元的一个实例
它们的关系如下:
综上词法单元是表示程序中单词种类的,模式是描述这些单词种类的,词素是这些单词种类的一个具体实例,它一定可以用模式去匹配
2.词法单元的表示
一般是一个二元组(词法单元名,属性),词法单元属性是一个可选项
例:a = a + 1
(标识符,指向符号表中a条目的指针)
(赋值运算符) //运算符一般不需要属性值

本文探讨了词法分析器的作用和实现,包括词法单元、模式和词素的概念,以及如何通过缓冲区技术和向前看预测分析来识别词素。词法分析是编译过程的第一步,负责将源程序转换成词法单元序列,为语法分析做准备。在实现词法分析器时,使用缓冲区可以提高效率,而向前看算法则有助于确定词法单元的身份。
最低0.47元/天 解锁文章
7389

被折叠的 条评论
为什么被折叠?



