All Classes and Interfaces

Class
Description
This class provides some basic Trie functionality and utility methods for actual bitwise Trie implementations.
Models things on which an activation supplier can be set.
Combines activatable and lifecycle user functionality.
 
 
 
 
 
 
The AST builder is a visitor of the parse tree (not an AST visitor) that generates AST nodes from parse tree nodes.
 
The AST listener interface has a method for entering and exiting each non-terminal AST node.
 
The AST node represents a node in the abstract syntax tree.
The AST printer emits tokens to convert an AST node into a string with the help of a few other utility classes.
 
 
The AST visitor knows how to traverse the AST and visit each node.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Used to specify how often a CachingSupplier should be evaluated.
The caching interval set is a regular interval set IntervalSet but the @link org.antlr.v4.runtime.misc.IntervalSet#contains(int)} method does caching of queries.
Wraps a supplier and caches its result according to a given cache policy.
 
 
 
The channel filter accepts all tokens that are not from a lexer channel that is on the given list of disallowed channels.
A child list that notifies the given parent of child additions.
 
This class contains utility methods that allow maintaining Java 8 API compatability.
 
 
 
Extends a transformation with methods for making it easily configurable.
Holds utility methods for configuring core transformations and transformation phases.
 
 
Shader code is expected to be roughly structured as follows: version, extensions, other directives (#define, #pragma etc.), declarations (layout etc.), functions (void main etc.).
Implements the execution planner by providing the boilerplate code for setting up an input, a lexer and a parser.
 
 
 
 
 
 
 
 
 
This class models unparsed directives with the # sign.
The types of directives that can be generated.
 
 
 
 
Base class for trie variants that insert more than one entry per key.
 
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.
The enhanced parser does more than just parsing.
Enum for the parsing strategy.
 
 
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.
 
 
 
 
 
 
 
 
 
 
The "read" subset of the Map interface.
 
 
 
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.
 
Indexes identifiers based on their content and enabled fast string queries.
 
 
 
 
 
Index<T extends ASTNode>
 
 
 
 
 
 
 
 
 
 
 
The "read" subset of the Map interface.
Defines a map that can be iterated directly without needing to create an entry set.
 
All job parameters have to extend this job parameter base class.
Defines the interface to analyze Trie keys on a bit level.
 
 
 
 
 
 
 
 
 
 
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.
 
 
 
 
 
 
 
 
Defines an iterator that operates over a Map.
 
 
 
 
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.
Indexes nodes based on their ASTNode subclass and enables fast queries for nodes by type.
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.
Defines an iterator that operates over an ordered container.
Defines a map that maintains order and allows both forward and backward iteration through that order.
Defines an iterator that operates over an ordered Map.
 
 
The parsable a CST node defines how CST 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.
 
Implementation of a PATRICIA Trie (Practical Algorithm to Retrieve Information Coded in Alphanumeric).
This permuterm trie supports prefix, suffix, infix and inverted infix (suffix + prefix) queries and works by inserting all rotations of the key into the underlying trie.
 
 
 
 
 
 
 
 
This prefix-suffix trie supports both prefix and suffix queries but no infix-related queries and works by inserting the key and its reverse into the underlying trie.
 
 
 
The print visitor visits the parse tree and reprints it while preserving the position and content of hidden tokens.
An array list extension that calls a notification method whenever an element is added or removed from the list.
This class was taken from here and was added to the public domain by the author DaveJarvis.
The "write" subset of the Map interface.
 
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.
 
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 CST node is a terminal node that can be printed with a method implemented by subclasses.
 
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.
How important a token is to include in the output and why it exists in the token stream.
The transformation holds information about dependencies between transformation phases and nested transformations.
The transformations phase is the smallest unit of the transformation process.
The transformation phase base class already contains most of the functionality of a regular transformation phase but can't be used as an item in the execution planner.
 
 
A tree member has a parent and its tokens can be omitted.
 
Defines the interface for a prefix tree, an ordered tree data structure.
A collection of Trie utilities.
The shape is an array of up to three integers describing how big this tensor is in each dimension.
The different ways bits in a tensor can be interpreted.
 
 
 
 
 
 
 
 
 
Marker interface for collections, maps and iterators that are unmodifiable.
Decorates an ordered map iterator such that it cannot be modified.
An unmodifiable Trie.
The unparsable CST node is basically just a wrapper around a terminal node that contains a custom string.
A value supplier is a supplier that just returns a predetermined value.
 
 
 
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.
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.