Package | Description |
---|---|
org.stekikun.dolmen.automaton | |
org.stekikun.dolmen.syntax | |
org.stekikun.dolmen.tagged | |
org.stekikun.dolmen.unparam |
Modifier and Type | Field and Description |
---|---|
@Nullable Extent |
Automata.Entry.args
The formal arguments for this rule
|
Extent |
Automata.footer
The location of this lexer's footer
|
Extent |
Automata.header
The location of this lexer's header
|
Extent |
Automata.Entry.returnType
The return type of this rule
|
Constructor and Description |
---|
Automata(List<Located<String>> imports,
Extent header,
Extent footer,
List<Automata.Entry> automataEntries,
DFA.Cell[] automataCells)
Builds the automata from the given entries and cells
|
Entry(boolean visibility,
String name,
Extent returnType,
@Nullable Extent args,
int memSize,
int initialState,
List<DFA.MemAction> initializer,
List<TLexerEntry.Finisher> finishers)
Builds an automaton entry from the given arguments
|
Entry(boolean visibility,
String name,
Extent returnType,
@Nullable Extent args,
int memSize,
int initialState,
List<DFA.MemAction> initializer,
List<TLexerEntry.Finisher> finishers)
Builds an automaton entry from the given arguments
|
Modifier and Type | Class and Description |
---|---|
class |
PExtent
Instances of this class describe ranges of characters
in files, and are used to link parsed entities with
their concrete representation in the original sources.
|
Modifier and Type | Field and Description |
---|---|
Extent |
Lexer.Clause.action
The Java action which can be executed when this clauses matches
|
@Nullable Extent |
Lexer.Entry.args
The formal arguments for this rule
|
static Extent |
Extent.DUMMY
A dummy extent for convenience
|
Extent |
Lexer.footer
The extent of this lexer's footer
|
Extent |
PGrammar.footer
The extent of this parser class' footer
|
Extent |
Lexer.header
The extent of this lexer's class header
|
Extent |
PGrammar.header
The extent of this parser class' header
|
Extent |
Lexer.Entry.returnType
The return type of semantic actions for this entry
|
@Nullable Extent |
TokenDecl.valueType
If non-null, the extent of the type of Java values
associated to this token at run-time
|
Modifier and Type | Method and Description |
---|---|
static Extent |
Extent.inlined(String contents) |
Extent |
PExtent.instantiate(Map<String,Extent> replacements)
NB: Except in the special case where the receiver had no holes
the returned
Extent will be inlined, i.e. information about
the original location in the source will be lost. |
Modifier and Type | Method and Description |
---|---|
Lexer.Entry.Builder |
Lexer.Entry.Builder.add(Located<Regular> regular,
Extent loc)
Adds the clause formed by the given regular expression
and semantic action
|
static Lexer |
Lexer.of(List<Option> options,
List<Located<String>> imports,
Extent header,
Map<Located<String>,Regular> regulars,
Iterable<Lexer.Entry> entryPoints,
Extent footer) |
static PExtent |
PExtent.ofExtent(Extent extent) |
Modifier and Type | Method and Description |
---|---|
Extent |
PExtent.instantiate(Map<String,Extent> replacements)
NB: Except in the special case where the receiver had no holes
the returned
Extent will be inlined, i.e. information about
the original location in the source will be lost. |
Constructor and Description |
---|
Builder(boolean visibility,
Located<String> name,
Extent returnType,
@Nullable Extent args)
Constructs a fresh builder with longest-match rule
and an empty set of clauses
|
Builder(boolean visibility,
Located<String> name,
Extent returnType,
@Nullable Extent args)
Constructs a fresh builder with longest-match rule
and an empty set of clauses
|
Builder(List<Option> options,
List<Located<String>> imports,
Extent header,
Extent footer)
Returns a new builder with the given options, imports, header and footer
|
Builder(List<Option> options,
List<Located<String>> imports,
Extent header,
Map<Located<String>,Regular> regulars,
Extent footer)
Returns a new builder with the given options, imports,
header, auxiliary regular expressions and footer
|
Clause(Located<Regular> regular,
Extent action) |
Entry(boolean visibility,
Located<String> name,
Extent returnType,
boolean shortest,
@Nullable Extent args,
List<Lexer.Clause> clauses) |
Entry(boolean visibility,
Located<String> name,
Extent returnType,
boolean shortest,
@Nullable Extent args,
List<Lexer.Clause> clauses) |
TokenDecl(Located<String> name,
@Nullable Extent valueType)
Builds the token declaration with the given
name and value type
|
Modifier and Type | Field and Description |
---|---|
@Nullable Extent |
TLexerEntry.args
The list of formal arguments available in semantic actions
|
Extent |
TLexer.footer
The location of this lexer's footer
|
Extent |
TLexer.header
The location of this lexer's header
|
Extent |
TLexerEntry.Finisher.loc
The location of the semantic action per se
|
Extent |
TLexerEntry.returnType
The return type of the semantic actions for this lexer entry
|
Constructor and Description |
---|
Finisher(int action,
TreeMap<String,Optimiser.IdentInfo> tags,
Extent loc)
Builds a finisher based on all the arguments
|
TLexer(List<Located<String>> imports,
Extent header,
List<TLexerEntry> entries,
List<CSet> charsets,
Extent footer)
Builds a tagged lexer definition from the
given arguments
|
TLexerEntry(boolean visibility,
String name,
Extent returnType,
boolean shortest,
@Nullable Extent args,
TRegular regexp,
int memTags,
List<TLexerEntry.Finisher> actions)
Builds an encoded lexer entry based on all the arguments
|
TLexerEntry(boolean visibility,
String name,
Extent returnType,
boolean shortest,
@Nullable Extent args,
TRegular regexp,
int memTags,
List<TLexerEntry.Finisher> actions)
Builds an encoded lexer entry based on all the arguments
|
Modifier and Type | Field and Description |
---|---|
Extent |
Grammar.footer
The extent of this parser class' footer
|
Extent |
Grammar.header
The extent of this parser class' header
|
Constructor and Description |
---|
Builder(List<Option> options,
List<Located<String>> imports,
Extent header,
Extent footer)
Returns a new builder with the given options, imports, header and footer
|