【编译原理】第一章引论
程序员文章站
2022-04-26 13:32:25
...
1.1语言处理器
- 编译器:将源语言翻译成目标语言。
- 解释器: 直接利用用户提供的输入执行源程序中指定的操作。
1.2一个编译器的结构
- 由两个部分组成:分析部分和综合部分。
- 分析部分:把源程序分解成多个组成部分,并在这些要素之上加上语法结构。程序语法出错在这个阶段检测并反馈。产生符号表,并将符号表和中间表示形式一起传送给综合部分。
- 综合部分:根据前段传回来的信息构造目标程序。
- 通常分析部分称为编译器的前段,综合部分称为编译器的后端。
- 一个编译器的各个步骤图示:
- 词法分析器产生如下的词法单元:
<token-name, attribute-value>
- 语法分析产生语法树。
- 语义分析检查是否符合目标语言的语法规范。
- 中间代码生成:三地址代码。
- 三地址码注意事项:①每个三地址赋值指令的右端最多只有1个运算符。
②编译器应生成一个临时名字,以存放一个三地址指令计算得到的值。
③有些三地址指令的运算分量少于三个。
- 三地址码注意事项:①每个三地址赋值指令的右端最多只有1个运算符。
上一篇: Java通过SMS短信平台实现发短信功能
下一篇: 数据结构之第一章 引论 及 课后题答案