还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第一章
1.编译程序的步骤和任务1)词法分析从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词2)语法分析是在词法分析基础上将单词序列分解成各类语法短语比如程序、语句、表达式等),通过语法分析确定整个输入串是否构成一个语法上正确的程序3)语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息4)中间代码产生将源程序变成一种易于翻译成目标代码的内部表示形式5)代码优化对前阶段生成的中间代码进行变换或改造,使生成的目标代码更为高效6)目标代码生成把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码
1.前端和后端的概念,试问前端通常包括那些阶段,后端包括那些阶段?答前端只依赖于源语言,与目标机无关编译程序的前端通常包括词法分析程序、语法分析程序、语义分析程序、中间代码生成程序及相关的表格管理程序和出错处理程序后端是指编译器中依赖于目标机器的部分只与中间代码有关通常包括目标代码生成程序、代码优化程序以及相关的表格管理程序和出错处理程序遍(PASS对输入文件(源程序或其等价的中间语言程序)从头到尾扫视,完成预定处理的过程一个多遍的编译程序较之一遍的编译程序可能少占内存,逻辑结构可能清晰些,但效率相对可能差点
3.程序的正确与否结构上的语法规则,语义上的语义规则翻译程序汇编,解释,编译
4.解释程序及其与编译程序的比较解释程序功能源程序+初始数据=计算结果解释与编译的区别工作模式这是根本区别,编译把源程序翻译成目标代码,而解释直接得到计算结果,不生成目标代码存储区内容编译方式翻译和执行分开,解释方式翻译和执行同时并允许修改源程序,因此二者存储组织不同效率解释慢于编译,很多语言两种方式都有标识符=表达式第三章文法和语言
1.文法的直观概念一组判定规则在实践中,文法不包含多余产生式
2.文法G定义为四元组(VT,VNSP),其中VT是一个非空有穷终结符号集合;VN是一个非空有穷的非终结符号集合,且VT∩VN=Φ;P是一个产生式的非空有穷集合(注意产生式左部至少含有一个非终结符);...。