Skip to content

errmeier/compilerbook-examples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 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.

About

Example code for compilers textbook.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 69.0%
  • Yacc 12.3%
  • Makefile 8.5%
  • Lex 6.6%
  • Shell 3.3%
  • C++ 0.3%