- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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语句的程序。
实验四 表达式语法分析程序的构造
个人资
您可能关注的文档
最近下载
- 基于PLC的地铁自动售票机电气控制部分的设计.doc VIP
- Unit 4 Helping in the community 词汇句型专项训练(含答案解析)人教PEP版2025英语四年级上册.pdf
- 2025年成人高等教育学士学位英语水平考试(成人英语三级)历年参考题库含答案详解.docx VIP
- 青春期女生生理知识.pptx VIP
- Unit 4 Helping in the community 补全对话与短文专项训练(含答案解析)人教PEP版2025英语四年级上册.docx
- 碎纸屑压块机设计.docx VIP
- 一台触摸屏控制多台plc.pdf VIP
- 中医医案——颈椎病(三).docx VIP
- 《空乘旅游英语视听说》课件——In-flight Meals 飞机餐.pdf VIP
- 婴幼儿反复喘息诊治、管理、预防临床实践循证指南(2025).pptx VIP
原创力文档


文档评论(0)