




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编译实验 任课教师 王晓斌806教研室主楼中338 一 概述1 源语言 扩展MINI PL 简化的Pascal 语言定义见文法 1 不允许标号说明 类型说明和函数说明 2 不允许指针 集合 记录 文件和子界型 3 不允许过程作为参数 4 没有REPEAT CASE WITH和GOTO语句 2 工具语言 Pascal C或其它3 语法分析采用递归下降分析法4 目标代码 P码5 编译程序MINI CP的结构 源程序字符串 pas 词法分析器 语法分析器 语义分析 中间代码生成器 代码优化器 目标代码生成器 二元式序列 dyd 二元式序列 dys 中间代码序列 qud 中间代码序列 qdo 符号表管理程序 出错处理程序 编译程序的结构 P码 二 各阶段的输入输出1 词法分析 词法分析器 源程序 pas 二元式 文本文件 dyd 2 语法分析 语法分析器 dyd dys 同时 产生文本文件 var pro arr 3 语义分析 语义分析器 dys qud 文本文件 同时 产生二进制文件 ooj varfil procfil arrfil 4 优化 优化段 qud ooj qdo 文本文件 同时 产生二进制文件 coj 5 目标代码生成 目标代码生成器 qdo coj obj P码 同时 产生二进制文件proct 变更后的过程名表 pf 目标指令 三 数据结构1 二元式文件 dyd 1 二元式形式 单词符号 种别 长度为16 长度为2 一个空格 2 每行后加一 EOLN 34 3 文件结尾加 EOF 37 2 错误信息文件 err 1 错误信息格式 LINE 行号 错误性质 2 注意 进入每一阶段 首先打开 err 如果无错误 则 err为空 3 dys同 dyd 4 变量表变量名vname char 16 分类vkind 0 1 0 变量 1 形参 变量类型vtype types变量层次vlev int变量在变量表中的位置vadr int 相对第一个变量而言 types ints reals bools chars arrays 5 过程名表过程名proname char 16 层次prolev int直接外层proc char 16 第一个变量的位置firstvar int最后一个变量的位置lastvar int地址proadr int参数个数parnum int第一个参数的位置firstpar int 6 数组名表数组名arrname char 16 基类型 types下界low int上界high int 7 四元式表 oprd op1 op2 result oprd 整数码op1 第一操作数op2 第二操作数result 结果op1 op2 result可用二元组表示 类型 值 地址 8 目标代码 P码参见目标代码 P码 指令表 四 实现难点1 文件名的分解多数文件均和源文件同名 仅扩展名不同 2 词法分析时 注意行尾和文件尾 3 设一个总的变量名表 查 填表时注意嵌套 也可能涉及到过程名表 4 语法错分类 1 缺少符号错 2 符号匹配错 3 符号无定义或重复定义 5 递归下降分析时 必须先消除左递归 6 递归下降分析时 跟踪符号的位置当进入某过程时 其第一个符号必须已经读出 退出该过程时 必须读出该语法成分的右界符 例 G E E E T TT T F FF E i消除左递归 E T E E TE T FT T FT F E i 过程match 匹配单词符号 并读入下一符号变量lookahead 即将处理但尚未处理的符号procedurematch t token beginiflookahead tthenlookahead nexttokenelseerrorend procedureE beginT E end procedureT beginF T end procedureE iflookahead thenbeginmatch T E end procedureT iflookahead thenbeginmatch F T end 7 进行自上而下语法制导翻译时 各过程返回的是指针 五 实验要求1 至少完成词法 语法 语义分析 2 提交 软盘 文档 1 软盘 说明各文件名称 源程序 测试程序 运行结果 2 文档设计思想 总控算法 主要服务子程序算法 总结 心得 收获 建议等 测试程序 PROGRAMEXAM INPUT OUTPUT CONSTM 10 N 99 VARI J INTEGER A ARRAY 1 10 OFREAL PROCEDUREPP X Y INTEGER VARZ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建省福州市少年儿童图书馆招聘3人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025福建南平市山点水园林有限公司招聘及拟进入考前自测高频考点模拟试题有答案详解
- 2025年佳木斯同江市事业单位公开遴选管理人员和专业技术人员73人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年中国充电桌面吸尘器行业市场分析及投资价值评估前景预测报告
- 2025河南新乡事业单位招录203人考前自测高频考点模拟试题及参考答案详解一套
- 社区共享菜园经营服务合同
- 2025年中国不锈钢焊接网片行业市场分析及投资价值评估前景预测报告
- 2025年武汉农村商业银行股份有限公司招聘77人考前自测高频考点模拟试题附答案详解(完整版)
- 2025广东清远市英德市建筑工程检测站有限公司招聘员工1人模拟试卷及答案详解(考点梳理)
- 2025年陕能(庆阳)能源开发有限公司招聘15人考前自测高频考点模拟试题及参考答案详解一套
- 建筑施工职业健康与安全防护指南
- 跨境电商股权分配协议范文
- 2025年深圳中考化学试卷真题(含答案)
- 三甲医院影像科管理制度
- T/CCAS 015-2020水泥助磨剂应用技术规范
- 江苏省南京市2024-2025学年高二物理上学期10月月考试题
- GB/T 320-2025工业用合成盐酸
- 2024年公路水运工程助理试验检测师《水运结构与地基》考前必刷必练题库500题(含真题、必会题)
- 2025年社工招聘考试试题及答案
- 病理检查报告审核制度
- 2024秋季新教材人教版体育与健康一年级上册课件:1我们爱运动
评论
0/150
提交评论