Package snap.parse

Class Grammar

java.lang.Object
snap.parse.Grammar

public class Grammar extends Object
This class manages a set of parse rules.
  • Constructor Details

    • Grammar

      protected Grammar()
      Constructor.
    • Grammar

      protected Grammar(ParseRule primaryRule)
      Constructor for given primary rule.
  • Method Details

    • getNamedRules

      public List<ParseRule> getNamedRules()
      The set of top level named rules in this grammar.
    • addRuleForName

      public ParseRule addRuleForName(String ruleName)
      Adds a rule for given name.
    • getPrimaryRule

      public ParseRule getPrimaryRule()
      Returns the primary rule.
    • isRuleSetForName

      public boolean isRuleSetForName(String ruleName)
      Returns the rule for name.
    • getRuleForName

      public ParseRule getRuleForName(String ruleName)
      Returns the rule for name.
    • getAllRules

      public ParseRule[] getAllRules()
      Returns all unique rules.
    • getAllPatternRules

      public ParseRule[] getAllPatternRules()
      Returns all rules with a pattern.
    • getAllRegexes

      public Regex[] getAllRegexes()
      Returns the Regexes for all token patterns.
    • installHandlerForClass

      public void installHandlerForClass(Class<? extends ParseHandler<?>> handlerClass)
      Finds the rule with same name as handler class and sets handler instance.
    • installHandlerForClasses

      public void installHandlerForClasses(Class<? extends ParseHandler<?>>[] handlerClasses)
      Finds the rule with same name as handler class and sets handler instance.
    • createGrammarForParserClass

      public static Grammar createGrammarForParserClass(Class<?> parserClass)
      Creates a grammar for given parser class.