Skip to content

Compiler for Tiger language from "Modern Compiler Implementation in ML"

Notifications You must be signed in to change notification settings

tmcgilchrist/tiger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tiger - Compiler for Tiger language from "Modern Compiler Implementation in ML"

The Tiger language is a small language with nested functions, record values with implicit pointers, arrays, integer, string variables and a few simple structured control constructs.

Development

For development you will need to install core and menhir. For running tests you will need to install the oUnit package and reconfigure the build process to enable tests:

# Setup isolated sandbox/switch
opam switch create 4.13.0-tiger 4.13.0
opam switch link 4.13.0-tiger

# Install dependencies
opam install --deps-only . -ty

# Building
dune build @all

# Testing
dune build @runtest --force

Tests are under test directory.

Tiger Examples

There are some examples of Tiger programs under examples.

Copyright and license

tiger is distributed under the terms of the Berkeley software distribution license (3 clauses).

Resources

http://janmidtgaard.dk/quickcheck/slides/day3.pdf https://github.com/iitaku/tiger/blob/master/chap4/ocaml/semant.ml https://github.com/gnuvince/ocaml-tiger/blob/master/semant.mli https://github.com/thizanne/tiger/blob/14e4c9a6005d1455122f366a965e487434219f47/src/semant.ml

About

Compiler for Tiger language from "Modern Compiler Implementation in ML"

Topics

Resources

Stars

Watchers

Forks

Languages