Design and implementation of the UW Illustrated compiler
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
VisiCLANG—a visible compiler for CLANG
ACM SIGPLAN Notices
CUPV—a visualization tool for generated parsers
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Using visualization tools to teach compiler design
CCSC '00 Proceedings of the fourteenth annual consortium on Small Colleges Southeastern conference
Cool: a portable project for teaching compiler construction
ACM SIGPLAN Notices
Algorithms + Data Structures = Programs
Algorithms + Data Structures = Programs
Making compiler design relevant for students who will (most likely) never design a compiler
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Modern Compiler Implementation in Java
Modern Compiler Implementation in Java
Designing effective program visualization tools for reducing user's cognitive effort
Proceedings of the 2003 ACM symposium on Software visualization
A flexible tool for visualizing assembly code
Journal of Computing Sciences in Colleges
Hide and show: using real compiler code for teaching
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Thoughts on and tools for teaching compiler design
Journal of Computing Sciences in Colleges
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Educational Pascal compiler into MMIX code
Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006
Bantam: a customizable, java-based, classroom compiler
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Frances: A Tool for Understanding Computer Architecture and Assembly Language
ACM Transactions on Computing Education (TOCE)
A Review of Generic Program Visualization Systems for Introductory Programming Education
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.03 |
This paper proposes a novel visualization tool for educational compilers, called MieruCompiler. Educational compilers that generate native assembly code like i386 have many practical and pedagogical advantages, but they also have a disadvantage that the undergraduate students need to acquire a wide range of knowledge on native machine instructions, assembly directives, application binary interface (ABI), so on. To reduce this learning cost, MieruCompiler provides various visualizations as a rich internet application (RIA) including: (1) highlighting all related slices (called "horizontal slicing" after [13], but not implemented in [13]) among the source code, abstract syntax tree, assembly code, symbol table, stack layout and compiler code, when the user hovers the mouse pointer over a piece of them, (2) displaying tooltips for machine instructions, assembly directives, etc., and (3) visualizing stack layouts which are very likely to be implicit. As a preliminary evaluation, MieruCompiler was used in two universities, which produced promising results.