@NonNullByDefault
| Class | Description |
|---|---|
| AutomataOutput |
This class generates a Java class that simulates the
automata in some
Automata instance. |
| BaseParser<Token> |
Base class for generated parsers.
|
| BaseParser.WithPositions<Token> |
Base class for generated parsers which track positions
of terminals and non-terminals as the parsing goes on.
|
| CodeBuilder |
An instance of this utility class manages a string
buffer with a current indentation level, which
allows for convenient declarative generation of
user-readable code.
|
| Config |
Configuration description for Dolmen generation of
both lexical and syntax analyzers.
|
| Config.Builder |
A builder class for configurations,
which allows setting all options using method chaining.
|
| DecisionTree |
An instance of
DecisionTree describes the transition table
for a lexer Automata cell, i.e. the shifting action
to take with respect to the next character read from the input stream. |
| DecisionTree.Impossible |
A specific implementation of
DecisionTree to represents
empty transition tables |
| DecisionTree.Return |
An implementation of
DecisionTree which maps
some specific shifting action
to all possible characters. |
| DecisionTree.Split |
An implementation of
DecisionTree which represents
a binary choice with respect to some DecisionTree.Split.pivot character:
every character below or equal to the DecisionTree.Split.pivot
is mapped to the result of a recursive decision tree DecisionTree.Split.left
every character higher than the DecisionTree.Split.pivot
is mapped to the result of a recursive decision tree DecisionTree.Split.right
This implementation is used as an internal node to implement
binary decision trees. |
| DecisionTree.Switch |
An implementation of
DecisionTree which represents the
transition table as a switch mapping some character sets
to DFA.TransActions. |
| DecisionTree.Table |
An implementation of
DecisionTree which represents the transitions
from a contiguous set of characters, starting at character DecisionTree.Table.base,
as an array of actions. |
| GrammarOutput |
This class generates a Java class that implements
parsing for a given grammar description.
|
| LexBuffer |
Instances of buffers used by generated lexers.
|
| LexBuffer.Position |
Instances of this class describe a position in some input
(most frequently a file, but could be a string or any char sequence).
|
| SourceMapping |
This class stores a mapping from range of positions
in a generated file (typically a generated Java lexer or parser)
to corresponding positions in a source file (typically a Dolmen
lexer or parser description file), or even several source files.
|
| SourceMapping.Mapping |
A mapping describes a link between the range
described by
SourceMapping.Mapping.offset and SourceMapping.Mapping.length
in the generated file and the region of the
same length starting at position SourceMapping.Mapping.origin
in the source file. |
| SourceMapping.Origin |
An instance of this class describes the origin of some region
of generated code in terms of the source region from which it
originated.
|
| TokensOutput |
This class generates a Java class to represent
the various tokens declared in a grammar description.
|
| Enum | Description |
|---|---|
| Config.Keys |
Enumeration of the keys for configurable options.
|
| Config.Relevance |
Enumeration representing the relevance of a
configuration: it can be usable only within a lexer
description, a parser description, or both.
|
| DecisionTree.Kind |
The different kinds of available implementations of
DecisionTree |
| Exception | Description |
|---|---|
| BaseParser.ParsingException |
Exception raised by parsing errors in generated parsers
|
| LexBuffer.LexicalError |
Exception which can be raised by generated lexers which
extend
LexBuffer, and which is raised also by
LexBuffer.getNextChar() in place of potential
IOExceptions. |
| Annotation Type | Description |
|---|---|
| DolmenInternal |
This annotation is used to decorate fields and methods from
Dolmen classes which are accessed or extended in Dolmen-generated
code but which should probably not be called by user-defined code
(i.e. semantic actions, prelude or postlude).
|