实验 2 词法分析程序的设计
一、实验目的
掌握计算机语言的词法分析程序的开发方法。
二、实验内容
编制一个能够分析三种整数、标识符、主要运算符和主要关键字的词法分析程序。
三、实验要求
1、根据以下的正规式,编制正规文法,画出状态图;
标识符
字母 ( 字母 |数字字符 )*
十进制整数
0 | ((1|2|3|4|5|6|7|8|9)( 0|1|2|3|4|5|6|7|8|9) *)
八进制整数
0( 1|2|3|4|5|6|7)( 0|1|2|3|4|5|6|7) *
十六进制整数
0x( 0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)( 0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f) *
运算符和界符
+
- *
/
=
( ) ;
关键字
if
then
else
while
do
2、根据状态图,设计词法分析函数 int scan( ),完成以下功能:
1) 从文本文件中读入测试源代码,根据状态转换图,分析出一个单词,
2) 以二元式形式输出单词 单词种类,单词属性
其中单词种类用整数表示:
0:标识符
1:十进制整数
2:八进制整数
3:十六进制整数
运算符和界符,关键字采用一字一符,不编码
其中单词属性表示如下:
标识符,整数由于采用一类一符,属性用单词表示
运算符和界符,关键字采用一字一符,属性为空
3、
原创力文档

文档评论(0)