Language_4 - A Language of Expressions with Lexical Scope, Conditionals, and Loops

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

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

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

The file {@link Language_4} 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_4.cmd
which runs the interpreter as a REPL (read eval print loop).

The files

are "script files" written in this language. script-1 computes the gcd of two integers. script-2 determines if an integer is a prime number. And script-3 computes the prime factorization of an integer. These examples show that Language_4 is a real programming language.

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

> Language_4.cmd  script-1.Lan4
> Language_4.cmd  script-2.Lan4
> Language_4.cmd  script-3.Lan4

You can use the Language_4.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_4.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," script-1.Lan4 or script-2.Lan4, onto Language_4.cmd, the shell script will execute the language script file using the interpreter's jar file.