编译原理知识点(1)

编译程序的工作过程:词法分析,语法分析,语义分析与中间代码生成,优化,目标代码生成

除上述五个模块,一个完整的编译程序还应包括表格管理,出错处理两部分

  • 表格管理

符号表:登记源程序中出现的每个名字以及名字的各种属性,编译各阶段都涉及到构造,查找或更新有关的表格

  • 语法二义性

对于一个句型有一个唯一的最左(最右)推导,若存在一个句子对应两颗不同的语法树,则该文法存在二义性

  • 描述程序语言的上下文无关文法限制

文法中不含任何下面形式的产生式:P->P

每个非终结符必须有用处,必须存在含有P的句型

  • 单词种类

关键字,标识符,常数,运算符,界符

  • 词法分析器功能

输入源程序,输出单词符号

  • 词类编码原则

界符和运算符:一符一码

关键字可分成一类

常数可归同一类

所有标识符分为一类

标识符的单词属性常用其在符号表中的入口指针来表示

你可能感兴趣的:(编译原理)