语法分析器实验

语法分析器实验

ID:44668132

大小:452.58 KB

页数:19页

时间:2019-10-24

语法分析器实验_第1页
语法分析器实验_第2页
语法分析器实验_第3页
语法分析器实验_第4页
语法分析器实验_第5页
资源描述:

《语法分析器实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、21AF-20732072实验口的及耍求实编

2、2实验环境位2O3•n7++wiV算法分析输编序析分意3称出串序程分溯任慢别造号前析测回份希分构归一彫「「中都M叭hz含Mve下就多合先这LX-c4k厂・/上」」上■■■-:H□£Li;1BK0,bc序程量般F单驟入号{程析数・作简步(5)利用FIRST和FOLLOW集构建分析表(6)利用分析表分析输入串是否复合规定的文法规则各功能流程图:注释页:■•C:ProgramFilesMicrosoftVisualStMdi0MyPrQject5lllDcbuglll.exe调试过程及实验结果B顶冋下的文法分析器=适用二含耆蚩裟逐蠹间接逸

3、归但可以转换的""〉文法幣驾爻法句*命令说明,————ulcCpu.L1jLsQlcyFi>*utFollow——————uunLtsiiL:xi€壓矍盘输人衣法显不F5ST集、FOLLOW:集、墓示预测分崭表JKFIRESM—诸输入文法=预测分析表正确的文法测试图:预测分析表二TSQT青输入文法二S->aJblT->SQQ—»SQ

4、AnbbsTQ<,韭结粪持二STQ文法芮容<共3条”S->a:b!

5、T->aQIbQJQQ-〉.SQ:八非终结符ST请输入分析串(请CZ/X结束)«ttT分崭義输入串昴甫融tts■M#>Tn>Ta.a>Utt>QSm〉ttT->SQ«>Qaa.a〉ttS->att>4.a>tt♦»>QS.■d>«tQ—>.SQtt>QSa>tttt>Qaa>ttS->att>Q>tt>ttQ_X*1H成功Pressanykeytocontinue含递归的文法测试图:皐终结得Eri?QRIUHST集合♦-tt>tt>♦-ll>浹测分析昊二♦—*X<>1ttETTrFFi-xKI•C:Progra

6、mF;fesMicroso^^^5MaT^tu^oM错误输入测试图:i请输入文法=S.-a:b:T.SQQ—SQ:八諾思翊逻未来使用推导符S->a:b:T->SQ韭蓬績符Q未傍用推导!膳務徉竜键纟鼻.••通过这次实验熟悉了语法分析器的工作原理,对于求FIRST集、总FOLLOW集、运用这两个集合求预测分析表,以及运用分析栈分析输入串是否复合LL1文法定义的规则等理解更加深刻,对于编程能结力和书写代码规范程度也有了一定的提高,在这过程中当然也遇到很多问题,但通过查阅资料,组员之间的讨论,所有问题都一一被解决,这培养了团队协作能力和发现问题解决问题的能力。当通过自己的努力编成功完

7、成程序的某些功能的时候,体验到了那种满足感和快乐。关键代码:Grammar::Grammar(constGrammar&rs)〃复制构造函数{zhong=rs.zhong;fei=rs.fei;end=rs.end;number=rs.number;content=newstring[255J;contentl=newstring[255];first=newstring[255];follow=newstring[255];table=newstring*[255];for(inti=O;i<=number;i++)content[i]=rs.content[i];FirstAndFoll

8、ow();CreateTable();}Grammar&Grammar:operator=(constGrammar&rs)//!®值函数{zhong=rs.zhong;fei=rs.fei;end=rs.end;number=rs.number;content=newstring[255];content1=newstring[255];first=newstring[255];follow=newstring

9、255J;table=newstring*[255];for(inti=O;i<=number;i++){content[i]=rs.content[i];contentl=new

10、string[255];}FirstAndFollow();CreateTable();return*this;}intGrammar::Findid(chara)〃在文法中查找某个非终结符{inti=0;while(i

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

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

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