Skip to content

ludwigpacifici/saumon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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