Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Saumon ><>

Lox language implemented in OCaml.

Goals

  • Learn about compiler front ends and interpreters.
  • Play and learn with OCaml and its ecosystem. Note, this implementation diverge slightly from the book ; OCaml idiomatic code is quite different from Java (used for the original implementation).
  • Keep the same learning philosophy as in the book: abstain of using tools like Lex or Yacc and do "everything by hand".

Build and tests

Build with Dune:

$ dune build @install
$ dune exec saumon

Install with Opam:

$ # cd project/root/folder
$ opam install .

Test with:

$ dune runtest

Usage

To use saumon in interactive mode, simply run:

$ saumon

To interpret a file, use:

$ saumon <filename>

Continuous Integration Build Status

Travis CI: https://travis-ci.org/ludwigpacifici/saumon

Progress

Acknowledgments

  1. Designed by Bob Nystrom, A handbook for making programming languages.
  2. Inspired by Rulox.

License

See LICENSE.

About

Lox language implemented in OCaml

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages