Package java_cup

Class terminal


  • public class terminal
    extends symbol
    This class represents a terminal symbol in the grammar. Each terminal has a textual name, an index, and a string which indicates the type of object it will be implemented with at runtime (i.e. the class of object that will be returned by the scanner and pushed on the parse stack to represent it).
    Version:
    last updated: 7/3/96
    Author:
    Frank Flannery
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static java.util.Hashtable _all
      Table of all terminals.
      protected static java.util.Hashtable _all_by_index
      Table of all terminals indexed by their index number.
      static terminal EOF
      Special terminal for end of input.
      static terminal error
      special terminal used for error recovery
      protected static int next_index
      Static counter to assign unique index.
    • Constructor Summary

      Constructors 
      Constructor Description
      terminal​(java.lang.String nm)
      Constructor with default type.
      terminal​(java.lang.String nm, java.lang.String tp)
      Constructor for non-precedented terminal
      terminal​(java.lang.String nm, java.lang.String tp, int precedence_side, int precedence_num)
      Full constructor.
    • Field Detail

      • _all

        protected static java.util.Hashtable _all
        Table of all terminals. Elements are stored using name strings as the key
      • _all_by_index

        protected static java.util.Hashtable _all_by_index
        Table of all terminals indexed by their index number.
      • next_index

        protected static int next_index
        Static counter to assign unique index.
      • EOF

        public static terminal EOF
        Special terminal for end of input.
      • error

        public static terminal error
        special terminal used for error recovery
    • Constructor Detail

      • terminal

        public terminal​(java.lang.String nm,
                        java.lang.String tp,
                        int precedence_side,
                        int precedence_num)
        Full constructor.
        Parameters:
        nm - the name of the terminal.
        tp - the type of the terminal.
      • terminal

        public terminal​(java.lang.String nm,
                        java.lang.String tp)
        Constructor for non-precedented terminal
      • terminal

        public terminal​(java.lang.String nm)
        Constructor with default type.
        Parameters:
        nm - the name of the terminal.
    • Method Detail

      • clear

        public static void clear()
      • all

        public static java.util.Enumeration all()
        Access to all terminals.
      • find

        public static terminal find​(java.lang.String with_name)
        Lookup a terminal by name string.
      • find

        public static terminal find​(int indx)
        Lookup a terminal by index.
      • number

        public static int number()
        Total number of terminals.
      • is_non_term

        public boolean is_non_term()
        Report this symbol as not being a non-terminal.
        Specified by:
        is_non_term in class symbol
      • toString

        public java.lang.String toString()
        Convert to a string.
        Overrides:
        toString in class symbol
      • precedence_num

        public int precedence_num()
        get the precedence of a terminal
      • precedence_side

        public int precedence_side()
      • set_precedence

        public void set_precedence​(int p,
                                   int new_prec)
        set the precedence of a terminal