欢迎来到天天文库
浏览记录
ID:38820647
大小:884.00 KB
页数:57页
时间:2019-06-19
《PL0语言的词法语法分析器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、目录1前言12PL/0语言描述12.1PL/0语言的语法描述图22.2PL/0语言文法的EBNF表示33PL/0语言的词法与语法分析43.1PL/0编译器的词法分析43.2PL/0编译器的语法分析73.2.1PL/0编译器语法分析过程的直观思想73.2.2PL/0编译器语法分析程序分析84PL/0语言词法与语法分析器的设计105PL/0语言词法与语法分析器的编程实现115.1编程环境简介115.1.1系统硬件设备115.1.2系统支持软件115.2所采用的关键技术介绍115.2.1窗口初始化115.2.2切分窗口125.2.3位图的显示135.3具体功能的实现145.3.1菜单的设计与实
2、现145.3.2窗体分割的设计与实现155.3.3弹出式对话框的设计与实现165.3.4工具条的设计165.3.5起始屏的设计185.4PL/0语言词法与语法分析器的测试195.4.1测试的重要性195.4.2分析器的测试过程和运行效果196结束语22参考文献22附录23PL/0语言的词法语法分析器的设计与实现摘要:编译器是现代计算机系统的基本组成部分之一,它把源语言程序翻译成目标语言程序。词法分析和语法分析是编译器的两个重要功能。词法分析的任务是对构成源程序的字符流进行扫描和分解,从而识别出单词序列;语法分析的任务是将词法分析得到的单词序列分解成各类语法短语。本文在介绍PL/0语言编译
3、器的词法分析和语法分析过程的基础上,具体阐述了利用VC++作为编程工具完成PL/0语言词法与语法分析器的设计与实现的过程。关键词:编译器;源语言;目标语言;词法分析;语法分析DesigningandImplementingtheLexicalAnalyzerandSyntaxAnalyzerofPL/0LanguageAbstract:Compilerisabasicpartofmoderncomputersystem,ittranslatesthesourcelanguageprogramintothetargetlanguageprgram.Lexicalanalysisandsyn
4、taxanalysisaretwoimportantfunctionofthecompiler.Theformercompletesthetaskofscanninganddecomposingthestreamofcharactersmakingupthesourceprogramandidentifyingsequencesofwords.Thelattercompletesthetaskofclassingthestreamofwordsintosyntaxphrases.Inthispaper,onthebasisofintroducingthecoursesoflexicala
5、nalysingandsyntaxanalyzingofofPL/0Languagecompiler,thedesignandimplementationprocessofusingVisualC++asaprogrammingtooltocompletethelexicalanalyzerandsyntaxanalyzerofPL/0Languageisconcretelydescribed.Keywords:Compiler;Sourcelanguage;Targetlanguage;Lexicalanalysis;Syntaxanalysis1前言编译器是现代计算机系统的基本组成部
6、分之一,而且多数计算机系统都含有不止一个高级语言的编译器,对有些高级语言甚至配置了几个不同性能的编译器。从功能上看,一个编译器就是一个语言翻译程序。它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序。比如汇编程序是一个翻译程序,它把汇编语言程序翻译成机器语言程序。如果源语言是像FORTRAN,PASCAL,或C那样的高级语言,目标语言是像汇编语言或机器语言那样的低级语言,则这种翻译程序称作编译程序或编译器[3]。词法分析是编译过程的第一个阶段,这个阶段的作用是从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别一个个单词。源程序
7、中常见的单词可以归为几大类:关键字、标识符、字面量和特殊符号。语法分析就是编译过程的第二个阶段,它的作用是在词法分析的基础上将单词序列分解成各类语法短语,如“程序”,“语句”,“表达式”等等。所以语法分析器的任务是在词法分析的基础上对源程序的语法短语进行分析,找出其中的错误并且对用户发出警告[5]。文献[8]中指出,PL/0语言具有功能简单、结构清晰、可读性强的特点,且具备了一般高级语言的必须部分。PL/0语言的编译器能充分体现一个
此文档下载收益归作者所有