Class Grammar

java.lang.Object
com.knezevic.edaf.v3.repr.grammar.model.Grammar

public final class Grammar extends Object
Immutable grammar model with start symbol, productions, and metadata.
  • Constructor Details

  • Method Details

    • startSymbol

      public NonTerminal startSymbol()
      Grammar start symbol.
    • rulesFor

      public List<ProductionRule> rulesFor(NonTerminal symbol)
      Returns productions for one non-terminal.
    • findNonTerminal

      public NonTerminal findNonTerminal(String symbol)
      Returns non-terminal by symbol text or null when absent.
    • nonTerminals

      public List<NonTerminal> nonTerminals()
      All non-terminals.
    • metadata

      public Map<String,Object> metadata()
      Immutable grammar metadata map.
    • maxAlternatives

      public int maxAlternatives()
      Maximum RHS production count among all non-terminals.
    • maxBranchingFactor

      public int maxBranchingFactor()
      Maximum number of non-terminal children among productions.