编译原理第3章复习
发布时间
阅读量:
阅读量
词法分析方法与实现
词法分析的主要职责是:按照从左到右的顺序,逐字符地对源程序进行扫描,并生成一系列的单词符号。
词法分析器(Lexical Analyzer),亦称扫描器(Scanner),是一种用于执行词法分析功能的程序。其主要作用是接收源程序作为输入,并输出相应的单词符号。
单词符号可以分为以下几类:
- 基本字:例如 begin、repeat 等,
- 标识符:用于表示各类名称,如变量名、数组名以及过程名等,
- 常数:包括各种类型的数值常量,
- 运算符:如 +、-、*、/ 等,
- 界符:如逗号、分号、括号及空白字符等。
在输入源程序后,词法分析器会输出二元组形式的单词符号,即(单词种别,单词自身的值)。例如(保留字,‘const’)、(运算符,‘=’)等。
词法分析器作为独立子程序被语法分析器调用。虽然词法分析是一个独立的处理阶段,但并不单独构成一个完整的编译遍。
-
将其作为独立阶段的优势包括:
- 能够使整个编译程序的结构更加简洁明了且层次分明,
- 有助于集中解决与词法相关的一些细节问题。
-
不将其作为一个独立遍的原因在于:
- 它被设计为一个可供调用的子程序。
在实际运行过程中,词法分析与语法分析是交替进行的。词法分析器通过使用符号表将识别出的单词符号传递给语法分析器;而语法
全部评论 (0)
还没有任何评论哟~
