词法分析器的设计与实现_精品.doc

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
词法分析器的设计与实现_精品

目录 一.设计题目 2 二.设计要求 2 1. 词法分析器的定义 2 2. 设计要求 2 3. 本程序自行规定: 3 三.设计作用与目的 4 1. 设计作用 4 2. 设计目的 4 四.运行环境及工具软件 4 五.系统设计 5 1. 系统总体设计 5 (1)词法分析器的设计 5 (2)总体设计框图 6 (3) 总程序流程图 6 2. 各子模块设计 8 (1) 字符的识别 8 (2)关键字的识别 8 (3) 数字的识别 8 (4)界符的识别 10 (5) 运算处理 10 3.相关函数分析 11 4. 源程序设计 12 六.实验调试结果 29 1. 调试工具 29 2. 调试步骤 29 3. 调试结果 29 七.设计中的问题及解决方法 31 八.设计心得 32 九.参考文献 34 词法分析器的设计与实现 一.设计题目 词法分析器的设计与实现 二.设计要求 1. 词法分析器的定义 词法分析顾名思义就是分词。它以程序设计语言编制的源程序作为输入以单词序列作为输分词过程可以通过编制程序自动完成,我们通常称这个分词程序为词法分析器。词法分析器分析的源程序可以是现有的各类程序设计语言源程序也可以是人为给定的模型语言的源程序。本文中的源程序为后者。从词的角度来看,它涉及的内容较为简单,只包括几个较为常用的词类,词类的构成上也适当的作了一些简化。对词进行分析时,我们是按类型进行分析的 。不同类型的词在后续的分析中所起的作用不同,相应的操作也各有不同,但同种类型中的 词虽然单词的构成不同但从宏观上看它们的操作大体一致。模型语言中的单词可以分为“关 键字”、“标识符”、“常数”、“分隔符”、“运算符”几类。一般,关键字在程序设计语言中人为给定掌握从源程序文件中读取有效字符的方法掌握词法分析的实现方法上机调试编出的词法分析程序auto,break,case,char,const,continue, ? default,do,double,else,enum,extern, float,for,goto,if,int,long,return, short,signed,sizeof,static,struct,switch…… ⑵ 运算符:+,-,*,/,=…… ⑶ 界符:{,},[,],;,,,.,(,),: ⑷ 数字:0~9 ⑸ 其他标记 如字符串,表示以字母开头的标识符。 ⑹ 空格、回车、换行符跳过。 在屏幕上显示如下: ( +, 运算符 ) ( ; , 界符 ) (auto , 关键字 ) ( 1 , 无符号整数) ( a , 普通标识符 ) (continue , 关键字 ) 三.设计作用与目的 1. 设计作用 用高级语言编写一个词法分析器使之能识别输入串,并把分析结果(单词符号标识符关键字等等)输出输入源程序输入单词符号本词法分析器可以辨别关键字标识符常数运算符号和某些界符运用了文件读入来获取源程序代码再对该源程序代码进行词法分析这就是词法分析器的基本功能当词法分析器调用预处理子程序处理出一串输入字符放进扫描缓冲区之后分析器就从此缓冲区中逐一识别单词符号当缓冲区里的字符串被处理完之后它又调用预处理子程序来处理新串1)熟悉词法分析的基本原理,词法分析的过程,以及词法分析中要注意的一些问题2)通过设计调试词法分析程序,实现从源程序中分出各种单词的方法;)复习高级语言,进一步加强用高级语言来解决实际问题的能力提高词法分析方法的实践能力Windows XP环境,Microsoft visual C++ 6.0版,512M内存,80G硬盘容量。 VC++是微软公司开发的一个IDE(集成开发环境),换句话说,就是使 ++的一个开发平台.有些软件就是这个编出来的vc++是Windows平台上的C++编程环境,学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识,难度比较大词法分析器的设计词法分析在教学上的主要应用是对源程序进行分词同时验证词的合性,词法分析的输入是给定的模型语言,输出为单词序列。输入的源程序可以看成是一个字符串序列,通过把源程序看作字符串序列就可以采用形式语言的一些现有理论处理相关的编译题。分词的输出为单词序列,单词是一个有共同含义的字符集。由于程序设计语言中通常使用空格来分割不同的词,因此初学者在理解这一概念时可以简单的把空格分隔开的字符串认为是一个单词。 词法分析器设计时,输入的源程序以文件的形式存储在外部。主控程序通过打开文件调用待分析的源程序。程序设计时采用一字一码的形式处理标志符为一类,不同的标志符通过值区别。常数只给出具体的值即可。根据以上的分析可以相应的设计如下的存储结构。关键字可

文档评论(0)

rovend + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档