Skip to content
Example code for compilers textbook.
C Yacc Makefile Lex Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
chapter3/flex
chapter4/hand-written
chapter5
starter-code
tests
README.md

README.md

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.

You can’t perform that action at this time.