Skip to content


  • by


Read Chapter 3

Please bear in mind that this is a compiler design course (i.e. not a programming course); therefore, the proposed solutions should not be just about how these problems could be programmatically implemented. It is important to look at the problems from the perspective of computer theories and language specifications (i.e. such as context-free grammars, Turing Machines, Finite State Diagrams, etc.). Derivations and coding snippets at compiler level would be desirable.

Please answer each item separately and disjointly (i.e. do not lump everything into a huge chunk of a run-on essay/solution).  Please include each question/problem in its entirety before answering. Please start a new page with each item. This is to ensure that there is no confusion as to which item you are answering in your ensuing answer section. Please number each item clearly. This particularly important for the Exercise Problems. If there is any discrepancy in textbook version, favorable credits can be awarded in your advantage if the intended original Exercise Problem has been included and clearly numbered.

Coding samples are necessary but not sufficient; it is important to solve the problems from the perspective of a compiler designer (i.e. not just a programmer writing codes). Do not simply explain the logic in text; do not just give programming examples. Please provide design diagrams, compiler-related theories, grammars and derivations. The examples should come from the angle of a compiler designer who may be providing these programming features (i.e. state-flow, paradigms, machines, etc.).

You should offer examples for all items including plenty of technical and coding details with supporting visualizations. Your examples should be compact and meaningful and should not be “space eaters” (for example, giving pages of broad-angled codes).


Here are some optional materials that hopefully can offer some thoughts. You are encouraged to go above and beyond and research other course-related information that may interest you. Please feel free to share your findings with the class during discussion.


Recursion v Tail Recursion and Stack Frames

How the Compiler Implements Closures (C# Example)


Optional Parameters in Java: Common Strategies and Approaches

error: Content is protected !!