欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【编译原理】第一章引论

程序员文章站 2022-04-26 13:32:25
...

1.1语言处理器

  • 编译器:将源语言翻译成目标语言。
  • 解释器: 直接利用用户提供的输入执行源程序中指定的操作。
    【编译原理】第一章引论【编译原理】第一章引论
    【编译原理】第一章引论

1.2一个编译器的结构

  • 由两个部分组成:分析部分和综合部分。
    • 分析部分:把源程序分解成多个组成部分,并在这些要素之上加上语法结构。程序语法出错在这个阶段检测并反馈。产生符号表,并将符号表和中间表示形式一起传送给综合部分。
    • 综合部分:根据前段传回来的信息构造目标程序。
    • 通常分析部分称为编译器的前段,综合部分称为编译器的后端。
  • 一个编译器的各个步骤图示:
    【编译原理】第一章引论
  • 词法分析器产生如下的词法单元:
<token-name, attribute-value>
  • 语法分析产生语法树。
  • 语义分析检查是否符合目标语言的语法规范。
  • 中间代码生成:三地址代码。
    • 三地址码注意事项:①每个三地址赋值指令的右端最多只有1个运算符。
      ②编译器应生成一个临时名字,以存放一个三地址指令计算得到的值。
      ③有些三地址指令的运算分量少于三个。