This commit was manufactured by cvs2svn to create tag 'buildscript'.
[IRC.git] / Robust / cup / java_cup / parse_action_table.java
diff --git a/Robust/cup/java_cup/parse_action_table.java b/Robust/cup/java_cup/parse_action_table.java
deleted file mode 100644 (file)
index 1e0edb2..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-
-package java_cup;
-
-import java.util.Enumeration;
-
-/** This class represents the complete "action" table of the parser. 
- *  It has one row for each state in the parse machine, and a column for
- *  each terminal symbol.  Each entry in the table represents a shift,
- *  reduce, or an error.  
- *
- * @see     java_cup.parse_action
- * @see     java_cup.parse_action_row
- * @version last updated: 11/25/95
- * @author  Scott Hudson
- */
-public class parse_action_table {
-
-  /*-----------------------------------------------------------*/
-  /*--- Constructor(s) ----------------------------------------*/
-  /*-----------------------------------------------------------*/
-
-  /** Simple constructor.  All terminals, non-terminals, and productions must 
-   *  already have been entered, and the viable prefix recognizer should
-   *  have been constructed before this is called.
-   */
-  public parse_action_table()
-    {
-      /* determine how many states we are working with */
-      _num_states = lalr_state.number();
-
-      /* allocate the array and fill it in with empty rows */
-      under_state = new parse_action_row[_num_states];
-      for (int i=0; i<_num_states; i++)
-       under_state[i] = new parse_action_row();
-    }
-
-  /*-----------------------------------------------------------*/
-  /*--- (Access to) Instance Variables ------------------------*/
-  /*-----------------------------------------------------------*/
-
-  /** How many rows/states are in the machine/table. */
-  protected int _num_states;
-
-  /** How many rows/states are in the machine/table. */
-  public int num_states() {return _num_states;}
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
-  /** Actual array of rows, one per state. */
-  public  parse_action_row[] under_state;
-
-  /*-----------------------------------------------------------*/
-  /*--- General Methods ---------------------------------------*/
-  /*-----------------------------------------------------------*/
-
-  /** Check the table to ensure that all productions have been reduced. 
-   *  Issue a warning message (to System.err) for each production that
-   *  is never reduced.
-   */
-  public void check_reductions()
-    throws internal_error
-    {
-      parse_action act;
-      production   prod;
-
-      /* tabulate reductions -- look at every table entry */
-      for (int row = 0; row < num_states(); row++)
-       {
-         for (int col = 0; col < under_state[row].size(); col++)
-           {
-             /* look at the action entry to see if its a reduce */
-             act = under_state[row].under_term[col];
-             if (act != null && act.kind() == parse_action.REDUCE)
-               {
-                 /* tell production that we used it */
-                 ((reduce_action)act).reduce_with().note_reduction_use();
-               }
-           }
-       }
-
-      /* now go across every production and make sure we hit it */
-      for (Enumeration p = production.all(); p.hasMoreElements(); )
-       {
-         prod = (production)p.nextElement();
-
-         /* if we didn't hit it give a warning */
-         if (prod.num_reductions() == 0)
-           {
-             /* count it *
-             emit.not_reduced++;
-
-             /* give a warning if they haven't been turned off */
-             if (!emit.nowarn)
-               {
-                 System.err.println("*** Production \"" + 
-                                 prod.to_simple_string() + "\" never reduced");
-                 lexer.warning_count++;
-               }
-           }
-       }
-    }
-
-  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*
-
-  /** Convert to a string. */
-  public String toString()
-    {
-      String result;
-      int cnt;
-
-      result = "-------- ACTION_TABLE --------\n";
-      for (int row = 0; row < num_states(); row++)
-       {
-         result += "From state #" + row + "\n";
-         cnt = 0;
-         for (int col = 0; col < under_state[row].size(); col++)
-           {
-             /* if the action is not an error print it */ 
-             if (under_state[row].under_term[col].kind() != parse_action.ERROR)
-               {
-                 result += " [term " + col + ":" + under_state[row].under_term[col] + "]";
-
-                 /* end the line after the 2nd one */
-                 cnt++;
-                 if (cnt == 2)
-                   {
-                     result += "\n";
-                     cnt = 0;
-                   }
-               }
-           }
-          /* finish the line if we haven't just done that */
-         if (cnt != 0) result += "\n";
-       }
-      result += "------------------------------";
-
-      return result;
-    }
-
-  /*-----------------------------------------------------------*/
-
-}
-