下载此文档

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


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
词法分析器的设计与实现.doc词法分析器的设计与实现
(内蒙古财经学院计算机信息管理学院,内蒙古呼和浩 特 010051)
摘要:介绍了词法分析器的概念,并指出词法分析器 设计时,输入的源程序以文件的形式存储在外部。主控程 序通过打开文件调用待分析的源程度。
关键词:词法分析器;正规式;自动机
中图分类号:TP391文献标识码:A文章编号:1007— 6921 (XX) 14—0223—02
词法分析是编译程序进行翻译的第一个阶段,他对程 序进行线性分析,从字符串中分出单词,并检查所分出的 单词是否为合法的词类。编译中的分词思想在“文本格式 化”及“公式排版”中应用的比较广泛,是一种实用性很 强的分析方法。
词法分析顾名思义就是分词。它以程序设计语言编制 的源程序作为输入,以单词序列作为输出。分词过程可以 通过编制程序自动完成,我们通常称这个分词程序为词法 分析器。词法分析器分析的源程序可以是现有的各类程序 设计语言源程序也可以是人为给定的模型语言的源程序。 本文中的源程序为后者。
1词法分析器的设计
词法分析在教学上的主要应用是对源程序进行分词同 时验证词的合法性,词法分析的输入是给定的模型语言, 输出为单词序列。输入的源程序可以看成是一个字符串序 列,通过把源程序看作字符串序列就可以采用形式语言的 一些现有理论处理相关的编译问题。分词的输出为单词序 列,单词是一个有共同含义的字符集。由于程序设计语言 中通常使用空格来分割不同的词,因此初学者在理解这一 概念时可以简单的把空格分隔开的字符串认为是一个单词。
词法分析器设计时,输入的源程序以文件的形式存储 在外部。主控程序通过打开文件调用待分析的源程序。
我给定的模型语言如图40从词的角度来看,它涉及的 内容较为简单,只包括几个较为常用的词类,词类的构成 上也适当的作了一些简化。对词进行分析时,我们是按类 型进行分析的。不同类型的词在后续的分析中所起的作用 不同,相应的操作也各有不同,但同种类型中的词虽然单 词的构成不同但从宏观上看它们的操作大体一致。模型语 言中的单词可以分为“关键字”'“标识符”'“常数”、“分 隔符”'“运算符”几类。一般,关键字在程序设计语言中
人为给定。程序设计时采用一字一码的形式处理。标志符 为一类,不同的标志符通过值区别。常数只给出具体的值 即可。根据以上的分析可以相应的设计如下的存储结构。
关键字可以设计为一个预先存储好的表格。
标志符和常数的逻辑结构设计如下:
structTok en
{
Tok en[JX*2]-[JX-*2]Type t
char*ch
};

struc tToken
{
Token[JX*2]-[JX-*2]Typet
doub 丨 evaIue;
};
每个类型中的单词都有它的构成规则。符合构成规则 的即为合法的类型,否则,为不合法。下面给出部分词类 的正规式描述。
=0 *
二(数字)*
二+卜1*1/
正规式是一种常用的描述单词的手段。它简单' 清晰。 能清楚地描述出单词的构成。并且可以方便的转化为单词 的识别装置一一自动机。根据给定的正规式得到的自动机 如图。
7 40)th i s. wi dth=740"bo rder=undef i ned#111nm ousewheeI="retu

词法分析器的设计与实现 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小健
  • 文件大小86 KB
  • 时间2021-07-29