Compilers: principles, techniques, and tools
2007
Sign up for access to the world's latest research
Abstract
AI
AI
The document outlines a course on compiler design that requires fundamental knowledge in computational theory, algorithms, and programming skills. It covers essential topics such as type checking, intermediate code generation, and control-flow analysis in the context of practical programming projects and individual assignments aimed at reinforcing classroom learning. Grading is structured around homework, projects, and exams, with resources and communication guidelines provided for students.
Related papers
ACM SIGCSE Bulletin, 2007
In traditional compiler construction courses, each compiler phase is studied in detail before moving on to the next one. This not only places a great distance between theory and practice but also makes the students lose the big picture of the subject. We have been employing a different course format in which the subject is incrementally introduced through ten compilers of increasingly complexity. The first compiler is in fact just a syntax analyzer of a very simple language. The last one is a complete compiler of a Pascal-like language. Students of this course learn how to build compilers faster than the usual.
ACM SIGCSE Bulletin, 1981
2007
We have designed a Compiler Algorithm Language (CAL) to provide compiler writers with a language which is close to actual algorithmic notation. In this work, we have developed an interpreter and debugger for CAL which can be used by researchers for algorithm testing. We also provide a compiler that can translate CAL programs to C code which can be plugged elsewhere. We have provided a Graphical User Interface to make it convenient for the user to use the interpreter and compiler. Another feature of our system is web-enabling of the entire project so that a remote user would not have to download the entire code. Altogether, we have attempted to save the compiler writers from the trouble of writing lengthy programs for their algorithms.
Having 300 students a year implement a compiler is very questionable, since the industry will certainly not recruit them for this competence, yet we made that decision five years ago, for reasons not related to compiler construction. We detail these motivations, the resulting compiler design, and how we implemented this. The project meets its goals, since the majority of former students invariably refer to it as the project that taught them the most.
Courses on Grammars, Parsing and Compilation of programming languages have always been some of the core components of a computer science curriculum. The reason for this is that from the very beginning of these curricula it has been one of the few areas where the development of formal methods and the application of formal techniques in actual program construction come together. For a long time the construction of compilers has been one of the few areas where we had a methodology available, where we had tools for generating ...
1985
The first book on the derivation of correct programs with the help of predicate calculus was "A Discipline of Programming" by E.W. Dijkstra which was published by Prentice Hallin 1976. Each chapter of this book derives a beautiful and remarkably simple program for problems which range from easy to very difficult. The derivation of most of these programs requires creative
Like its ancestor, it is intended as a text for a first course in compiler design. The emphasis is on solving p b l c m s universally cnwuntered in designing s language' translator, regardless of the source or target machine.
IEEE Transactions on Education, 2003
Compiler construction is a well developed discipline since there is a long tradition of producing compilers supported by practical underlying theory and a large selection of textbooks.

Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.