一、目的(本次实验所涉及并要求掌握的知识点) 通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解
并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类
并依次输出各个单词的内部编码及单词符号自身值
(遇到错误时可显示“Error”,然后跳过错误部分继续显示) 二、实验内容与设计思想(设计思路、主要数据结构、主要代码结构、主要代码段分析等) 程序输入/输出示例: 如源程序为C语言
输入如下一段: main() { int a,b; a = 10; b = a + 20; } 要求输出如右图
(2,”main”) (5,”(“) (5,”)“) (5,”{“) (1,”int”) (2,”a”) (5,”,”) (2,”b”) (5,”;”) (2,”a”) (4,”=”) (3,”10”) (5,”;”) (2,”b”) (4,”=”) (2,”a”) (4,”+”) (3,”20”) (5,”;”) (5,” }“ ) 要求: 识别保留字:if、int、for、while、do、return、break、continue; 单词种别码为 1
其他的都识别为标识符;单词种别码为 2
常数为无符号整形数;单词种别码为 3
运算符包括:+、-、*、/、=、 、