If a function name is in green, then that function plays a Java-specific role.
@
symbol are standard list arrays, and those preceded by the
%
symbol are associative arrays, and are referred to by
$array_name{key}
.
|
|
|
{key} is an alias |
|
{key} |
|
|
|
{key} is a variable type |
|
|
|
{key} is a test vector |
|
{key} |
|
{key}
|
|
{key} is a 'resolve-once' test vector
(see User Manual) |
|
|
|
{key} is a function name |
|
{key} is a member
function (and must be called as such) |
|
{key}
|
|
{key}
|
|
{key} |
|
{key}
|
|
== or + , etc.) recognized by the parser |
|
|
|
{key} is a variable |
|
{key} |
|
|
|
{key} is the name of an axiom |
|
Begin to initialize global state, setting arrays and useful global strings. |
|
Adds basic variable types int , boolean ,
char , and String to the lists of variable types, and
adds some basic operators to the lists of functions.
Sets arrays |
|
Add one specific type to the lists.
Takes new type name.
Sets arrays |
|
Add a typed constant by creating an alias.
Takes new constant name, constant type, value that that constant will take. Sets arrays |
|
Add unary function by creating an alias.
Takes new function name, function return type, alias that will replace any occurence of the function name, and parameter type. Sets arrays |
|
Add a new alias.
Takes the word that will be replaced, and the text string that will replace that word. Sets arrays |
|
Add infix, or simple built-in functions for the axiom parser to recognize.
These functions must be able to be recognized by Java itself, since the parser
will not replace these functions.
Takes the return value type of the function, the variable type that the
function can be used on (e.g. ' Sets arrays |
|
Processes the resource file .danishrc. Note that this function is not as
necessary in the web implementation, since the user interface calls Danish
with command line options.
Desires file .danishrc to be present, but this is not necessary. Sets arrays |
|
Processes command line options.
Requires Sets arrays |
|
Start using a new set of files, for example, axiom files, or signature files,
etc.
Outputs list of files of that type. |
|
Reads a new line from the current file list. |
|
Reads and parses alii.
Sets arrays |
|
Reads and parses signatures.
Sets arrays |
|
Reads and parses test vectors.
Sets arrays |
|
Checks all vector types for sanity.
Sets array |
|
Checks one vector type sanity.
Takes a vector name. Outputs a vector type.
Sets arrays |
|
Checks type sanity of parameters within test vector.
Takes a vector parameter location relative to operator (name.#, where # is 0, 1, or 2). Outputs variable type at that parameter location. |
|
Reads and parses axia.
Sets arrays |
|
Checks current axia for type, infix sanity.
Sets arrays |
|
Checks a specific axiom for sanity. Called recursively on shorter parts of
axia, called sub-axia.
Takes axiom name, sub-axiom location, desired type to check for, ternary ':' acceptability. Outputs type returned by sub-axiom |
|
Reads an expression, either axiom or vector, recursively.
Takes type, which is "A" for axiom, and "V" for vector Outputs location of root operation
Sets arrays |
|
Returns a matching signature from a signature list with a signature
Takes signature list, signature being matched Outputs signature, or "?" on fail |
|
Go to start of next symbol.
Outputs (not EOF) |
|
Return an identifier symbol
Outputs identifier word or "" |
|
Return an identifier or constant symbol
Outputs identifier word or "" |
|
Return a variable type symbol. Valid sequences are * ,
ident , {} , {*} , or {ident} ,
where ident represents a variable type symbol.
Outputs identifier word or "" |
|
Return a vector name. Valid sequences are ident or
{ident}
Outputs name or "" |
|
Return an alias definition (which will be replaced by another string).
Valid sequences are to EOL
Outputs: alias or "" |
|
Return an infix name. Valid sequences are ($infixSearch)+
Outputs name or "" |
|
Return the type of a constant
Takes the symbol for the constant Outputs : constant type of symbol |
|
Writes the main method to the Java class file, which calls each axiom-testing method and displays the results. |
|
Writes the axiom-testing methods. Each axiom gets two methods - one which simulates the left and right sides of the axia and returns whether or not they are equal, and on which runs that method on each possible combination of test vectors, recording the number of passes, fails, aborts, and reneges. |
|
Writes the vector-dispenser methods, which, when asked for the nth vector of a
certain type, returns that vector.
Sets arrays |
|
Writes the methods that build up the test vectors. |
|
Open output Java file and begins writing the tester class |
|
Finishes writing the tester class and closes the output file |
|
Returns variables, processing and result to evaluate an expression - works
recursively. This function holds the majority of the Java-specific work
Takes sub-expression location, and (? set Outputs variables, init code, result, type, lrvars |
|
Un-alias an alias
Takes a word Outputs the un-aliased version of that word if it is an alias. |
|
Returns whether or not the parameter is a simple variable
($DAt\d+ )
Takes an expression Returns true or false. |
|
Reports the current list of axia |
|
Reports current list of vectors |
|
Reports current list of signatures |
|
Reports current list of variable types |
|
Reports parameters Danish was called with |
|
Reports current list of alii |
|
Reports a syntax error if Danish is called incorrectlty and exits |
|
Report error and exit
Takes a string which is printed out. |
|
Returns current file, line number, symbols, current object
Outputs |
|
Returns an ASCII expression
Takes a location Outputs a string |
|
Returns a textual signature
Outputs text signature |