Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tmcgilchrist/tiger
Compiler for Tiger language from "Modern Compiler Implementation in ML"
https://github.com/tmcgilchrist/tiger
compiler ocaml
Last synced: 2 months ago
JSON representation
Compiler for Tiger language from "Modern Compiler Implementation in ML"
- Host: GitHub
- URL: https://github.com/tmcgilchrist/tiger
- Owner: tmcgilchrist
- Created: 2016-08-29T00:40:26.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T13:32:46.000Z (5 months ago)
- Last Synced: 2024-10-13T21:28:49.164Z (3 months ago)
- Topics: compiler, ocaml
- Language: OCaml
- Homepage:
- Size: 354 KB
- Stars: 17
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
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:``` shell
# 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