编译实验讲义.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》课程设计讲义 黑龙江大学软件学院 《编译原理》课程设计讲义 一、开设本课程设计的目的 “编译原理”课程是计算机专业中一门重要的专业理论课,是一门理论 性和实践性都很强的课程。为配合《编译原理》课程的教案,培养学生 的实际工作能力,加深对课堂教案内容的理解,通过设计一个小型编译 器,更深刻地领会其基本概念、基本工作原理和实现方法,从而具有初 步开发系统软件和应用软件的实际能力,特开设此课程设计。 二、 课程设计的题目 用高级程序设计语言实现《小型编译器的设计与实现》。 三、 课程设计的主要内容 通过小型编译器的设计与实现,使学生系统地掌握编译程序的总体结 构以及词法分析程序、语法分析程序、语义分析程序、代码生成程序; 掌握结构化设计方法;了解大型软件的设计技术。 四、 课程设计的具体内容和要求 1掌握PL/O i止諭円丿F旳鉗构疫构成则腐 2掌握形式语言与自动机的概念,能构造识别相应符号串的自动机。 3掌握编译程序的词法分析程序的构造,能改编 PL/O编译程序的总控程 序和词法分析程序。 4掌握编译程序中语法分析程序的构造,能改编 PL/O编译程序总控程序 和语法分析程序。 5掌握LL(1>、LR、算符优先等语法分析技术,构造相应的语法分析程 6竺握屮闭I匸盲的1 :一成尊法?丿i:构茫洛表达式翻译成辿酬p式的觀斥“ 7掌握语法制导生成四元式的算法,并构造将表达式翻译成四元式程序 8掌握编译程序的代码生成程序,并改编 PL/O的总控控制和代码生成程 序。 本课程在词法分析阶段、语法分析阶段、语义分析及代码生成阶段均安 排了上机实践的内容,按以下的基本实践内容的要求改编总控程序和相 应阶段的秤序,达到学以致用的H的■: 学生在对 PL/ O语言某一扫描的分析程序或主程序进行修改或护充时, 必须保存完整的源程序正本,只需在相应源文件副本上进行修改。然后 再重新对修改的程序进行编译,得到新的源文件和新的可执行文件,并 用来编译用户编制的含有增加或修改成分的新源程序。 实验一 用PL/0语言编写用户源程序 (一>实验目的: 1 皿社布TURBO PASCAL浙剤计犒,就订「坏境的雯求。 2熹总PASCAL系約皿基时起紳T类邛即丈川忒 3卞桥PL/O清言涯稈序山祜构及构成班肌 (二 >实验内容与步骤 .用PL/0干占潴歸杵厅:莊立和応|n|||-..<iiT .用PL/O于占肚写湖口苛沖』订IK辛 3 .用PL/O语言编写求3?100 ZDS邮衮粒闾和礼 4将一正数倒置。 对任意给定的整数,列出其二进制、八进制、十六进制表示形式。 深刻口禅涼桿庁、丨|标桿庁、鈿巴阳辛询压念. 用EBNF描述PL/O语言的程序结构及构成规则。 注: 实验二构造识别符号串的自动机 1宰鹿.收汗匕加加雳嘅念 了評冃.匚找匸川3削〕亦卓 蚀匚竝创和应m坤的*冋. 住衙适农拐折殍庁所■■川比的各类冃诃的n门j机 (二>攵验步骡及内粹: 川局级话言鋼q稈序:汐稈用莖瞼灶汙IH标讯符。 .用高级语言编写程序:该程序能接受所有的常数 (整数和定点小数>: 川肯怨语齐汩打稈厅::说存序能克嗖-PL/O的所有保留字。 4用高级语言编写程序:该程序能接受 PL/0的所有界符、运算符。 (三〉有关说明: 1件级阴悟常心巴圧C予ri叽凡 2 以上各相河拱:昭毡対|皓总⑺;能耸比搂论=3勺识别伯 实验三 词法分析程序的构造 1卞桥PL70编译枉丘hi丈用”仏 2卞用pl/0编译样讥低姑均 3卞桥PL/0編!时二厅W iP丄分折稈疗 4 该液门腔桿,讨1肓法分!泮疗 (二>实验内粹及步骤 1单码勺兮冀: 可将所有标识符归为一类;将常数归为另一类:保留字、界符、运算符符则可采取一 词一类。 2 符巧丢Tj述立 可事先建立一保留字表,以备识别保留字时进行查询。变量名表及常数表则在词法分 析过程中建立。 3单诃半屯愉出疗代: 所输出的每一单词,均按形如 (CLASS, VALUE的二元式编码。对于变量标识符和常 数,CLASS字段为相应的类别码, VALUE字段是该标识符、常数在其符号表中登记项的序号 (要求在变量名表登记项中存放该标识符的字符串,其最大长度为四个字符;常数表登记项 中则存放该常数(整数〉的二进制形式 >。对于保留字、界符和运算符,由于采用一词一类的 编码方式,所以仅需在二元式的 CLASS字段上放置相应的单词的类别码, VALUE字段则为 “空”。(或:为便于查看由词法分析程序输出的单词串也可以在 CLASS字段上放置单词符 号串本身> 堺二述尺法分忙桿斤 (三〉有关说明: 1该応汰朱忙桿庁辱汕别「I pl/0于占I写时代冃卍刊。 2 七」「改編PL/0的编译程序中的词法分析程序,使之能识别含 repeat语句的程序。 实验四 表达式语法分析程序的构造 个人资

文档评论(0)

136****3783 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档