- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 实验报告的书写要求(3) 设计第一个测试用例,它是一个正确的源语言程序,给出用你的编译程序进行编译后的结果。 设计第二、三个测试用例,它们都是不正确的源语言程序,给出用你的编译程序进行编译后的结果。 设计测试用例,应考虑尽可能多的展示你的编译程序能处理的情况。 * 实验报告的书写要求(4) 两人一组,设组长,负责标明每人所作具体工作及个人工作量(占工作总量的比例,如50%、60%、30%...) 每个人报告中还必须有不少于400字的工作总结。 -完- * 编译原理课程设计 —一个小型编译器的设计 * 实验要求 对PL/0语言或自编语言(如C-子集)完成:(必做部分) 1.词法分析 2.语法分析 3.语义分析 4.中间代码生成(可自己定义中间代码) 完成包含上述功能的编译程序。 选作(二选一) 5.解释程序(对生成的中间代码文件加以解释执行) 6. 由中间代码生成目标代码或省略第4步直接生成目标代码 * 1.PL/0语言的定义 (1)程序? 分程序. (2) 分程序 ? [常量说明部分] [变量说明部分] 〈复合语句〉 (3) 常量说明部分 ?CONST常量定义{,〈常量定义〉}; (4) 常量定义 ? 〈标识符〉=〈无符号整数〉 (5)变量说明部分 ?VAR标识符{,〈标识符〉}; (6)标识符 ?〈字母〉{〈字母〉|〈数字〉} (7)〈语句〉 ?〈赋值语句〉|〈条件语句〉 |〈当型循环语句〉| 重复语句 |〈读语句〉|〈写语句〉|〈复合语句〉 |〈空〉 (8) 〈复合语句〉 ? begin 〈语句〉{; 〈语句〉}end * PL/0语言的定义 (9)〈赋值语句〉?〈标识符〉:=〈表达式〉 (10)〈条件语句?IF条件THEN语句[ELSE语句] (11)〈条件〉 ?〈表达式〉〈关系运算符〉 〈表达式〉| NOT 〈表达式〉 (12) 〈当型循环语句〉 ?WHILE条件DO语句 (13)重复语句?REPEAT语句{;语句} UNTIL条件 (14) 〈读语句〉 ?READ ‘(’ 标识符{,〈标识符〉} ‘)’ ; (15)写语句〉 ?WRITE ‘(’ 表达式{,〈表达式〉} ‘)’ ; * PL/0语言的定义 (16)表达式 ?[+|-]〈项〉{〈加法运算符〉〈项〉} (17)项 ?〈因子〉{〈乘法运算符〉〈因子〉} (18)因子 ?〈标识符〉|〈无符号整数〉|‘(’ 表 达式‘)’ (19)加法运算符 ? +|- (20)乘法运算符 ? *|/ (21)关系运算符? =|||=||= (22)〈字母〉 ?a|b|…|x|y|z (23) 数字 ?0|1…|8|9 * Var fact,x; begin read(x); write(x); if x0 then begin fact:=1 repeat fact:=fact*x; x:=x-1 until x=0 end; write(fact) end. PL/0语言样例 * 2.词法分析器构造(扫描器) Start: getch; While (ch=‘ ‘) do getch ; /*l滤掉无用的空格*/ case char of ’a’..’z’: begin While letter or digit do begin concat; getch end; /连接字符串 c:=reserve; /*查保留字表 */ if c=0 then return($ID,val) else return(c,-) end; * 扫描器(略) ′0′..′9′:begin While digit do begin /*concat 连接字符串*/ concat; getch; end; dtb; Return($INT, val) end; * 扫描器 ′+′,′-′,′*′,′/′,′)′,′=′,′,′,′[′,′]′,′. ′,′; ′: sy:=sps [ch] other {′$′, ′@′, ′?′, ′′, ′^′, ′!′} error (24); END {of case} goto Sta
您可能关注的文档
- 2015-2016学年高中物理第1章第6节自感学案教科版选修3-2解答.doc
- 2015-2016学年高中物理第1章法拉第电磁感应定律、楞次定律的综合应用教科版选修3-2解答.ppt
- 2013年新人教版(2013春)物理第十二章第2节:滑轮解答.doc
- 2013年学业水平考试复习提纲解答.doc
- 2015-2016学年高中物理第1章法拉第电磁感应定律的应用教科版选修3-2解答.ppt
- 2015-2016学年高中物理第2章7闭合电路的欧姆定律新人教版选修3-1解答.ppt
- 2013年中考化学考试预测试卷4解答.doc
- 2013年中考化学框图推断题汇编解答.doc
- 2015-2016学年高中物理第2章8-9多用电表的原理实验:练习使用多用电表新人教版选修3-1解答.ppt
- 2013年中考化学试题分类汇编专题三物质的分离、除杂、提纯与共存解答.doc
- 《GB/T 32879-2025电动汽车更换用电池箱连接器》.pdf
- 中国国家标准 GB/T 21649.2-2025粒度分析 图像分析法 第2部分: 动态图像分析法.pdf
- 中国国家标准 GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定》.pdf
- GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法》.pdf
- GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- 中国国家标准 GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试.pdf
- 《GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试》.pdf
文档评论(0)