内容发布更新时间 : 2025/1/8 4:09:12星期一 下面是文章的全部内容请认真阅读。
实验一 词法分析
一、实验目的
通过设计、编写和调试词法分析程序,了解词法分析程序的作用,组成结构,不同种类单词的识别方法,掌握由单词的词法规则出发,画出识别单词的状态转换图,然后在用程序实现词法分析程序设计方法。
二、词法规则
1、注释用{和}括起来。注释体中不能有{。注释可以出现在任何记号的后面。
2、记号间的空格可有可无,但关键字前后必须有空格、换行、程序的开头或者结尾的原点。
3、标识符的记号id 与以字母开头的字母数字串相匹配: Letter->[a-zA-Z] Digit->[0-9]
Id->letter (letter | digit)*
4、记号num与无符号整数相匹配: Digits->digit digit*
Optional_fraction -> . Digits | ?
Optional_exponent->(E(+ | - | ? ) digits) | ?
Num ->digits optional_fraction optional_exponent
5、关键字要被保留且在文法中以黑体出现
6、关系运算符(relop)指:=、<、<>、<=、>=、> 7、Addop: + 、 - 、or
8、Mulop:*、/ 、div、mod、and 9、Assignop: :=
三、词法分析程序详细设计及判别状态图
1、无符号数(可带小数和指数)的状态转换图:
E/e数字数字.数字数字E/e+/-数字56数字其他012347其他其他数字 2、
3、标识符/关键字的状态转换图:
字母或数字其他1字母02
程序详细设计: