| Package | Description |
|---|---|
| org.stekikun.dolmen.codegen | |
| org.stekikun.dolmen.syntax | |
| org.stekikun.dolmen.unparam |
| Modifier and Type | Method and Description |
|---|---|
static Config |
Config.ofPGrammar(PGrammar grammar,
@Nullable Reporter reporter)
|
| Modifier and Type | Method and Description |
|---|---|
PGrammar |
PGrammar.Builder.build() |
| Modifier and Type | Method and Description |
|---|---|
static Map<String,List<PGrammars.Sort>> |
PGrammars.analyseGrammar(PGrammar grammar,
@Nullable PGrammars.Dependencies dependencies_,
Reporter reporter)
This analyses various rule applications in the parametric
grammar
grammar by inferring sorts
for all the rules' formal parameters and checking that
effective parameters in all applications are abiding by
the constraints expressed by the sorts. |
static void |
PGrammars.findUnusedSymbols(PGrammar grammar,
PGrammars.Dependencies deps,
Reporter reporter)
Analyses the
grammar's dependencies deps to
determine non-terminals and terminals which are not really being
used in this grammar description. |
| Modifier and Type | Method and Description |
|---|---|
static void |
Expansion.checkExpandability(PGrammar grammar)
Checks that the given parametric grammar can be expanded
in a finite fashion.
|
static Grammar |
Expansion.of(PGrammar pgrammar)
This performs the expansion (aka monomorphization) of the parametric
grammar
pgrammar, which must have been checked to be expandable beforehand. |