欢迎来到天天文库
浏览记录
ID:5470203
大小:514.00 KB
页数:59页
时间:2017-12-14
《一个编译原理语法分析器的实现与设计一个编译原理语法分析器的实现与设计—毕业设计论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、学位论文一个编译原理语法分析器的实现与设计论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期:一个编译原理语法分析器的实现与设计摘要编译程序一般由词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、目标代码生成程序、代码优化程序、表格管理程序和出错处理程序等成分构成。在编译原理的教学过程中,算法的讲解都需要对算法进行详细的分析,包括算法条件的判断,文法分析表的构造过程,文法分析表的具体生成,针对文法的句子的分析过程等,这些过程往往需要占用大量时间来分析、制表等。本软件的主要任务就是利用程序来完成算法的上述相关过程,以达到高效,直观的效果。本文
2、旨在介绍语法分析方法中的一种自上而下的分析方法——LL(1)分析法。所谓LL(1)分析法是指语法分析是按自左至右的顺序向前查看一个输入字符串,并分析过程中产生句子的最左推导。关键词:编译;语法分析;LL(1)算法;演示TheDesignandImplementationofASyntaxAnalyzerbasedonCompilationTheoryAbstractThecompilergenerallyismadeupofthelexicalanalyzerprogram,thesyntaxanalysisprogram,thesemanticsanalysisprogra
3、m,theinter-languageproductionprocedure,thegoalcodeproductionprocedure,thecodeoptimizationprocedure,theformexecutiveprogramandtheprocedureofdisposingmistakes.Intheteachingprocessofcompilerprinciple,allalgorithmexplanationneedstobeexplainclearly,includingalgorithmconditionjudgment,grammaranal
4、yticaltablestructureprocess,grammaranalyticaltableconcreteproduction,inviewofgrammarsentenceanalysisprocessandsoon.Theseprocessesoftentakemuchtimetoanalyze,theschedulingandsoon.Thisprogrammainlyworkistocompletethealgorithmwhichtakeadvantageoftheproceduretodealwiththoseabovementionedprocesse
5、s,inordertosavetime.ThepaperaimsatintroducingasyntaxanalyticalmethodnamedLL(1)algorithmwhichfromtheuptodown.Thesyntaxanalyzeranalyzesthecharacterstringbeginningfromthelefttorightonewordeachtimeandeducesthemostleftdeductionofthesentenceintheanalyzecourse..Keywords:compiler;grammaranalysis;LL
6、(1)algorithm;demonstrate目录论文总页数:22页1引言11.1项目背景11.2目标11.3名词解释11.4算法简介21.4.1自顶向下分析21.4.2递归子程序31.4.3LL(K)分析方法41.4.4LL(1)分析方法41.4.5LL(1)分析表52系统流程图62.1程序流程图62.2系统模块流程图73系统实施73.1文件读取模块83.1.1文件读取使用的CommonDialog控件介绍83.1.2文法左递归的判断93.2算法分析模块93.2.1求select集93.2.2求first集103.2.3求follow集103.3分析表构造模块123.3.
7、1构造文法分析表123.3.2A::=aβ规则133.3.3A::=Dβ规则133.3.4A::=ε规则133.4句子分析模块133.4.1读取句子143.4.2分析句子144特殊问题及解决方法144.1Select集的求解154.1.1问题描述154.1.2解决方案154.1.3解决结果154.2为ListBox添加水平滚动条154.2.1问题描述154.2.2解决方案154.2.3解决结果165结果测试165.1测试正确文法165.2测试错误文法19结论20参考文献20致谢21声明221引言1.1项
此文档下载收益归作者所有