Language_6 - A Language with Nested, First Class, Anonymous Functions

The packages {@link language6}, {@link treelanguage}, {@link tree}, and {@link tokenizer} define a language of arithmetic and boolean expressions, with if-expressions, while-loops, and nested first-class functions, that use a Lisp like prefix notation.

The grammar for this language is in the file Language_6.txt

The file {@link Language_6_Examples} shows many examples of expressions in this language.

The file {@link Language_6} defines an interpreter for this language.

To build the interpreter, run (double-click)

   build_all_classes.cmd
then run
   build_jar_file.cmd
which builds an executable jar file for the interpreter program.

To run the interpreter jar file, on the command-line run

> Language_6.cmd
which runs the interpreter as a REPL (read eval print loop).

The files

are "script files" written in this language.

To run a script file using the interpreter, on the command-line run

> Language_6.cmd  script-1.Lan6
> Language_6.cmd  script-2.Lan6
> Language_6.cmd  script-3.Lan6

You can use the Language_6.cmd shell script without having to open a command-line window. This makes it easy to run the interpreter's jar file. If you double click on Language_6.cmd (after having built the jar file), it will run the interpreter as a REPL. If you drag-and-drop one of the "language scripts" onto Language_6.cmd, the shell script will execute the language script file using the interpreter's jar file.