1、编译原理实验1实验三 用 C语言编写 TINY语言的词法分析器一、实验内容:用 C 语言编写 TINY 语言的词法分析器,并用该词法分析器分析某个 TINY 语言源程序,将识别出的单词以二元组的形式显示到屏幕上。二、实验目的:掌握用 C 语言编写生成词法分析器的方法;三、实验要求1.写好实验预习报告;2.编写上机的 C 语言描述的词法分析器和测试程序;3.写出实验结果;4.实验完后要上交实验报告;四、相关说明TINY 的单词记号分为三种典型类型:保留字、特殊符号和“其他”单词。保留字一共 8 个,特殊符号包括运算符和界符:分别是四种基本的整数运算符号,两种比较符号(等号和小于) ,以及括号、分
2、号和赋值号。除赋值号是两个字符的长度以外,其余均为一个字符。TINY 的标识符是一个或多个字母的序列。数是一个或多个数字的序列。TINY 的单词如下表所示:保留字 特殊符号 其他if then 数(一个或多个数字)else end /repeat =until read (write );:=标识符(一个或多个字母)除了单词之外,TINY 还要遵循以下词法规则:注释应放在花括号中,且不可嵌套;代码应是自由格式;空白符由空格、制表位和新行组成。五、实验器材硬件:PC 机一台软件:Turbo C、LEX.EXE六、参考程序1.C 语言描述的词法分析器:shiyan3.c编译原理实验2编译原理实验3编译原理实验42.测试程序:test.txtif x3then y:=(x+3)*4else y:=x-3end3.实验过程与实验效果如下图所示: