Pascal 词法分析器和字符计数程序 编译原理课程实验报告
编译原理课程实验报告
一、实验内容:
1、编写Pascal语言的词法分析器,可以手工编写,也可以利用LEX工具生成。
2、编写一个LEX源文件,使之生成可统计文本文件中字符、单词和行数,并能够
报告统计结果的程序,其中单词定义为字母、数字串,标点、空格不计算为单词。
二、实现原理:
1、词法分析器
对输入的程序进行分析,将关键字,保留字与系统标识符分开,并对其属性进行
说明。
建立数组,将单词读入,对单词进行判断,通过扫描对照关键字表来识别关键字。
2、字符计数
识别空格,区分单词和其他符号,循环计数。
三、实验环境
工具:Parser Generator 0.60 lex/yacc 编辑器
平台:Windows Server 2003 Enterprise
四、源程序:
两个源程序实现如下
1
3
4
2
字母
字母
数字
数
字
数
字
Pascal 标识符
Pascal整数和实数
0
1
3
4
6
5
2
7
0
0
d
d
d
d
d
d
d
�
E
E
+
–
7
*
*