| Package | Description |
|---|---|
| org.stekikun.dolmen.automaton | |
| org.stekikun.dolmen.syntax | |
| org.stekikun.dolmen.tagged | |
| org.stekikun.dolmen.unparam |
| Modifier and Type | Field and Description |
|---|---|
List<Located<String>> |
Automata.imports
The imports to be added to the generated lexer
|
| 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
|
| Modifier and Type | Field and Description |
|---|---|
@Nullable Located<String> |
PProduction.Actual.binding
The name to which this item is bound in
the associated semantic action, if non-
null |
Located<String> |
PProduction.Continue.cont
The location of the item (for error reporting)
|
Located<String> |
Option.key
The key identifying this option
|
Located<String> |
TokenDecl.name
The name of this token
|
Located<String> |
Lexer.Entry.name
The name of this entry
|
Located<String> |
PGrammarRule.name
The name of this rule
|
Located<String> |
Regular.Binding.name
The name to which the string matched by
this regular expression should be bound
|
Located<Regular> |
Lexer.Clause.regular
The regular expression of this clause
|
Located<String> |
PProduction.ActualExpr.symb
The name of the production item, i.e. either
the name of a non-terminal or a terminal of the
grammar, depending on whether the identifier starts
with a lowercase or uppercase character.
|
Located<String> |
Option.value
The value that is associated to the key
|
| Modifier and Type | Field and Description |
|---|---|
List<Located<String>> |
Lexer.imports
The Java imports to be added to the generated lexer
|
List<Located<String>> |
PGrammar.imports
The Java imports to be added to the generated parser
|
List<Located<String>> |
PGrammarRule.params
The generic parameters of the rule
|
Map<Located<String>,Regular> |
Lexer.regulars
The named auxiliary regular expressions defined in this lexer
NB: These expressions are already inlined in
entryPoints
during the parsing so they are only stored in the lexer
description for UI feedback purposes. |
| Modifier and Type | Method and Description |
|---|---|
static <T> Located<T> |
Located.dummy(T val) |
static <T,U> Located<T> |
Located.like(T val,
Located<U> loc) |
static <T> Located<T> |
Located.of(T val,
LexBuffer.Position start,
LexBuffer.Position end) |
| 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 Regular.Binding |
Regular.binding(Regular reg,
Located<String> name) |
static <T,U> Located<T> |
Located.like(T val,
Located<U> loc) |
static Option |
Option.of(Located<String> key,
Located<String> value)
This represents a syntactic option, there is no guarantee that
the
key corresponds to any of the option that Dolmen
actually understands, or that the value makes any sense. |
static Option |
Option.of(Located<String> key,
Located<String> value)
This represents a syntactic option, there is no guarantee that
the
key corresponds to any of the option that Dolmen
actually understands, or that the value makes any sense. |
static IReport |
IReport.of(String message,
IReport.Severity severity,
Located<?> loc) |
| Modifier and Type | Method and Description |
|---|---|
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 Lexer |
Lexer.of(List<Option> options,
List<Located<String>> imports,
Extent header,
Map<Located<String>,Regular> regulars,
Iterable<Lexer.Entry> entryPoints,
Extent footer) |
| Constructor and Description |
|---|
Actual(@Nullable Located<String> binding,
PProduction.ActualExpr item,
@Nullable PExtent args)
Builds a production item based on the given parameters
|
ActualExpr(Located<String> symb,
List<PProduction.ActualExpr> params)
Returns an actual expression made of applying
symb to the actuals given in params |
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,
PExtent returnType,
Located<String> name,
List<Located<String>> params,
@Nullable PExtent args)
Returns a fresh builder with the given parameters
|
Clause(Located<Regular> regular,
Extent action) |
Continue(Located<String> cont)
Builds a continuation item at the given location
|
Entry(boolean visibility,
Located<String> name,
Extent returnType,
boolean shortest,
@Nullable Extent args,
List<Lexer.Clause> clauses) |
PGrammarRule(boolean visibility,
PExtent returnType,
Located<String> name,
List<Located<String>> params,
@Nullable PExtent args,
List<PProduction> productions)
Builds a grammar rule from the given parameters
|
TokenDecl(Located<String> name,
@Nullable Extent valueType)
Builds the token declaration with the given
name and value type
|
| Constructor and Description |
|---|
Builder(boolean visibility,
PExtent returnType,
Located<String> name,
List<Located<String>> params,
@Nullable PExtent args)
Returns a fresh builder with the given parameters
|
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
|
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
|
PGrammarRule(boolean visibility,
PExtent returnType,
Located<String> name,
List<Located<String>> params,
@Nullable PExtent args,
List<PProduction> productions)
Builds a grammar rule from the given parameters
|
| Modifier and Type | Field and Description |
|---|---|
List<Located<String>> |
TLexer.imports
The imports to be added to the generated lexer
|
| Constructor and Description |
|---|
TLexer(List<Located<String>> imports,
Extent header,
List<TLexerEntry> entries,
List<CSet> charsets,
Extent footer)
Builds a tagged lexer definition from the
given arguments
|
| Modifier and Type | Field and Description |
|---|---|
@Nullable Located<String> |
Production.Actual.binding
The name to which this item is bound in
the associated semantic action, if non-
null |
Located<String> |
Production.Continue.cont
The location of the item (for error reporting)
|
Located<String> |
Expansion.PGrammarNotExpandable.formal
The formal parameter of
Expansion.PGrammarNotExpandable.rule which may lead
to ever-growing instantiations |
Located<String> |
Production.Actual.item
The name of the production item, i.e. either
the name of a non-terminal or a terminal of the
grammar, depending on whether the identifier starts
with a lowercase or uppercase character.
|
Located<String> |
GrammarRule.name
The name of this rule
|
Located<String> |
Expansion.PGrammarNotExpandable.rule
The rule whose expansion may not terminate
|
| Modifier and Type | Field and Description |
|---|---|
List<Located<String>> |
Grammar.imports
The Java imports to be added to the generated parser
|
| Constructor and Description |
|---|
Actual(@Nullable Located<String> binding,
Located<String> item,
@Nullable CExtent args)
Builds a production item based on the given parameters
|
Actual(@Nullable Located<String> binding,
Located<String> item,
@Nullable CExtent args)
Builds a production item based on the given parameters
|
Builder(boolean visibility,
CExtent returnType,
Located<String> name,
@Nullable CExtent args)
Returns a fresh builder with the given parameters
|
Continue(Located<String> cont)
Builds a continuation item at the given location
|
GrammarRule(boolean visibility,
CExtent returnType,
Located<String> name,
@Nullable CExtent args,
List<Production> productions)
Builds a grammar rule from the given parameters
|
| 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
|