Package nlScript.core

Class NonTerminal

java.lang.Object
nlScript.core.Symbol
nlScript.core.NonTerminal
All Implemented Interfaces:
RepresentsSymbol

public class NonTerminal extends Symbol
  • Constructor Details

    • NonTerminal

      public NonTerminal(String symbol)
  • Method Details

    • isTerminal

      public boolean isTerminal()
      Specified by:
      isTerminal in class Symbol
    • isNonTerminal

      public boolean isNonTerminal()
      Specified by:
      isNonTerminal in class Symbol
    • isEpsilon

      public boolean isEpsilon()
      Specified by:
      isEpsilon in class Symbol
    • withName

      public Named<NonTerminal> withName(String name)
    • withName

      public Named<NonTerminal> withName()
    • uses

      public boolean uses(Symbol symbol, BNF bnf)
      Checks recursively if this NonTerminal uses the specified symbol in any sub-production
      Parameters:
      symbol - Symbolto check
      Returns:
      whether this NonTerminal uses symbol
    • toString

      public String toString()
      Overrides:
      toString in class Symbol
    • makeRandomSymbol

      public static String makeRandomSymbol()