Skip to content

dthain/compilerbook-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.