实验一词法分析 下载本文

内容发布更新时间 : 2024/6/29 17:00:59星期一 下面是文章的全部内容请认真阅读。

实验一 词法分析

一、实验目的

通过设计、编写和调试词法分析程序,了解词法分析程序的作用,组成结构,不同种类单词的识别方法,掌握由单词的词法规则出发,画出识别单词的状态转换图,然后在用程序实现词法分析程序设计方法。

二、词法规则

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

程序详细设计: