编译原理课程设计LL(1)

编译原理课程设计LL(1)

ID:46854221

大小:225.50 KB

页数:20页

时间:2019-11-28

编译原理课程设计LL(1)_第1页
编译原理课程设计LL(1)_第2页
编译原理课程设计LL(1)_第3页
编译原理课程设计LL(1)_第4页
编译原理课程设计LL(1)_第5页
资源描述:

《编译原理课程设计LL(1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、......衡阳师范学院课程设计题目循环语句的LL(1)语法分析专业计算机科学与技术班级11级03班姓名唐湘(11190317)廖瑶(11190311)向奇(11190322)魏庆(11190320)指导教师陈琼学习好帮手......目录1课设的描述31.1课设要求31.2课设中所用概念32文法的描述42.1While语句文法描述43语法分析方法及中间代码形式的描述53.1语法分析方法描述53.2中间代码形式54简要的分析与概要设计64.1基本框架64.2构成图64.3各个部分构成65算法描述75.1

2、词法分析的主要算法75.2语法分析主要算法86上机测试106.1测试方法106.2测试过程和结果107结果137.1研制过程137.2本次课程设计的缺点147.3本次课程设计的收获148参考文献14源代码15学习好帮手......1课设的描述1.1课设要求利用LL(1)分析方法对以上格式的循环语句进行语法分析。(1)设计扫描程序,将输入的循环语句识别为单词,并能发现单词的拼写错误。(2)设计分析程序,展示分析过程(语法树)。首先按照课程设计的要求,写一个能识别while-do循环语句的文法,并使它符合

3、LL(1)法的要求,按照这个文法编写一个程序,该程序能识别输入的语句是否符合while-do语句的文法,或者通过文法的开始符号能判断是否能推导出该语句。程序应该包括词法分析器,能对输入的语句进行词法分析,对输入的源程序从左到右进行扫描并将其分解为一个个的单词符号。然后再对结果进行语法分析。词法分析器应能识别关键字,标识符,常量,操作符等。该程序的语法分析器能对输入的语法进行分析,判断输入语句能否满足while-do循环语句的文法,如果不是则提示错误,如果满足while-do循环语句文法,判断是否符合L

4、L(1)法,运用最左推导对其进行分析,看能否通过开始符号推导出来。将语法和语义分析的结果用输出三地址形式表示出来。1.2课设中所用概念1)词法分析:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词符号:关键字(do,while)、标识符、常量、操作符等。2)语法分析:在词法分析的基础上,根据语法规则,把单词符号串分解成各类语法单位。3)语义分析与中间代码产生:对语法分析所识别出的各类语法范畴,分析其含义,并进行初步翻译(产生中间代码)。4)LL(1)文法:LL(1)文法是一种自上而下

5、的语法分析方法。第一个L是自上而下的分析,第二个L是从最左单词开始分析,1代表只通过下1个单词分析需要用到的语法。5)预测分析程序:实现LL(1)法分析的一种有效方法,使用一张预测分析表和一个栈进行联合控制。预测分析程序就是属于这种类型的LL(1)分析器学习好帮手......2文法的描述2.1do..While语句文法描述K->dLwSL->SPP->;SPP->εS->iQEE->TGG->+TGG->-TGG->εT->FRR->*FRR->/FRR->εF->(E)F->IQ->=Q->

6、>非终结符集VN{K,L,P,S,G,R,E,F,Q,T}终结符集V*{do,while,(,),ε,+,-,*,/,i,>,=,<,;}预测分析表i=<>+-*/()doε;whileKdLwSLSPPε;SPSiQEE-TGTGG+TG-TGεεεTFRFRRεε*FR/FRεεεFi(E)Q=<>3语法分析方法及中间代码形式的描述3.1语法分析方法描述LL(1)文法的定义:First集:学习好帮手......设G={VT,VN,S,P}是上下文无关文法First(α)={a

7、α=>aβ,a∈VT

8、,α,β∈V*}若a=>ε,则规定ε∈First(α),称为First(α)为α的开始符号集或首符号集。FOLLOW集:设G={VT,VN,S,P}是上下文无关文法FOLLOW(A)={a

9、S=>μAβ且a∈VT,a∈First(β),μ∈V*T,β∈V+}若S=>μAβ,且β=>ε,则#∈FOLLOW(A)SELECT集:给定上下文无关文法的产生式A-->αA∈VN,α∈V*,若α≠>ε,则SELECT(A-->α)=First(α)如果α=>ε,则SELECT(A-->α)=(First(α)-{

10、ε})UFOLLOW(A).LL(1)文法:一个上下文无关文法是LL(1)文法的充分必要条件是,对每个非终结符A的两个不同的产生式,A-->αA-->β,满足SELECT(A-->α)∩SELECT(A-->β)=ф其中α,β不能同时推导出空.3.2中间代码形式三地址码是由下面一般形式的语句构成的序列:x:=yopz其中,xyz为名字、常数或临时变量;op代表运算符号。每个语句中只能有一个运算符。三地址码类似于汇编语言代码。语句可以带有符号标号,而且存在

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

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

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