编译原理课程设计报告编译器

上传人:博****1 文档编号:483979306 上传时间:2023-06-17 格式:DOC 页数:12 大小:108.01KB
返回 下载 相关 举报
编译原理课程设计报告编译器_第1页
第1页 / 共12页
编译原理课程设计报告编译器_第2页
第2页 / 共12页
编译原理课程设计报告编译器_第3页
第3页 / 共12页
编译原理课程设计报告编译器_第4页
第4页 / 共12页
编译原理课程设计报告编译器_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《编译原理课程设计报告编译器》由会员分享,可在线阅读,更多相关《编译原理课程设计报告编译器(12页珍藏版)》请在金锄头文库上搜索。

1、 编译技术课程设计 实验报告实验名称:编译器程序 姓名: 学号: 班级:年 月 日一、 课设要求模仿上学期给定的程序,根据下面具体的内容,用C+语言对下述文法和单词表定义的语言设计编制一个编译器。设计报告格式撰写报告(1)单词符号及种别表单词符号种别编码单词值main1int 2float3double4char5if 6else 7do8while9l(l|d)*10内部字符串 ( +|-| ) d*(.dd* | )( e ( +|-| ) dd*|) 20二进制数值表示=21+22- 23* 24/ 25(26)272829,30;3132=3334=35=36!=37(2)语法结构定义

2、 := main() := /程序用括号括起来:=;:=|:=ID= /赋值语句用”=”号:=if :=do while := := +|- := *|/ :=ID|num|()num:= ( +|-| ) 数字*(.数字数字* | )( e ( +|-| ) 数字数字*|)ID:=字母(字母|d数字)*字母:=a|b|c|z|A|B|C|Z数字:=0|1|2|9 := |=|=|!=二、 总体设计思想采用递归下降(自上而下)的语法制导翻译法。三、 详细算法设计词法分析程序 语法分析程序 语义分析程序 编译器。不断完善,不断改进。渐变的过程。在此给出算法思想。四、 流程框图图 I 主函数示意图

3、图 II 递归下降分析程序示意图是否为main?调用scanner是否为(?调用scanner是否为)?调用scanner调用语句块分析函数staBlock出错处理否否否图 III 语句块分析示意图是否为 ?调用scanner调用语句串分析函数staString调用scanner是否为 ?出错处理否否图 IV 语句串分析示意图调用语句分析函数sta回溯,调用backpatch是否为 ; ?调用scanner调用语句分析函数sta否出错处理图 V 语句分析示意图调用赋值语句分析函数fuzhi是否为 字符串?是否为 if ?调用条件语句分析函数tiaojian是否为 do ?调用循环语句分析函数x

4、unhuan五、 函数相关说明1. 所有函数一览void scanner(); /扫描void lrparser(); void staBlock(int *nChain); /语句块void staString(int *nChain); /语句串void sta(int *nChain); /语句void fuzhi(); /赋值语句void tiaojian(int *nChain); /条件语句void xunhuan(); /循环语句char* E(); /Expresiion表达式char* T(); /Term项char* F(); /Factor因子char *newTemp(); /自动生成临时变量void backpatch(int p,int t); /回填int merge(int p1,int p2); /合并p1和p2void emit(char *res,char *num1,char *op,char *num2); /生成四元式六、 程序运行结果图 VI 赋值语句的分析图 VII 条件语句的分析图 VIII 循环语句的分析图 IX 综合七、 编译器使用说明程序提示用户输入字符串“Please input your source string:”,用户输入字符串并以“#”号结束。回车后,程序显示运行结果。八、 心得与体会 九、 源程序清单

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号