下载此文档

简介.ppt


文档分类:建筑/环境 | 页数:约28页 举报非法文档有奖
1/28
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/28 下载此文档
文档列表 文档介绍
简介069141 简介 2 是一个词法分析器和语法分析器的生成器词法分析器就是将一系列字符分成一个个的 Token , 并标记 Token 的分类 int main() { return 0 ; } 被分成以下的 Token “ int ”, “”, “ main ”, “(”, “)”, “”, “{”, “\n”, “\t”, “ return ”“”, “0”, “”, “;”, “\n”, “}”, “\n”, “” 3 词法分析器工作过程如图所示 45 例1:正整数相加,能够解析正整数相加的表达式, 如 99+42+0+15 。 文件, 此文件中写入的即生成词法分析器和语法分析器的规则。 2. 设定选项,并声明类 6 options { STATIC = false ; } PARSER_BEGIN(Adder ) class Adder { static void main( String[] args ) throws ParseException , TokenMgrError { Adder parser = new Adder( ) ; () ; } } PARSER_END(Adder ) 7 (3) 声明一个词法分析器 SKIP : { " " } SKIP : { "\n" | "\r" | "\r\n" } TOKEN : { < PLUS : "+" > } TOKEN : { < NUMBER : (["0"-"9"])+ > } 8 ?第一二行表示空格和回车换行是不会传给语法分析器的。?第三行声明了一个 Token ,名称为 PLUS ,符号为“+”。?第四行声明了一个 Token ,名称为 NUMBER ,符号位一个或多个 0-9 的数的组合。如果词法分析器分析的表达式如下: ? 123 + 456\n ”,则分析为 NUMBER, PLUS, NUMBER, EOF ?“ 123 - 456\n ”,则报 TokenMgrError ,因为“-”不是一个有效的 Token. ?“ 123 ++ 456\n ”,则分析为 NUMBER, PLUS, PLUS, NUMBER, EOF ,词法分析正确,后面的语法分析将会错误。 9 (4) 声明一个词法分析器 void Start() : {} { <NUMBER> ( <PLUS> <NUMBER> ) * <EOF> } 10 ? :语法分析器。其中的 main 函数是完全从 中拷贝的,而 start 函数是被 由 描述的规则生成的。? :一些常量,如 PLUS, NUMBER, EOF 等。? :词法分析器。? :用于在语法分析错误的时候抛出。? :用于将一系列字符串传入词法分析器。? :代表词法分析后的一个个 Token 。 Token 对象有一个整型域 kind ,来表示此 Token 的类型(PLUS, NUMBER, EOF) ,有一个 String 类型的域 image ,来表示此 Token 的值。? :用于在词法分析错误的时候抛出(5) 编译

简介 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数28
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yzhluyin1
  • 文件大小331 KB
  • 时间2017-02-17