This directory contains ATJ (= ACL2 To Java), a Java code generator for ACL2.


documentation.lisp

  User-level XDOCumentation of ATJ.


implementation.lisp

  Implementation of ATJ, including implementation-level XDOCumentation.


top.lisp

  Top-level ATJ file for the ACL2+Books manual. Includes the two files above,
  which are the only ones with XDOCumentation.


test-*.lisp (except test-times.lisp)

  Tests for ATJ. Each includes the definition of some ACL2 functions, and a call
  of ATJ to generate Java code for those functions.


test-times.lisp

  Includes all the other test-*.lisp files, and provides utilities to run them
  while collecting, and printing on the screen, their execution times. This is
  useful to compare the speed of ACL2 execution with the speed of the
  corresponding Java code.


test-abnf-files/*.txt

  Input files for the ABNF tests. These are stored as binary files so that the
  CR+LF line endings, required by ABNF, are preserved by the version control
  system.


*.acl2

  The usual ACL2 files with certification instructions.


*.java (except Test*.java)

  Java source files generated by ATJ. These are not under version control,
  because they are generated when the test-*.lisp files above are certified.


Test*.java

  Java source files with test harnesses for the generated Java code. These files
  are handwritten (not generated) and are under version control.


*.class

  Java class files generated when the corresponding source files are compiled
  (e.g. by test-compile.sh, see below). These are not under version control.


test-compile.sh

  Script to compile all the generated and handwritten Java files. Assumes that
  Java 10's javac is on the path.


test-run.sh

  Script to run all the tests (with certain choices of inputs), collecting and
  printing time measurements. Assumes that Java 10's java is on the path.
