实习一 词法分析
一、实验目的:
1. 熟悉 Javacc 工作原理,掌握词法分析相关的类:
Token:表示单词的类。每个 Token 对象的主要成员:int kind 表示单词的
种别; String image 存储了 token 所代表的内容;int beginLine 表示单词所处
的行;int beginColumn 表示单词所处的列。
TokenManager:词法分析器,用来识别源程序中的单词序列。
SimpleCharStream:词法分析器的输入流。可以指定源程序来自于标准输入
还是文件。
TokenMgrError:词法错误类,当识别到非法单词时,弹出的错误对象。
Constants:保存已定义所有单词的接口,针对每种单词定义其对应的种别码。
2. 使用以上的类,编制一个读单词过程,从输入的源程序中,识别出各个
具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。
并依次输出各个单词的内部编码及单词符号自身值。
二、实验预习提示
1. 词法分析器的功能和输出格式
词法分析器的功能是读入测试源程序,输出单词序列。词法分析器的单词常
表示成二元式:(单词种别码,单词在源代码中的字符串)。
2. 词法分析器需要把对象语言的词法规则全部描述出来,在这我们取 C 语
言子集,它的词法定义如下:
(1)关键字 KEYWORD
if else int return void while…….. 所有的关键字都是小写。
(2)标识符 IDENTIFIER
标识符的定义采取正则表达式定义方式,标识符由字母、数字、下划线“_”
组成,并且首字母不能是数字。
(3)分隔符 SEPARATER
; , { } [ ] ( )
(4)运算符 OPERATOR
+ - * / > < =
(5)常数 CONSTANT
简化为只表示整型常数。
(6)词法分析过滤的字符
空格“ ”、制表符“ ”、回车“” 和换行符“”。
评论0