哈工大编译原理实验一词法分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32285991/article/details/78432954

这是我自己写的一个比较简陋的词法分析吧

但也是耗费了心血的

还是放在这里希望对你们有用~~

实验指导书里面的图都是我用心画的哈哈哈

实验报告:http://download.csdn.net/download/qq_32285991/10125099

词法分析器的代码


实验要求:

实验1 词法分析

实验目的

1.巩固对词法分析的基本功能和原理的认识。

2.能够应用自动机的知识进行词法分析。

3.理解并处理词法分析中的异常和错误。

实验内容

设计实现类高级语言的词法分析器基本功能为识别以下几类单词:

Ø 标识符(由大小写字母、数字以及下划线组成,但必须以字母或者下划线开头)

Ø 关键字(①类型关键字:整型、浮点型、布尔型、记录型;②分支结构中的if和else;③循环结构中的do和while;④过程声明和调用中的关键字)

Ø 运算符(①算术运算符;②关系运算符;③逻辑运算)

Ø 界符(①用于赋值语句的界符,如“=”;②用于句子结尾的界符,如“;”;③用于数组表示的界符,如“[”和“]”;④用于浮点数表示的界符“.”)

Ø 常数(无符号整数和浮点数,包括科学计数法,字符串常数等)

Ø 注释(/*……*/形式)

除此之外,可以实现一些额外功能,如

(1)   识别字符常数、八进制和十六进制数。

(2)    能够应用子集构造法从输入的NFA自动生成DFA。

实验要求

(1)要求基于DFA技术设计词法分析器。

(2)系统的输入形式:要求能够通过文件导入FA转换表测试用例,可以通过用户界面显示并编辑测试用例。测试用例要涵盖“实验内容”中列出的各类单词,并包含各种单词拼写错误。

(3)系统的输出分为两部分:一部分是打印输出词法分析器的 DFA 转换表。另一部分是打印输出源程序对应的 token 序列

猜你喜欢

转载自blog.csdn.net/qq_32285991/article/details/78432954