2022年编译实验讲义.docx





《2022年编译实验讲义.docx》由会员分享,可在线阅读,更多相关《2022年编译实验讲义.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用编译原理课程设计讲义黑龙江高校软件学院名师归纳总结 - - - - - - -第 1 页,共 14 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用编译原理课程设计讲义“ 编译原理” 课程是运算机专业中一门重要的专业理论课,是一门理论 性和实践性都很强的课程;为协作编译原理课程的教案,培育同学 的实际工作才能,加深对课堂教案内容的懂得,通过设计一个小型编译 器,更深刻地领悟其基本概念、基本工作原理和实现方法,从而具有初 步开发系统软件和应用软件的实际才能,特开设此课程设计;二、课程设计的题
2、目 用高级程序设计语言实现小型编译器的设计与实现;三、课程设计的主要内容 通过小型编译器的设计与实现,使同学系统地把握编译程序的总体结 构以及词法分析程序、语法分析程序、语义分析程序、代码生成程序;把握结构化设计方法;明白大型软件的设计技术;四、课程设计的详细内容和要求 1 把握 PL/0 2 把握形式语言与自动机的概念,能构造识别相应符号串的自动机;3 把握编译程序的词法分析程序的构造,能改编 序和词法分析程序;4 把握编译程序中语法分析程序的构造,能改编 和语法分析程序;PL/O 编译程序的总控程PL/O 编译程序总控程序5 把握 LL1 、 LR、算符优先等语法分析技术,构造相应的语法分
3、析程67 把握语法制导生成四元式的算法,并构造将表达式翻译成四元式程序8 把握编译程序的代码生成程序,并改编PL/0的总控掌握和代码生成程序;名师归纳总结 - - - - - - -第 2 页,共 14 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用本课程在词法分析阶段、语法分析阶段、语义分析及代码生成阶段均安排了上机实践的内容,按以下的基本实践内容的要求改编总控程序和相同学在对 PL O 语言某一扫描的分析程序或主程序进行修改或护充时,必需储存完整的源程序正本,只需在相应源文件副本上进行修改;然后再重新对修改的程序进行编译,得到新的源文件和新的可执行文件,并用
4、来编译用户编制的含有增加或修改成分的新源程序;试验一 用 PLO名师归纳总结 - - - - - - -第 3 页,共 14 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 一试验目的:1 TURBO PASCAL2 PASCAL3 PLO 二试验内容与步骤1 PL/02 PLO * * * * * * * * * * * * * * * * * * * * * * * * * 3PLO语言编写求31004 将一正数倒置;5 对任意给定的整数,列出其二进制、八进制、十六进制表示形式;67 EBNF描述 PLO语言的程序结构及构成规章;注:PL/0 语言程序编译器
5、汇编语言程序自行定义的源语言)试验目的:名师归纳总结 - - - - - - -第 4 页,共 14 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用1 2 3 4 二12高级语言编写程序:该程序能接受全部的常数 整数和定点小数3PL/0 的全部保留字;4 用高级语言编写程序:该程序能接受 三有关说明:1 C2试验三 一PL/0 的全部界符、运算符;名师归纳总结 - - - - - - -第 5 页,共 14 页精选学习资料 - - - - - - - - - 1PLO个人资料整理仅限学习使用2 PLO3 PLO4 二1可将全部标识符归为一类;将常数归为另一类:保
6、留字、界符、运算符符就可实行一词一类;2可事先建立一保留字表,以备识别保留字时进行查询;变量名表及常数表就在词法分3所输出的每一单词,均按形如 数, CLASS字段为相应的类别码,CLASS, VALUE的二元式编码;对于变量标识符和常 VALUE字段是该标识符、常数在其符号表中登记项的序号 要求在变量名表登记项中存放该标识符的字符串,其最大长度为四个字符;常数表登记项中就存放该常数 整数 的二进制形式 ;对于保留字、界符和运算符,由于采纳一词一类的编码方式,所以仅需在二元式的 CLASS字段上放置相应的单词的类别码,VALUE字段就为“ 空” ; 或:为便于查看由词法分析程序输出的单词串也可
7、以在 号串本身 4 三有关说明:1 PLOCLASS字段上放置单词符2PL O的编译程序中的词法分析程序,使之能识别含repeat 语句的程序;试验四表达式 一名师归纳总结 - - - - - - -第 6 页,共 14 页精选学习资料 - - - - - - - - - 1PLO个人资料整理仅限学习使用2 分别把握 LL1 、算符优先、 LR 二试验内容及步骤程序;算符优先矩阵 或 LL1 矩阵或 SLR1矩阵 ,并编制语法分析例如:给定文法 G1 ET E E 1 +TE 11 TFT T 1 *FT 1 Fi E1 先构造其 SELECT集合,判定其是否为 LL1 文法;2 是就构造其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 编译 实验 讲义

限制150内