资源描述:
《编译原理_词法分析器论文正稿.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、下载可编辑XX大学学生课程设计(论文)题目:关于词法分析器的实现学号:姓名:专业年级:12计科2班教师:.专业.整理.下载可编辑2015年6月15日摘要词法分析器是通过词法分析程序对构成源程序的字符串从左到右的扫描,逐个字符地读入源程序字符并按照构词规则切分成一个一个具有独立意义的单词。并确定其属性(如保留字、标识符、运算符、界限符和常量等)。再把它们转换称长度统一的标准形式——属性字(TOKEN)。而词法分析器的功能是输入源程序,输出单词符号,并且词法分析器有两种处理结构:一种是把词法分析器作为主程序;另一种是把词法分析器作为语法分析程序调用的子
2、程序。本文所要介绍的词法分析器是第一种,把它作为主程序。关键词:词法分析编译原理.专业.整理.下载可编辑AbstractLexeristhroughlexicalanalysisproceduresconstituteasourcestringisscannedfromlefttoright,toreadinsourcecodecharactersandcharacter-by-characterinaccordancewiththerulesofwordformationofindependentsignificanceintooneword.A
3、ndiftheproperty(asreservedwords,identifiers,operators,boundaries,andconstants,andsoon).Thenunifiedthemsaidthelengthofastandardform--propertywords(TOKEN).LexicalAnalyzerfunctionistheinputsource,outputWordsymbols,andlexicalanalyzerhastwostructures:oneisthelexicalanalyzerasmainpr
4、ogram;theotheristheparsercallsthelexicalanalyzerprograms.Thelexicalanalyzeristhefirsttobeintroducedinthisarticle,useitasthemainprogram.Keywords:lexicalanalysisCompiler constructionprinciples.专业.整理.下载可编辑目录1课程设计的基本分析51.1词法分析器的概述51.2课程设计的容51.3课程设计的容51.4课程设计的要求51.5开发工具的选用62词法分析模块设
5、计62.1设计流程图62.2设计思路62.3设计代码72.4设计结果103总结11参考文献:12.专业.整理.下载可编辑1课程设计的基本分析1.1词法分析器的概述词法分析器又称扫描器。其主要任务是从左到右依次描述字符中形式的源程序的各个字符,逐个识别出其中的单词,并将其转换成为部编码形式的单词符号串输出,用于进行语法分析。词法分析器的工作是低级别的分析:将字符或者字符序列转化成记号.。在分析时,一是把词法分析器当成语法分析的一部分,另一种是把词法分析器当成编译程序的独立部分。在前一种情况下,词法分析器不断地被语法分析器调用,每调用一次词法分析器将从
6、源程序的字符序列拼出一个单词,并将其Token值返回给语法分析器。后一种情况则不同,词法分析器不是被语法分析器不断地调用,而是一次扫描全部单词完成编译器的独立一遍任务。1.2课程设计的容通过课程设计进一步理解高级语言在计算机中的执行过程,加深对编译原理中重点算法和编译技术的理解,提高自己的编程能力,培养好的程序设计风格。同时通过某种可视化编程语言的应用,具备初步的Windows环境下的编程思想。1.3课程设计的容设计一个程序,调试、编译,实现词法分析的功能,识别各单词或字符所属类别,并显示在屏幕上。1.4课程设计的要求通过词法分析器能够实现以下五种
7、类型如单词等的识别。(1)关键字"begin","end","if","then","else","while","write","read"等,"do","call","const","char","until","procedure","repeat"等(2)运算符:"+","-","*","/","="等(3)界符:"{","}","[","]",";",",",".","(",")",":"等(4)标识符(5)常量.专业.整理.下载可编辑1.5开发工具的选用软件环境使用Win7操作系统,使用VisualC++作为编程工具,实现词法的分析。2
8、词法分析模块设计2.1设计流程图2.2设计思路先在桌面建立两个记事本文件,取名为test1.txt和test2.txt,如