1 unstable release

Uses old Rust 2015

0.1.0 Mar 8, 2019

#1065 in Programming languages

21 downloads per month

GPL-2.0 license

35KB
762 lines

jcompiler

Build Status Coverage Status lines of code

A compiler for the J programming language.

Documentation

The latest API reference for the master branch is available here.

Usage

You will need LLVM and Rust installed.

$ cargo build --release

You can then compile and run programs as follows:

$ target/release/jcompiler j_examples/test.ijs
$ ./test
Hello World!

By default, jcompiler compiles programs to executables that run on the current machine. You can explicitly specify architecture using LLVM target triples:

$ target/release/jcompiler j_examples/test.ijs --target=x86_64-pc-linux-gnu

Running tests

$ cargo test

TODO

  • Move integration_tests.sh to src/tests/compiler_tests.rs.
  • Improve parser/compiler error messages (especially using ansi_term crate).
  • Thoroughly document library code using inline rustdoc comments, publicly host at accessible URL.
  • Add crates.io, docs icons to README.md.
  • Add precompiled binaries for each tagged release in GitHub.

Dependencies

~5.5–8MB
~143K SLoC