1、计算机专业软件类课程实验报告课程名称: 编译原理实验题目: 词法分析器设计实验小组成员:实验小组组长:任课教师:专业名称: 计算机科学与技术班级名称: 计科 1 班实验起止时间: 2014-5-82014-5-15一、实验目的1、要求设计交互界面,能输入能转换能输出,形式和风格自定。2、设计一个词法分析程序,理解词法分析器实现的原理,掌握程序设计语言中的各类单词的词法分析方法,加深对词法分析原理的理解。2、实验内容1、对给定的程序通过词法分析器能够识别一个个单词符号,并以三元式(单词行号,单词符号的属性值,单词符号类别)显示。如果有错误,统计总共有多少个错误,并且将每个错误所在行号,以及属于哪
2、种错误显示出来。2.本程序自行规定:(1)关键字“program“, “example“, “const“, “var“, “interger“,“begin“, “void“, “String“, “System“, “out“, “println“, “end“, “if“,“else“, “for“ ,“char“,“to“,“do“,“then“(2)运算符“=“, “= 1 / System.out.println(“格式不正确“);statue = 6;print(i);break;if (judge = 0) / System.out.println(“常量“);statue =
3、 4;print(i); else if (temp0 = 0) if (temp.length 1) / System.out.println(“不能以0 开头“);statue = 7;print(i); else statue = 4;print(i); else if (temp0 = a else judge = 1;break;if (judge = 0) / System.out.println(“标识符“);statue = 5;print(i); else / System.out.println(“格式不正确“);statue = 6;print(i); else / Sy
4、stem.out.println(“格式不正确“);statue = 6;print(i);public void print(int i) switch (statue) case 1:/ System.out.println(“运算符“);list += row + “t“ + cachei + “tt“ + “运算符“ + “n“;break;case 2:/ System.out.println(“c“);list += row + “t“ + cachei + “tt“ + “保留字“ + “n“;break;case 3:/ System.out.println(“界符“);lis
5、t += row + “t“ + cachei + “tt“ + “界符“ + “n“;break;case 4:/ System.out.println(“常量“);list += row + “t“ + cachei + “tt“ + “常量“ + “n“;break;case 5:/ System.out.println(“标识符“);list += row + “t“ + cachei + “tt“ + “标识符“ + “n“;break;case 6:/ System.out.println(“格式不正确“);error += row + “t“ + cachei + “tt“ + “格式不正确“ + “n“;count+;break;case 7:/ System.out.println(“不能以0开头“);error += row + “t“ + cachei + “tt“ + “不能以0开头“ + “n“;count+;break;default:break;