LARA

The Amy Reference Compiler

The latest version available is 1.5. You can obtain it here:amyc_2.12-1.5.jar.

You can run it as follows:

java -cp amyc_2.12-1.5.jar amyc.Main [options] [input files]

To see the list of available options do

java -cp amyc_2.12-1.5.jar amyc.Main --help

The easiest way to execute a program is to run it in --interpret mode. If you want to generate WebAssembly binary code, you should follow these steps:

  • Install nodejs. In Linux, you can use a package manager as described here. For other operating systems, you can find installers here.
  • Make sure the wat2wasm executable is visible, i.e. it is in the system path or, for Linux or Mac, you are at the toplevel of the amyc directory (we don't have a compiled version for Windows yet, so you would have to download and compile it yourself for now)
  • Run npm install deasync at the directory you plan to run amyc
  • Run amyc without options. You will get a few output files.
  • Run nodejs <output file>.js

Bug Reports

We welcome bug reports! Please use the forum on Moodle for this purpose.

History

2017-11-14       1.5      Fix short-circuiting in codegen
                          Output wasm files in dedicated directory
2017-11-07       1.4      Fix typechecker error, reporter improvement
2017-10-10       1.3      Fix printer and reporter errors
2017-10-02       1.2      Fix parse error with Unit literal patterns
                          Code generator should work on any OS
                          Interpreter exits gracefully on division by 0
                          Some improved error messages
2017-09-20       1.1      Add warning for suspicious patterns
2017-09-19       1.0      First release