Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 1.22 KB

README.md

File metadata and controls

32 lines (23 loc) · 1.22 KB

Example Code for Introduction to Compilers and Language Design

This repository contains some example code and test cases for the Introduction to Compilers and Language Design online textbook.

  • chapter3/flex contains a complete example of the flex program from chapter 3.

  • chapter4/hand-written contains a complete hand-written scanner and parser using the recursive descent technique for LL(1) grammars shown in chapter 4.

  • chapter5 contains several variations on the running calculator example, showing an incorrect example with multiple shift-reduce conflicts, a working validator, inline evaluator, and interpreter.

  • starter-code contains the starter code for the B-Minor project. This incorporates the header files defined in the text book, and gives a simple structure that will help to avoid some common software engineering pitfalls.

  • tests contains some sample test cases that demonstrate how to automate testing for each stage of the project. Note that the test cases are not necessarily comprehensive: both students and instructors are advised to carefully study the language, write new test cases, and discuss any areas of ambiguity.