Advertisement

编译原理第3章复习

阅读量:

词法分析方法与实现

词法分析的主要职责是:按照从左到右的顺序,逐字符地对源程序进行扫描,并生成一系列的单词符号。

词法分析器(Lexical Analyzer),亦称扫描器(Scanner),是一种用于执行词法分析功能的程序。其主要作用是接收源程序作为输入,并输出相应的单词符号。

单词符号可以分为以下几类:

  • 基本字:例如 begin、repeat 等,
  • 标识符:用于表示各类名称,如变量名、数组名以及过程名等,
  • 常数:包括各种类型的数值常量,
  • 运算符:如 +、-、*、/ 等,
  • 界符:如逗号、分号、括号及空白字符等。

在输入源程序后,词法分析器会输出二元组形式的单词符号,即(单词种别,单词自身的值)。例如(保留字,‘const’)、(运算符,‘=’)等。

词法分析器作为独立子程序被语法分析器调用。虽然词法分析是一个独立的处理阶段,但并不单独构成一个完整的编译遍。

  • 将其作为独立阶段的优势包括:

    • 能够使整个编译程序的结构更加简洁明了且层次分明,
    • 有助于集中解决与词法相关的一些细节问题。
  • 不将其作为一个独立遍的原因在于:

    • 它被设计为一个可供调用的子程序。

在实际运行过程中,词法分析与语法分析是交替进行的。词法分析器通过使用符号表将识别出的单词符号传递给语法分析器;而语法

全部评论 (0)

还没有任何评论哟~