编译原理语义分析实验报告

编译原理语义分析实验报告

ID:32744438

大小:65.75 KB

页数:8页

时间:2019-02-15

编译原理语义分析实验报告_第1页
编译原理语义分析实验报告_第2页
编译原理语义分析实验报告_第3页
编译原理语义分析实验报告_第4页
编译原理语义分析实验报告_第5页
资源描述:

《编译原理语义分析实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编译原理语义分析实验报告囹篇一:编译原理实验报告30编译原理实验报告一一表达式语法分析一一表达式语法分析囹表达式语法分析实验报告一、实验题目设计一个简单的表达式语法分析器(采用递归下降方法设计实现)二.实验目的J了解形式语言基础及其文法运算;2.熟悉语法分析原理及4种常用的语法分析方法;其中:四种算法为(1)设计算术表达式的递归下降子程序分析算法(2)设计算术表达式的LL(1)分析算法(3)设计算术表达式的简单优先分析算法(4)设计算术表达式的SLR(l)分析算法3、选择上述一种方法并设计一个表达式的语法分析器。(本实验设计的是递归下降的表

2、达式语法分析器)三、实验内容1.设计递归下降语法分析器算法;2.编写代码并上机调试运行通过;3.写出试验体会及心得。刖四.实验要求给出算术表达式文法2、进行适当的文法变换3.选择一种语法分析的方法,并说明其原理4、根据原理给出相应的算法设计,说明主要的数据结构并画出算法流程图5.编写代码并上机调试运行通过6、写出程序运行结果7、写出相应的文档以及代码注释8、输入一一表达式;输出一一表达式语法是否正确。五、递归下降的表达式语法分析器设计概要1•算术表达式文法・G(E):ETF2.文法变换:文法变换:G‘(E):E・>E1;TE'E

3、'・+TE'

4、£T-FT'T'-*FT'

5、£F-(E)

6、IE+T

7、TT*F

8、Fi

9、(E)3.递归下降子程序框图:递归下降子程序框图:刖六、实验设计源程序#祜£:111虫iostream.h0cht)cout分析成功endl;elsecout分析失败endl;}voide()coutE-TE'endl;t();el();}voidel(){if(inputstream[temp]=='+'){coutE'・+TE'endl;temp++;t();刖篇二:编译原理实

10、验报告0实验一词法分析程序实现忸一、实验目的与要求0通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符形式的源程序流转化为一个由各类单词符号组成的流的词法分析方法。0二.实验内容忸选取无符号数的算术四则运算中的各类单词为识别对象,要求将其中的各个单词识别出来。0输入:由无符号数和+,—,/,(,)构成的算术表达式,如l.SE+2-lOOo输出:对识别出的每一单词均单行输出其类别码(无符号数的值暂不要求计算)O0三、实现方法与环境0K首先设计识别各类单词的状态转换图。0描述无符号常数的确定、最小化状态转换图如

11、图1所示。其中1,2编号0,1,2,?,6代表非终结符号无符号数.余留无符号数.十进小数.小数部分、指数部分.整指数及余留整指数,和6为终态,分别代表整数.小数和科学计数的识别结束状态。0图1文法G[无符号数]的状态转换图忸其中编号o,1,2,?,6代表非终结符号无符号数、余留无符号数.十进小数.小数部分.指数部分.整指数及余留整指数,1,2和6为终态,分别代表整数、小数和科学计数的识别结束状态。0在一个程序设计语言中,一般都含有若干类单词符号,为此可首先为每类单词建立一张状态转换图,然后将这些状态转换图合并成一张统一的状态图,即得到了一个

12、有限自动机,再进行必要的确定化和状态数最小化处理,最后据此构造词法分析程序。0四则运算算术符号的识别很简单,直接在状态图的0状态分别引出相应标记的矢线至一个新的终态即可。根据自己的习惯,也可以将其转换为状态矩阵形式O忸2、词法分析程序编写0根据描述语言中各类单词的文法状态转换图或状态矩阵,利用某种语言(C语言或JAVA语言)直接编写词法分析程序。03.词法分析程序测试0用于测试扫描器的实例源文件中应有词法正确的,也应有错误的字符串,对于输入的测试用例的源程序文件,以对照的形式将扫描器的分析结果信息在输出文件中表示出来。0四、参考资料0实现无

13、符号数识别的参考方法:将设计的状态转换图直接转化为一张程序流程图,并在外层再增加一个以EOF为循环终止条件的while循环,即形成能连续识别各类单词的词法分析程序。0各类单词的编码建议如表lo忸表1单词的内部编码13五.扩展实验囹1、试对基础实验识别的单词种类进行扩充,构造识别以下单词的词法分析程序。语言中具有的单词包括五个有代表性的关键字begin、enckif.then,else;标识符;整型常数;六种关系运算符;一个赋值符和四个算术运算符。参考实现方法简述如下。0表2扩展单词分类码表囹处理过程:在此为了使词法分析程序结构比较清晰,且尽

14、量避免某些枝节问题的纠缠,假定要编译的语言中,全部关键字都是保入文本中,关键字.标识符、整常数之间,若未出现关系和算术运算符以及赋值符,则至少须用一个空白字符加以分隔。作了这些限

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。