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 transformer transforms some representation of an input and returns the same kind of output.
The AST visitor knows how to traverse the AST and visit each node.
 
 
The auto-hinted matcher is a matcher that automatically determines the hint by finding the longest identifier in the pattern.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.
The caching parser extends the enhanced parser and returns previous parse trees if they are available.
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 root overrides a normal root just to do nothing.
 
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.
 
 
The grouped AST transformer parses multiple strings stored in an arbitrarily
 
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.
A hinted matcher contains an additional string that can be used to find identifiers whose matching ancestor might match the pattern.
 
Indexes identifiers based on their content and enabled fast string queries.
 
 
 
 
 
 
Index<T extends ASTNode>
 
 
InfixQueryable<S extends Set<E>,E>
 
 
 
 
 
 
 
 
 
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.
Inserts #line directives that make the compiler report errors as if they were happening in the original source file.
 
 
 
 
 
 
 
 
 
Defines an iterator that operates over a Map.
 
Matcher<T extends ASTNode>
Instances of the matcher can match a node against a stored pattern.
 
 
 
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.
Controls the output of the ASTPrinter.
 
 
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.
The parser interface provides the basic methods for interfacing with an object that contains an EnhancedParser.
 
Adds a method to the parse tree listener with which the parse tree walker can detect if it should stop walking the tree.
A pass-through function takes a value and returns another (or the same) value of the same type.
Implementation of a PATRICIA Trie (Practical Algorithm to Retrieve Information Coded in Alphanumeric).
PermutermTrie<S extends Set<E>,E>
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.
 
 
 
 
 
 
 
 
PrefixQueryable<S extends Set<E>,E>
 
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.
PrefixTrie<S extends Set<E>,E>
 
 
 
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.
 
 
 
 
Each AST has a root referenced by all its members.
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 AST transformer takes parses a string, turns it into an AST, transforms it with the given transformation and then prints it back.
 
 
 
 
 
The string token filter disallows tokens that are matched against a set of disallowed strings.
String node provides a terminal node with arbitrary contents.
 
 
 
 
 
 
SuffixQueryable<S extends Set<E>,E>
 
The superclass node index also creates index entries for the superclasses for all nodes.
 
Template<T extends ASTNode>
 
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 transformer takes a string, does something with it and returns a string.
The translation unit is the entry point of a program and represents a single file of source code.
A tree member has a parent and its tokens can be omitted.
 
A triple consumer takes three values and does something with them.
Defines the interface for a prefix tree, an ordered tree data structure.
A collection of Trie utilities.
 
 
 
This enum represents the type of a value in GLSL and contains easily accessible data about each of them.
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.
 
 
Provides utility methods for the Lexer to only recognize tokens allowed in the current context, version, profile, extension setting, ES/non-ES mode, Vulkan/non-Vulkan mode.
The version statement holds information about the selected GLSL version and profile.
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.