语法分析器

基本作用

  • 从词法分析器获得词法单元的序列,确认该序列是否可以由语言的文法生成

  • 对于语法错误的程序,报告错误信息

  • 对于语法正确的程序,生成语法分析树,简称语法树

通常产生的抽象语法树(AST)

分类

  • 通用的,一些通用语法分析方法可以对任意文法做语法分析,但是效率很低,不能用于编译器产品

  • 非通用的(专用的)

    • 自顶向下的:从顶(根节点)向底部(叶子)构造语法分析树

    • 自底向上的:从叶子逐渐向根节点构造语法分析树

    只能处理某些文法子类,但是已经足够描述现代编程语言的大部分语法

前端的其余部分:将词法单元的信息收集到符号表中、类型检查和其他类型的语义分析、生成中间代码等。

Last updated