CMM解释器项目文档 下载本文

3. 工具栏

打开 清楚 词法 语法 解释 最大化 正常化 about 最大化效果:

4. 输入区

输入区分3个标签:Welcome,Coloredinput,Explore

13

Welcome:在进入程序的时候用来知道用户,并且提供一个示例。同时它还是一个编辑文本框,但是它是一个轻量级的TextArea。

Coloredinput:这是一个带有语法高亮显示的强类型文本编辑框

Explore:这是一颗读取当前计算机文档系统结构的树,可以当成资源管理器,来打开文档

14

文件,方便快捷!!

5. 输出区和异常出错区

输出区,依然是3个 标签页分表输出词法,语法,解释结果。

问题出错异常区:

15

界面介绍到此结束,我的界面感觉还有很多可以改进,而且非常得简陋,但是我觉得界面的设计在于花时间去构思去调试,用手写java代码一样可以出好界面。

最后我想引用桂浩老师的一句话:“谁说java做不出好看的界面?做不出好看的界面是你自己的事,不要怪java。”

六、小结

1. 总结本次工作,包括对完成的解释器的特色分析、功能分析、测试结果的分析等;

通过制作解释器,熟悉并且了解了swing组件的应用,以及一些周边的技术,如JTree,JEditorpane等,收获良多。 功能分析:我们的解释器完成了所要求的所有功能,通过了测试用例的测试,表现良好。 测试结果分析:通过测试结果,我们得到反馈,并且急事修正了一些bug,已经完成了预期的作用。

2. 在完成项目中所遇到的问题及解决方法;

1)字符串读入输出汉字乱码问题

通过加入str = new String(str.getBytes(“ISO-8859-1”),”gb2312”);进行编码转换

2)Break语句及函数问题

最初设计时要加入break语句和函数,但在处理break语句和函数中return语句返回位置继续执行时遇到困难,问题有待解决。 3)多维数组越界判断问题 数组越界是运行时错误,通过得到语法树中的结点来判断多维数组的越界。 3. 设计实现的经验和体会。 通过设计实现解释器,对递归下降分析法和Java的面向对象思想有了进一步了解,同时没有实现函数和break语句,也让我们认识到自身的不足。

七、参考资料

《JAVA图形用户界面设计与实例》 金工业出版社出版 《编译原理》(第二版)机械工业出版社 《Java编程思想》(第四版)机械工业出版社

16