A step to child i
of the current node, counting from zero.
Dependence record saying that the source attribute depends on
attribute
of a node with type type
that is the given step away.
A single step in the evaluation of an attribute.
The actual parser used to produce the AST.
The actual parser used to produce the AST.
A step to the previous node in a sequence.
A step to a node that doesn't fit into any of the other categories.
A step to the parent of the current node.
A step to the previous node in a sequence.
A step nowhere.
Check the supplied arguments, returning any arguments that are to be processed elsewhere.
Check the supplied arguments, returning any arguments that are to be processed elsewhere. Default: return the arguments unchanged.
Run the driver using the given args and return the resulting output, which may be error messages or the result of running the compiled program, for example.
Run the driver using the given args and return the resulting output, which may be error messages or the result of running the compiled program, for example. Read standard input from the specified console. Reset the message buffer before calling the driver.
Support Kiama-specific profiling dimensions.
Support Kiama-specific profiling dimensions.
Wrap the normal compiler driver in a profile
call, if we are profiling
(indicated by a -p
option with dimensions).
Wrap the normal compiler driver in a profile
call, if we are profiling
(indicated by a -p
option with dimensions). Before calling the driver,
extract the comma-separated profiling dimensions if they are there. If
dimensions are present, print reports along those dimensions, otherwise
enter an interactive shell to allow reports to be produced.
If not profiling, check for a -t
option and, if present, run the compiler
driver to collect timings.
If neither -p
nor -t
are the first option, just run the compiler driver
as normal.
The character encoding of input files read by this compiler.
The character encoding of input files read by this compiler. Defaults to UTF-8.
Process the program in the file given as the first command-line argument, read input using JLine input editing, and emit output to the standard output.
Process the program in the file given as the first command-line argument, read input using JLine input editing, and emit output to the standard output.
Make an AST from the file with the given name, returning it wrapped in
Left
.
Make an AST from the file with the given name, returning it wrapped in
Left
. Returns Right
with an error message if an AST cannot be made.
Print the dependency graph for the attribute evaluation represented
by record
.
Print the dependency graph for the attribute evaluation represented
by record
. The output is in dot form.
Function to process the input that was parsed.
Function to process the input that was parsed. filename
is the
name of the file from which the input came. ast
is the abstract
syntax tree produced by the parser from that file. console
should
be used to read anything needed by the processing. emitter
should
be used for output. emitterReturn true if everything worked, false
otherwise. If false is returned, messages about the problem should
be logged by process
using the messaging facility.
(Changed in version 2.9.0) The p0
call-by-name arguments is evaluated at most once per constructed Parser object, instead of on every need that arises during parsing.
Take any actions that need to be done at the start of reporting.
Take any actions that need to be done at the start of reporting.
Summarise the single step between two nodes at which attributes have been evaluated.
Summarise the single step between two nodes at which attributes have been evaluated.
(Since version 2.10.0) lastNoSuccess was not thread-safe and will be removed in 2.11.0
(Since version 2.10.0) lastNoSuccess was not thread-safe and will be removed in 2.11.0
A compiler that is capable of producing profiling reports. This trait augments the argument processing to allow a leading
-p
option to specify the profiling dimensions, or a leding-t
option to specify that timings should be collected.