下载此文档

村上岗-词法分析器.docx


文档分类:资格/认证考试 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
村上岗-词法分析器.docx语法分析器语法分析器在编译程序中的地位,如图14所示:语法分析器在编译程序中的地位语法分析器地位图图1-1开篇编译,简单的说,就是把源程序转换为可执行程序。从helloworld说程序运行机制里面简单的说明了程序运行的过程,以及一个程序是如何一步步变成可执行文件的。在这个过程中,编译器做了很多重要的工作。对底层该兴趣的我,自然的,也就迫切想搞淸楚编译的内部实现,也就是编译的原理。这篇文章主要说的是编译器前端,词法分析器的原理,最后会给出一个词法分析器的简单实现。介绍编译简单的说,就是把源程序转化为另一种形式的程序,而其中关键的部分就是理解源程序所要表达的意思,才能转化为另一种源程序。可以用一个比喻来说明问题:人A和人B想耍交谈,但是他们都不知道彼此的语言,这就需要一个翻译C,同时懂得A和B的语言。有了C做中间层,A和B才能正常交流。C的作用就有点像编译器,它必须能理解源程序所要表达的意思,才能把信息传递给另一个。编译器也一样,它的输入是语言的源文件(一般可以是文本文件)对于输入的文件,首先要分离出这个输入文件的每个元素(关键字、变量、符号、、)然后根据语咅的文法,分析这些元素的组合是否合法,以及这些组合所表达的意思。程序设计语言和自然语言不一样,都是用符号来描述,每个特泄的符号表示特泄的意思,而且程序设计语言是上下文无关的。上下文无关就是某一个特定语句所要表达的意思和它所处的上下文没有关系,只有它自身决定。这篇博文主要说的就是词法分析,也就是把输入的符号串整理成特定的词素。词法分析定义:词法分析器的功能输入源程序,按照构词规则分解成一系列单词符号。单词是语言中具有独立意义的最小单位,包括关键字、标识符、运算符、界符和常量等关键字是由程序语言定义的具有固定意义的标识符。例如,Pascal中的begin,end,if,while都是保留字。这些字通常不用作一般标识符。标识符用来表示各种名字,如变量名,数组名,过程名等等。常数常数的类型一-般有整型、实型、布尔型、文字型等。运算符如+、-、/等等。界符如逗号、分号、括号、等等0输出:词法分析器所输出单词符号常常表示成如下的二元式:(单词种别,单词符号的属性值)单词种别通常用整数编码。标识符一般统归为一种。常数则宜按类型(整、实、布尔等)分种。关键字可将其全体视为一种。运算符可采用一符一种的方法。界符一般用一符一种的方法。对于每个单词符号,除了给出了种别编码之外,还应给出有关单词符号的属性信息。单词符号的属性是指单词符号的特性或特征。示例:比如如下的代码段:while(i>=j)i—经词法分析器处理后,它将被转为如下的单词符号序列:vwhile,_>v(,_><id,指向i的符号表项的指针〉VA=,_><id,指向j的符号表项的指针〉v),_>vid,指向i的符号表项的指针aV",_>词法分析分析器作为一个独立子程序词法分析是编译过程中的一个阶段,在语法分析前进行。词法分析作为一遍,可以简化设计,改进编译效率,增加编译系统的可移植性。也可以和语法分析结合在i起作为一遍,由语法分析程序调用词法分析程序来获得当前单词供语法分析使用。词法分析器设计入、预处理词法分析器工作的第一步是输入源程序文本。在许多情况下,为了更好地对单词符号识别,把输入串预处理一下。预处理主要滤掉空格,跳过注释、换行符等。超前搜索词法分析过程

村上岗-词法分析器 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sssmppp
  • 文件大小207 KB
  • 时间2020-08-07