编译原理课程设计报告_5.docx
《编译原理课程设计报告_5.docx》由会员分享,可在线阅读,更多相关《编译原理课程设计报告_5.docx(22页珍藏版)》请在第一文库网上搜索。
1、编译原理课程设计报告姓名:熊齐超(1208060220)姓名:刘畅(1208060221)姓名:袁青伟(1208060222)姓名:张文(1208060223)班级:软件121班专业:软件工程指导教师:陈晓明时间:2015/6/14项目名称:算术表达式的语法及语义分析贵州大学计算机科学与信息学院一、课程设计目的3二、课程设计题目描述和要求31、算术表达式的文法的描述:32、课程设计的要求描述:33、实现的功能描述:44、分析器的使用描述4三、课程设计实现描述41、实现平台42、课程设计的基本思路描述53、自顶向下与递归下降分析方法的基本原理描述54、程序运行的最后界面65、演示分析8四、课程设
2、计总结8五、参考文献及小组分工9六、核心代码10一、课程设计目的通过设计、编制、调试一个算术表达式的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。加深对文法分析器的知识的掌握,掌握计算机语言的语法分析的过程。以及掌握计算机语言的语法分析程序设计与文法应用的实现方法。能够熟练运用一种分析方法,自上而下或自下而上的方法分析一个给定的文法,我使用的是自上而下的分析方法。以及通过思考以及动手制作分析器的过程来锻炼自己的编程能力和逻辑思维能力,体会计算机编译器的奥妙之处。二、课程设计题目描述和要求1、算术表达式的文法的描述:无符号整数:=数字数字标识符
3、:=字母字母I数字表达式:=项加法运算符项项:=因子乘法运算符因子因子:=标志符I无符号整数加法运算符:=I-乘法运算符:=*I/字母:=abIZ数字:=O:1II92、课程设计的要求描述:1)在递归下降法、11(1)、算符优先分析法或者1R法中选择其中一种方法完成以上任务,中间代码选用四元式。2)编制分析程序,设计若干用例,并上机测试。3)书写课程设计报告。4)要求提供单步运行,让用户跟踪分析器工作的每一个步骤。3、实现的功能描述:1)选定一种分析方法,本分析器采用递归下降分析方法进行语法分析2)允许用户手动输入算术表达式(每个项的长度不大于10)3)对输入的算术表达式进行词法、语法、语义分
4、析4)分别对词法、语法、语义分析输出相应的执行结果5)对语法分析可输出递归下降分析的步骤,以及相应步骤所使用的产生式,对语义分析采用自顶向下分析方法,可输出四元式表示的中间代码。4、分析器的使用描述对于一个给定的算术表达式,在此分析器中可直接点击词法分析按钮,得到结果如左下角的第一个显示框所示。在运行分析器的过程中,输入的是相对应于文法所能够产生的算术表达式进行分析,如果是不符合文法的输入串,那么就会提示错误信息。首先在输入表达式所对应的编辑框中输入所要分析的表达式,单击词法分析,在词法分析输出结果中可以查看算术表达式中使用的符号是否正确。之后单击语法分析按钮,在语法分析框中会出现相应的递归下
5、降分析步骤(包括分析过程中所使用的产生式)。单击语义分析按钮,在分析结果栏中,显示以四元式表示的中间代码。分析结束时,如果所输入的算术表达式是属于该文法的,那么语法分析输出结果框中显示:“输入串是该文法的一个句子!语法分析结束”若不属于该文法,那么语法分析输出结果框中显示:“输入串不是该文法的一个句子!语法分析结束:如果所输入的算术表达式中接有错误的字符,那么词法分析输出结果框中显示:“接错误后缀,出错二三、课程设计实现描述1、实现平台MicrosoftWindows7/MicrosoftVisua1C+6.02、课程设计的基本思路描述首先应该把用文字表示的文法改写为数学符号。(其中关于无符号
6、整数和标识符,由于可以在词法分析的过程中给以确定,所以就不必抽象其表达式。)设:indentifer:标识符digit:无符号整数E:表达式T:项F:因子则一个简单的术表达式的文法G1中包含以下产生式:E-E+EIE-EIE*EE/E(E)indentifer|digit为了明确运算符的优先权(括号的优先权高于乘除法,乘除法的优先权高于加减法),可改写文法G1如下:改写后的文法G2:E-E+TIE-TITT-T*F!T/FIFF-(E)Iindentifer|digit为了避免左递归的发生,可进一步将文法改成:文法GE:(1) E-+-TG(2) G-+TG1-TG(3) G-(4) T-FS
7、(5) S-*FSFS(6) S-(7) F-(E)(8)F-indentiferdigit3、自顶向下与递归下降分析方法的基本原理描述自顶向下分析原理:自顶向下分析就是从文法的开始符号出发,向下推导,推出句子。分为:带“回溯”的分析方法、不带回溯的递归子程序(递归下降)分析方法。自顶向下分析的主旨:对任何输入串,试图用一切可能的办法,从文法开始符号(根结点)出发,自上而下、从左到右地为输入串建立一棵分析树。或者说,为输入串寻找一个最左推导。其分析是一种试探的过程,是反复使用不同产生式谋求与输入序列匹配的过程。递归下降分析原理:递归的预测分析是为每一个非终结符写一个分析过程,这些过程可能是递归
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课程设计 报告 _5