1 / 11
文档名称:

语法分析源代码分析报告.docx

格式:docx   大小:184KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

语法分析源代码分析报告.docx

上传人:sssmppp 2020/8/12 文件大小:184 KB

下载得到文件列表

语法分析源代码分析报告.docx

相关文档

文档介绍

文档介绍:语法分析源代硒分析扳吿学圭:昊艺萍、陈璐、崔旻、刘超群学号:095 、094、101、103时间:2014年06戸目录一、 概述 1二、 词法分析设计与实现 11、 相关枚举类型的定义 12、 函数 2三、 语法、语义分析设计与实现 31、 相关数据结构定义 32、 函数 3四、 中间代码 61、 相关数据结构定义 62、 相关枚举类型的定义 63、 函数 7一、概述编译原理是在介绍编译程序构造的一般原理和基木方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、屮间代码生成、存储管理、代码优化和目标代码生成。现在计算机系统的性能不仅仅取决于它的原始速度,还取决于编译器是否能生成充分利用其特征的代码。在现代计算机体系结构的研究屮,在处理器的设计阶段就开发编译器,并将编译生成的代码在模拟器上运行,以评价拟采用体系结构的特征。编译器技术影响计算机体系结构设计的一个著名例了是精简指令集计算机(RISC)的发明。二、词法分析1、相关枚举类型定义SymType的定义〃记号类型enumSymType\OR,〃或AND,〃与RELOP,〃关系运算符ADDOP,〃加减MULOP,〃乘除NOT,〃非LP, 〃左括号RP,ID,NUM,ASSIGN,LB,MA,SEMICOLON,UNDEFINED,INT,IF,ELSE,WHILE,RETURN,PRINTF,SCANF,〃右括号〃标志符〃数〃赋值〃左大括号〃右大括号〃逗号〃分号//未定义//int//if//else//while//return//printf//scanf)//AddOp>MuIOp>RelType的定义次枚举类粮确定了加减乘除运算和关系运算符的符号enumAddOp{ADD,SUB〃加法〃减达enumMulOp{〃乘法〃除法〃取余MUL,DIV,MOD,};〃关系运算符类型enumRelType{GT,GE,EQ,LT,LE,NE,NR〃大于〃大于等于〃等于〃小于〃小于等于//不等于!=>>=<<=〃没有关系用于优先关系表);2、函数用char*types[]har*keywords[KeyWordsCount](关键字)、staticintkeyType[KeyWordsCount](关键字对应类别)來申明输入的字符串中词语的特定意义,即词法。根据一下函数来函数作用staticintisDigit(charch);判断现在的token是否为数值staticintisLetter(charch)判断现在的token是否为字母staticintgctKeyWord(char*str);获取现有的token的关键字voidgetTokenO;取得当前的token进行判断识别词义。组成了词法分析的功能。三、语法、语义分析设计与实现1、相关数据结构的定义(1)//表达式(采用C的风格,非0为真,0为假Jlypedefstruct{inttmclist;intfalselist;intaddress;〃真出口链〃假出口链〃存放表达式值的地址或常量的值〃若为负数,则存放全局变就的地址//若为止数,则为局部变if的相对地址boolisTcmp;(ExprNode;〃是否为临时变量(2)SymbolEntry的定义〃符号表表项typcdcfstruct{inttype; 〃类型FUN或VARintaddress; //地址全局为非正局部为正charlexeme|MaxIdLen+l]; 〃词索,变鈕名或•函数名intparamCount; 〃函数的参数个数}SymbolEntry;SymbolTable的定义该数据结构的作用是用来记录已存在的变量,关联到相关的存储位置,还有防上重名structSymbolTable{SymbolEntry*entries;〃各表项intindex; 〃符号表当前表尾的下标,表'11第项不用I;这里采用的是四元式形式的屮间代码。另外还需要实现i个虚拟机来解释执行编译后的屮间代码。语法定义并未采用文法的形式,而是采用语法图的直观形式,语法图和文法相比具有更易于理解的优点。这里是用采用白顶向下的递归下降分析方法⑺,它也是基于语法图进行分析的。下图由椭I员1和闘形代表的其实是语法图对应文法的终结符,矩形方框代表的是相应文法的非终结符。下图规定了合法的程序的“程序体”应具有什么样的语法形式,此处“稈序体”的概念显然是语法图对应文法的开始符号。下图很岚观地给出了语言是由函数的定义和全局变量的声明所构成。全局变量可以只声明而不进行初始化,也可在声明的时侯进行初始化,还可以同时声明多个全局变量。全局变量与函数的声明可以交替进行。通过以下函数实现statement的语法函数作用staticvoidinputValue(

最近更新

上海市公务员考试数量关系专项练习题及答案(.. 107页

2025年搬家祝福句子(精选40句) 4页

2025年搞笑语录经典大全 3页

2025年搞笑的征婚广告语 5页

事业单位中的言语理解与表达题(考点精练) 174页

测电阻的多种方法 27页

事业单位招录行政职业能力测验数量关系模拟试.. 105页

英语Ⅱ第二次作业答案 10页

事业单位招录行测数量关系专项强化真题试卷附.. 106页

2025年高中生追逐梦想演讲稿范文5篇 11页

2025年描述太阳的拟人句 6页

云南省公务员考试常识判断专项练习题及答案【.. 79页

2025年描写鸟类外貌的句子 10页

云南省昆明市公务员考试数量关系专项练习题(.. 106页

公务员数量关系套题及答案(各地真题) 106页

公务员考试中的数量关系题附参考答案(培优).. 105页

公务员考试中的言语理解与表达题(完整版) 174页

2025年描写雨的优美段落450段 59页

公务员考试数量关系专题练习带答案(典型题).. 108页

公务员考试数量关系练习题附答案(完整版) 106页

2025年描写野草的比喻句子 4页

公务员考试行测备考数量关系专项训练题【预热.. 106页

公务员考试行测常识判断专项练习试题及答案【.. 81页

公务员考试行测常识判断练习题附参考答案(实.. 79页

公务员考试行测数量关系专项练习试题(名校卷.. 108页

公务员考试行测数量关系练习题【模拟题】 108页

公务员考试行测真题(甲级、常识判断)及参考答.. 80页

基于精益建造理念的住宅项目实施情况研究——.. 4页

公务员考试行测真题(甲级、言语理解与表达)带.. 173页

公务员考试行测真题之常识判断部分题库附答案.. 79页