All Classes and Interfaces
Class
Description
The AST node is a terminal node that can be printed with a method implemented
by subclasses.
The caching interval set is a regular interval set
IntervalSet but the @link
org.antlr.v4.runtime.misc.IntervalSet#contains(int)} method also does caching
of the queries if the set has been set to readonly.The channel filter accepts all tokens that are not from a lexer channel that
is on the given list of disallowed channels.
This class contains utility methods that allow maintaining Java 8 API
compatability.
This class models unparsed directives with the # sign.
The types of directives that can be generated.
The dynamic parse tree walker can handle some structural modification of a
node's child array.
The empty terminal node is a placeholder in parse tree children lists in
order to prevent exceptions from being thrown because the parse tree walker
expects child lists not to change length during iteration.
This annotation causes the annotated method to be excluded from the jacoco
coverage report.
The execution planner finds a valid way of satisfying the root
transformation's dependencies.
Implements custom behavior in parse rule contexts.
This class is used as the base parser class in code generated by ANTLR.
The extended terminal node has additional functionality over the regular
terminal node.
The filter token source wraps another token source but reads tokens from it
until a given filter accepts one.
The default
WrappedParameters implementation uses the
NonFixedJobParameters which means that it never produces cached
execution plans.A handler target contains a string to search for and a method that is called
to handle finding the string in a parse tree.
Implements a handler target in a simple way by simply being constructed with
a fixed needle.
All job parameters have to extend this job parameter base class.
Implemented by classes that have an execution planner parent and can receive
job parameters.
This implementation of a lifecycle user may be used if a class can be
extended.
The move checkable interface provides a method for checking if the
implementing node replaces a given node.
A multi filter checks all contained filters with either requiring all of them
or at least one of them to allow the token.
The newline filter filters out regular unnecessary newlines if there is more
than one.
This class is used when the job parameters have no fixed part and the
execution plan can't be statically optimized for certain job parameter
combinations.
The parsable a AST node defines how AST nodes that can be converted back into
parse tree nodes are handled.
A parsed replace target generates a node from parsing a string for each
replacement.
A parsed replace target generates a new parsed node from a stored string each
time a replacement is handled.
Adds a method to the parse tree listener with which the parse tree walker can
detect if it should stop walking the tree.
The print visitor visits the parse tree and reprints it while preserving the
position and content of hidden tokens.
This class was taken from here
and was added to the public domain by the author DaveJarvis.
A replacement target searches for a search string and uses a method to
generate a tree member to replace it in the tree.
A run phase simply executes one method when it is executed in a level by the
execution planner.
This phase finds targets in specified target token types (usually
identifiers) and triggers their handlers.
This class extends the search terminals implementation by adding at method
SearchTerminalsDynamic.getTargetsDynamic() that returns the list of targets to search for
dynamically but is only called if the targets are every actually needed.This implementation of the search terminals transformation phase uses static
fields to return the targets and the terminal token type.
The semantic exception should be thrown by a transformation phase when the
parsed code has semantic errors or there is some other content-related reason
why the transformation process should be halted.
The string token filter disallows tokens that are matched against a set of
disallowed strings.
String node provides a terminal node with arbitrary contents.
A tensor abstractly represents the many multidimensional number types that
GLSL has.
The different ways bits in a tensor can be interpreted.
The shape is an array of up to three integers describing how big this
tensor is in each dimension.
A terminal replace target replaces the target with a terminal string node.
This terminal replacement target uses a given string to generate terminal
nodes to use as replacement nodes for replacing found targets.
A target that searches for a search string in and upon finding a match uses a
method to generate a string for a semantic exception which is then thrown.
A throw target that has a fixed message it puts into the exception that's
thrown when the target is found.
A list of the possible channels a token can have.
A token filter is an object that can check if given tokens should be printed
or not.
The transformation holds information about dependencies between
transformation phases and nested transformations.
Implements the execution planner by providing the boilerplate code for
setting
up an input, a lexer and a parser.
The transformations phase actually does a specific transformation.
Shader code is expected to be roughly structured as follows:
version, extensions, other directives (#define, #pragma etc.), declarations
(layout etc.), functions (void main etc.).
A tree member has a parent and its tokens can be omitted.
The unparsable AST node is basically just a wrapper around a terminal node
that contains a custom string.
The walk phase is a phase on which the listener methods of the generated
listener interface are called.
The wrap identifier transformation wraps the usage of a certain identifier
with new code by replacing its usage with a new expression and inserting code
that takes care of handling the conversion from the new to the old value.
The dynamic wrap identifier transformation has a number of abstract methods
that can be implemented in order to dynamically supply the parameters for
this identifier wrap operation.
A wrap identifier transformation that injects an external declaration at a
specified location.
This class simply wraps a parameter object that extends the job parameter
type.
The wrap target is used for detecting the presence of a wrap result.
This implementation of the wrap target uses a field for statically holding
the wrap result.