内容发布更新时间 : 2024/11/9 0:47:09星期一 下面是文章的全部内容请认真阅读。
《320144X1(编译原理)》 实验报告 项目名称 编译原理 专业班级 软件工程1403 学 号 姓 名 温睿诚 实验成绩: 批阅教师: 年 月 日 第一部分 词法分析(实验一必作)
实验一 词法分析程序设计与实现
实验报告要求
详细说明你的程序的设计思路和实现过程。用有限自动机或者文法的形式对词法定义做出详细说明,说明词法分析程序的工作过程,说明错误处理的实现。
设计思路:
首先把单词进行分类,分为
String[] keyword = {\, \};
ArrayList
五类,分别是关键字、标识符、常数、运算符以及分隔符。
然后逐个字符读入,对于关键字或标识符这类英文单词开始的单词,用空格隔开,其他可以用分隔符、运算符、空格、回车等。
读入一个单词后对照一开始的五类分析出是哪一类,符合后交给语法分析器处理。 实现过程: import java.io.*;
import java.util.ArrayList;
/** * Created by 温 睿诚 on 2016/5/11/0011. */ public class CiFa {
String[] keyword = {\, \};
ArrayList
ArrayList
//当前单词
StringBuilder str = new StringBuilder(\); //下一个要读的字符 char now; //一个栈
ArrayList
private void put() {
stack.add(new Character(now)); }
private char pop() { if (stack.size() >0) {
return ((Character) stack.remove(stack.size() - 1)).charValue(); } else { return 0; }