SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Modern compiler implementation in Java
Modern compiler implementation in Java
VCOCO: a visualisation tool for teaching compilers
ITiCSE '98 Proceedings of the 6th annual conference on the teaching of computing and the 3rd annual conference on Integrating technology into computer science education: Changing the delivery of computer science education
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
OO design in compiling an OO language
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
CUPV—a visualization tool for generated parsers
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
The Java Class Libraries Volume 2: java.applet, java.awt, java.beans
The Java Class Libraries Volume 2: java.applet, java.awt, java.beans
Abstraction and visualization in graphical debuggers
Abstraction and visualization in graphical debuggers
The ART of compiler construction projects
ACM SIGPLAN Notices
VAST: visualization of abstract syntax trees within language processors courses
Proceedings of the 4th ACM symposium on Software visualization
MIPSPILOT: a compiler-oriented MIPS simulator
Journal of Computing Sciences in Colleges
MieruCompiler: integrated visualization tool with "horizontal slicing" for educational compilers
Proceedings of the 41st ACM technical symposium on Computer science education
An interactive parser generator for context-free grammars
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
A project-based compiler course presents several challenges to the student-implementor. In addition to the “book learning about” various compiler topics, a student must assimilate a large amount of information about the compiler's implementation. Furthermore he or she must be able understand each source-program construct at a number of different representation levels. Finally, the student must apply that knowledge during implementation and debugging of a compiler.This paper describes a pair of packages that employ Java's graphical capabilities so that a program may be visualized at various stages of the compilation process. We argue that these tools are effective in helping students understand the transformation process from source program to machine code. We summarize our experience in using these tools in the context of a project-based compiler course. We also discuss other features of Java that make it well-suited for a student compiler project.