Class Grammar
java.lang.Object
com.knezevic.edaf.v3.repr.grammar.model.Grammar
Immutable grammar model with start symbol, productions, and metadata.
-
Constructor Summary
ConstructorsConstructorDescriptionGrammar(NonTerminal startSymbol, Map<NonTerminal, List<ProductionRule>> rules, Map<String, Object> metadata) Creates immutable grammar. -
Method Summary
Modifier and TypeMethodDescriptionfindNonTerminal(String symbol) Returns non-terminal by symbol text or null when absent.intMaximum RHS production count among all non-terminals.intMaximum number of non-terminal children among productions.metadata()Immutable grammar metadata map.All non-terminals.rulesFor(NonTerminal symbol) Returns productions for one non-terminal.Grammar start symbol.
-
Constructor Details
-
Grammar
public Grammar(NonTerminal startSymbol, Map<NonTerminal, List<ProductionRule>> rules, Map<String, Object> metadata) Creates immutable grammar.
-
-
Method Details
-
startSymbol
Grammar start symbol. -
rulesFor
Returns productions for one non-terminal. -
findNonTerminal
Returns non-terminal by symbol text or null when absent. -
nonTerminals
All non-terminals. -
metadata
-
maxAlternatives
public int maxAlternatives()Maximum RHS production count among all non-terminals. -
maxBranchingFactor
public int maxBranchingFactor()Maximum number of non-terminal children among productions.
-