词法分析器实验报告
姓名:
学号:时间:
实验内容:
用flex工具生成一个PL0语言的词法分析程序,对PL0语言的源程序进行扫描,识别出单词符号的类别,统计输出各种符号的信息
实验目的:
a理解编译器的工作机制b掌握编译器的构造方法c掌握词法分析器的生成工具LEX的用法d掌握语法分析器的生成工具YACC的用法
实验环境:
Wi
dowXP
VisualC60
Flexexe
实验要求:
1.实现预处理功能。
源程序中可能包含有对程序执行无意义的符号,要求将其剔除。
2.实现词法分析功能。
输入:预处理过的源程序。输出:把单词符号分为下面五类,然后统计PL0源程序中各单词符号出现的次数。
1K类(关键字)2I类(标识符)3C类常量)4P类(算符及界符)5O类(其他)
3.规则
语句类型:赋值语句,ifthe
whiledoreadwritecall复合语句begi
e
d,说明语句:co
stvarprocedure…
13个关键字:ifthe
whiledoreadwritecallbegi
e
dco
stvarprocedureodd
标识符定义为ide
tifier,在程序中由范式定义:ide
tifierletterletterdigit
常量定义为Co
sta
t,在程序中由范式定义:
f
umber
digit
界符作为bou
daryoperator,在程序中通过列举定义: