上传者: huono
|
上传时间: 2025-12-28 16:39:42
|
文件大小: 23KB
|
文件类型: DOC
知识点内容:
1. 存储分配策略:编译器在处理程序代码时,会对数据空间进行存储分配,主要采用静态存储分配和动态存储分配两种方案。动态存储分配又可以分为栈式动态存储分配和堆式动态存储分配。
2. 规范规约:指的是最左规约,这种规约是最规范和统一的规约方式。
3. 编译程序的五个阶段:编译程序的工作过程可以划分为五个阶段,分别是词法分析、语法分析、语义分析与中间代码生成、代码优化及目标代码生成。除此之外,还有表格管理和出错处理。
4. 表达式的后缀式:后缀表达式(逆波兰表达式)是一种没有括号,运算符置于操作数之后的数学表达式。例如,对于表达式x+y*z/(a+b),其后缀式为xyz*ab+/+。
5. 文法符号的属性:文法符号有两种属性,分别是综合属性和继承属性。
6. 数组地址的计算:数组元素的地址计算依赖于数组的存放方式,对于按行存放的二维数组a[1..15,1..20],其元素a[i,j]的地址计算公式为a+(i-1)*20+j-1。
7. 局部优化:局部优化是对程序中基本块范围内的优化,这是一种局限于局部范围的优化方式。
8. 词法规则的描述:词法规则通常可以用正规式描述,正规文法和自动机来描述;语法规则通常用2型文法来描述;语义规则通常用属性文法来描述。
9. 规范推导:规范推导是指从左到右的推导过程。
10. 编译过程的五个阶段:编译过程可以分为词法分析、语法分析、语义分析、优化和目标代码生成五个阶段。
11. 二义性文法:如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义性的。
12. 语句的分类:从功能上说,程序语言的语句大体可以分为声明语句和执行语句两大类。
13. 语法分析器的输入输出:语法分析器的输入是词法单元流,输出是语法分析树或其他结构。
14. 扫描器的任务:扫描器的任务是从输入的字符流中识别出一个个词法单元。
15. 符号表:符号表中的信息栏中登记了每个名字的有关性质,例如类型、作用域等。
16. 过程的DISPLAY表:一个过程相应的DISPLAY表的内容包含了过程内使用的局部变量信息等。
17. 最左直接短语:一个句型的最左直接短语称为句型的最左直接短语。
18. 动态存储分配:常用的两种动态存贮分配办法是栈式动态分配和堆式动态分配。
19. 名字的属性:一个名字的属性包括综合属性和继承属性。
20. 参数传递方式:常用的参数传递方式有值传递、引用传递和名传递。
21. 优化的级别:根据优化所涉及的程序范围,可将优化分为局部优化、全局优化和机器相关优化三个级别。
22. 语法分析方法:语法分析的方法大致可分为两类,一类是自顶向下分析法,另一类是自底向上分析法。
23. 预测分析程序:预测分析程序是使用一张预测分析表和一个栈进行联合控制的。
24. 状态转换图:一张转换图只包含有限个状态,其中一个被认为是初始态;而且实际上至少要有一个接受态。
25. 语法规则:语法分析是依据语言的语法规则进行的。中间代码产生是依据语言的语义规则进行的。
26. 文法的类型:对于文法G,仅含终结符号的句型称为终结符串。
27. 自上而下分析法:自上而下分析法是指从最高层的文法符号开始向下进行分析的方法。
28. 语法分析器的输入输出:语法分析器的输入是词法单元流,其输出是语法分析树或其他结构。
29. 局部优化:局限于基本块范围的优化称为局部优化。
30. 预测分析表:预测分析程序是使用一张预测分析表和一个栈进行联合控制的。
重要知识点包括编译过程的各个阶段,存储分配策略,文法属性,优化级别,以及语法分析方法等。这些知识点涵盖了编译原理的核心概念,对于理解编译器的设计和实现至关重要。