ANTLR: a predicated-LL(k) parser generator
Software—Practice & Experience
Modern compiler implementation in Java
Modern compiler implementation in Java
Cool: a portable project for teaching compiler construction
ACM SIGPLAN Notices
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
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
A compiler for teaching about compilers
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Making compiler construction projects relevant to core curriculums
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
The compiler course in today's curriculum: three strategies
Proceedings of the 37th SIGCSE technical symposium on Computer science education
MARS: an education-oriented MIPS assembly language simulator
Proceedings of the 37th SIGCSE technical symposium on Computer science education
A proposal for automatic evaluation in a compiler construction course
Proceedings of the 16th annual joint conference on Innovation and technology in computer science education
An interactive parser generator for context-free grammars
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
Compiler construction is a widely used software engineering exercise, but because most students will not be compiler writers, care must be taken to make it relevant in a core curriculum. Auxiliary tools, such as generators and interpreters, often hinder the learning: students have to fight tool idiosyncrasies, mysterious errors, and other poorly educative issues. We introduce a set of tools especially designed or improved for compiler construction educative projects in C++. We also provide suggestions about new approaches to compiler construction. We draw guidelines from our experience to make tools suitable for education purposes.