摘要:由于编译原理的算法比较抽象,要理解它们很难。利用可视化技术可以使得这些算法的学习过程容易些。一个编译算法动画演示系统被设计出来以满足这方面的需要。该系统实现了词法分析和语法分析中的基本算法,由网页和Java Applet程序构成。Java Applet程序用图和表显示动态数据的方式模拟算法执行过程。由于采用了基于网页的方式实现系统,系统易部署且通过一个浏览器如IE即可访问。
关键词:编译原理 算法演示 词法分析 语法分析 Java Applet
Abstract: It is very difficult to understand compiling algorithms because of their abstractness. Visualization technology can be used to make the learning process for these algorithms easier. A compiling algorithm animation system was designed to meet this need. The system, which consisted of web pages and Java Applet programs, implemented the basic algorithms in lexical analysis and grammatical analysis. The Java Applet programs simulated the algorithms by showing the dynamic data with graphs and tables. Web-based implementation makes the system easily deployed and accessible with a web browser like IE.
Keyword: Compiling Principle; Algorithm Animation; Lexical analysis; Grammatical analysis; Java Applet
1 前言
编译器是一个程序,它读入用某种语言(源语言)编写的程序并将其翻译成一个与之等价的以另一种语言(目标语言)编写的程序。我们接触最多的高级语言,如JAVA、C++、VB等,要在计算机中运行都离不开编译器。世界上存在上千种源语言、上千种目标语言,同时也意味着存在上千种编译器。编译器虽然是多种多样的,但是它们所要完成的基本任务都是相同的。由于编译器的普遍性和重要性,学习编译器原理对深入理解计算机体系的意义就更为重大了。但是由于编译原理的理论及算法都比较抽象,要理解它们并不容易。但如果把这些算法的过程都以可视化技术[2-3]显示出来,就比较容易被理解了。想想看,如果把它作为辅助教学的,抽象的算法过程都以图形化的方式直接显示出来,学生就可以快速的理解算法的思想及过程,从而大大的提高学习效率以及教学效果。