Main Page   Packages   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

parser.java

00001 package edu.ksu.cis.bandera.abstraction.pvs;
00002 
00003 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00004  * Bandera, a Java(TM) analysis and transformation toolkit           *
00005  * Copyright (C) 1998-2001 SAnToS Laboratories (santos@cis.ksu.edu)  *
00006 
00007  * All rights reserved.                                              *
00008  *                                                                   *
00009  * This work was done as a project in the SAnToS Laboratory,         *
00010  * Department of Computing and Information Sciences, Kansas State    *
00011  * University, USA (http://www.cis.ksu.edu/santos).                  *
00012  * It is understood that any modification not identified as such is  *
00013  * not covered by the preceding statement.                           *
00014  *                                                                   *
00015  * This work is free software; you can redistribute it and/or        *
00016  * modify it under the terms of the GNU Library General Public       *
00017  * License as published by the Free Software Foundation; either      *
00018  * version 2 of the License, or (at your option) any later version.  *
00019  *                                                                   *
00020  * This work is distributed in the hope that it will be useful,      *
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of    *
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *
00023  * Library General Public License for more details.                  *
00024  *                                                                   *
00025  * You should have received a copy of the GNU Library General Public *
00026  * License along with this toolkit; if not, write to the             *
00027  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,      *
00028  * Boston, MA  02111-1307, USA.                                      *
00029  *                                                                   *
00030  * Java is a trademark of Sun Microsystems, Inc.                     *
00031  *                                                                   *
00032  * To submit a bug report, send a comment, or get the latest news on *
00033  * this project and other SAnToS projects, please visit the web-site *
00034  *                http://www.cis.ksu.edu/santos                      *
00035  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00036 //----------------------------------------------------
00037 // The following code was generated by CUP v0.10k
00038 // Fri Sep 29 14:44:07 CDT 2000
00039 //----------------------------------------------------
00040 
00041 import java_cup.runtime.*;
00042 import java.io.*;
00043 import java.util.*;
00044 
00045 /** CUP v0.10k generated parser.
00046   * @version Fri Sep 29 14:44:07 CDT 2000
00047   */
00048 public class parser extends java_cup.runtime.lr_parser {
00049 
00050   /** Production table. */
00051   protected static final short _production_table[][] = 
00052     unpackFromStrings(new String[] {
00053     "\000\036\000\002\003\012\000\002\002\004\000\002\004" +
00054     "\003\000\002\004\003\000\002\005\010\000\002\007\003" +
00055     "\000\002\007\005\000\002\013\002\000\002\006\012\000" +
00056     "\002\010\004\000\002\010\003\000\002\011\006\000\002" +
00057     "\012\005\000\002\012\005\000\002\012\005\000\002\012" +
00058     "\005\000\002\012\005\000\002\012\005\000\002\012\005" +
00059     "\000\002\012\005\000\002\012\005\000\002\012\005\000" +
00060     "\002\012\005\000\002\012\005\000\002\012\005\000\002" +
00061     "\012\004\000\002\012\004\000\002\012\005\000\002\012" +
00062     "\003\000\002\012\003" });
00063 
00064   /** Parse-action table. */
00065   protected static final short[][] _action_table = 
00066     unpackFromStrings(new String[] {
00067     "\000\107\000\004\032\004\001\002\000\004\044\007\001" +
00068     "\002\000\004\002\006\001\002\000\004\002\000\001\002" +
00069     "\000\004\033\010\001\002\000\006\034\013\035\012\001" +
00070     "\002\000\004\027\014\001\002\000\004\027\ufffe\001\002" +
00071     "\000\004\027\uffff\001\002\000\004\036\016\001\002\000" +
00072     "\004\031\027\001\002\000\004\037\017\001\002\000\004" +
00073     "\041\020\001\002\000\004\044\021\001\002\000\006\040" +
00074     "\ufffc\042\ufffc\001\002\000\006\040\024\042\023\001\002" +
00075     "\000\004\044\026\001\002\000\004\004\025\001\002\000" +
00076     "\004\031\ufffd\001\002\000\006\040\ufffb\042\ufffb\001\002" +
00077     "\000\004\024\032\001\002\000\004\030\031\001\002\000" +
00078     "\004\002\001\001\002\000\004\044\033\001\002\000\004" +
00079     "\025\ufffa\001\002\000\004\025\035\001\002\000\004\027" +
00080     "\036\001\002\000\014\006\043\022\040\024\044\043\042" +
00081     "\044\037\001\002\000\040\005\uffe4\006\uffe4\007\uffe4\010" +
00082     "\uffe4\011\uffe4\012\uffe4\013\uffe4\014\uffe4\015\uffe4\016\uffe4" +
00083     "\017\uffe4\020\uffe4\021\uffe4\023\uffe4\025\uffe4\001\002\000" +
00084     "\014\006\043\022\040\024\044\043\042\044\037\001\002" +
00085     "\000\016\006\ufff7\022\ufff7\024\ufff7\030\ufff7\043\ufff7\044" +
00086     "\ufff7\001\002\000\040\005\uffe5\006\uffe5\007\uffe5\010\uffe5" +
00087     "\011\uffe5\012\uffe5\013\uffe5\014\uffe5\015\uffe5\016\uffe5\017" +
00088     "\uffe5\020\uffe5\021\uffe5\023\uffe5\025\uffe5\001\002\000\014" +
00089     "\006\043\022\040\024\044\043\042\044\037\001\002\000" +
00090     "\014\006\043\022\040\024\044\043\042\044\037\001\002" +
00091     "\000\016\006\043\022\040\024\044\030\105\043\042\044" +
00092     "\037\001\002\000\036\005\053\006\047\007\061\010\057" +
00093     "\011\052\012\050\013\064\014\062\015\054\016\056\017" +
00094     "\051\020\063\021\060\023\055\001\002\000\014\006\043" +
00095     "\022\040\024\044\043\042\044\037\001\002\000\014\006" +
00096     "\043\022\040\024\044\043\042\044\037\001\002\000\014" +
00097     "\006\043\022\040\024\044\043\042\044\037\001\002\000" +
00098     "\014\006\043\022\040\024\044\043\042\044\037\001\002" +
00099     "\000\014\006\043\022\040\024\044\043\042\044\037\001" +
00100     "\002\000\014\006\043\022\040\024\044\043\042\044\037" +
00101     "\001\002\000\004\044\074\001\002\000\014\006\043\022" +
00102     "\040\024\044\043\042\044\037\001\002\000\014\006\043" +
00103     "\022\040\024\044\043\042\044\037\001\002\000\014\006" +
00104     "\043\022\040\024\044\043\042\044\037\001\002\000\014" +
00105     "\006\043\022\040\024\044\043\042\044\037\001\002\000" +
00106     "\014\006\043\022\040\024\044\043\042\044\037\001\002" +
00107     "\000\014\006\043\022\040\024\044\043\042\044\037\001" +
00108     "\002\000\014\006\043\022\040\024\044\043\042\044\037" +
00109     "\001\002\000\040\005\053\006\047\007\061\010\057\011" +
00110     "\052\012\050\013\ufff5\014\062\015\054\016\056\017\051" +
00111     "\020\063\021\060\023\ufff5\025\ufff5\001\002\000\040\005" +
00112     "\053\006\047\007\061\010\057\011\052\012\ufff0\013\ufff0" +
00113     "\014\ufff0\015\ufff0\016\ufff0\017\ufff0\020\ufff0\021\ufff0\023" +
00114     "\ufff0\025\ufff0\001\002\000\040\005\053\006\047\007\061" +
00115     "\010\057\011\052\012\ufff2\013\ufff2\014\ufff2\015\ufff2\016" +
00116     "\ufff2\017\ufff2\020\ufff2\021\ufff2\023\ufff2\025\ufff2\001\002" +
00117     "\000\040\005\uffeb\006\uffeb\007\uffeb\010\uffeb\011\uffeb\012" +
00118     "\uffeb\013\uffeb\014\uffeb\015\uffeb\016\uffeb\017\uffeb\020\uffeb" +
00119     "\021\uffeb\023\uffeb\025\uffeb\001\002\000\040\005\053\006" +
00120     "\047\007\061\010\057\011\052\012\uffee\013\uffee\014\uffee" +
00121     "\015\uffee\016\uffee\017\uffee\020\uffee\021\uffee\023\uffee\025" +
00122     "\uffee\001\002\000\040\005\uffea\006\uffea\007\uffea\010\uffea" +
00123     "\011\uffea\012\uffea\013\uffea\014\uffea\015\uffea\016\uffea\017" +
00124     "\uffea\020\uffea\021\uffea\023\uffea\025\uffea\001\002\000\040" +
00125     "\005\053\006\047\007\061\010\057\011\052\012\ufff1\013" +
00126     "\ufff1\014\ufff1\015\ufff1\016\ufff1\017\ufff1\020\ufff1\021\ufff1" +
00127     "\023\ufff1\025\ufff1\001\002\000\004\004\075\001\002\000" +
00128     "\016\006\ufff6\022\ufff6\024\ufff6\030\ufff6\043\ufff6\044\ufff6" +
00129     "\001\002\000\040\005\053\006\047\007\061\010\057\011" +
00130     "\052\012\ufff3\013\ufff3\014\ufff3\015\ufff3\016\ufff3\017\ufff3" +
00131     "\020\ufff3\021\ufff3\023\ufff3\025\ufff3\001\002\000\040\005" +
00132     "\uffed\006\uffed\007\061\010\057\011\052\012\uffed\013\uffed" +
00133     "\014\uffed\015\uffed\016\uffed\017\uffed\020\uffed\021\uffed\023" +
00134     "\uffed\025\uffed\001\002\000\040\005\uffe9\006\uffe9\007\uffe9" +
00135     "\010\uffe9\011\uffe9\012\uffe9\013\uffe9\014\uffe9\015\uffe9\016" +
00136     "\uffe9\017\uffe9\020\uffe9\021\uffe9\023\uffe9\025\uffe9\001\002" +
00137     "\000\040\005\053\006\047\007\061\010\057\011\052\012" +
00138     "\uffef\013\uffef\014\uffef\015\uffef\016\uffef\017\uffef\020\uffef" +
00139     "\021\uffef\023\uffef\025\uffef\001\002\000\040\005\053\006" +
00140     "\047\007\061\010\057\011\052\012\ufff4\013\ufff4\014\062" +
00141     "\015\054\016\056\017\051\020\063\021\060\023\ufff4\025" +
00142     "\ufff4\001\002\000\040\005\uffec\006\uffec\007\061\010\057" +
00143     "\011\052\012\uffec\013\uffec\014\uffec\015\uffec\016\uffec\017" +
00144     "\uffec\020\uffec\021\uffec\023\uffec\025\uffec\001\002\000\016" +
00145     "\006\ufff8\022\ufff8\024\ufff8\030\ufff8\043\ufff8\044\ufff8\001" +
00146     "\002\000\004\030\ufff9\001\002\000\036\005\053\006\047" +
00147     "\007\061\010\057\011\052\012\050\013\064\014\062\015" +
00148     "\054\016\056\017\051\020\063\021\060\025\107\001\002" +
00149     "\000\040\005\uffe6\006\uffe6\007\uffe6\010\uffe6\011\uffe6\012" +
00150     "\uffe6\013\uffe6\014\uffe6\015\uffe6\016\uffe6\017\uffe6\020\uffe6" +
00151     "\021\uffe6\023\uffe6\025\uffe6\001\002\000\040\005\uffe8\006" +
00152     "\uffe8\007\uffe8\010\uffe8\011\uffe8\012\uffe8\013\uffe8\014\uffe8" +
00153     "\015\uffe8\016\uffe8\017\uffe8\020\uffe8\021\uffe8\023\uffe8\025" +
00154     "\uffe8\001\002\000\040\005\053\006\047\007\061\010\057" +
00155     "\011\052\012\uffe7\013\uffe7\014\062\015\054\016\056\017" +
00156     "\051\020\063\021\060\023\uffe7\025\uffe7\001\002" });
00157 
00158   /** <code>reduce_goto</code> table. */
00159   protected static final short[][] _reduce_table = 
00160     unpackFromStrings(new String[] {
00161     "\000\107\000\004\003\004\001\001\000\002\001\001\000" +
00162     "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
00163     "\004\010\001\001\000\002\001\001\000\002\001\001\000" +
00164     "\002\001\001\000\004\005\014\001\001\000\004\006\027" +
00165     "\001\001\000\002\001\001\000\002\001\001\000\004\007" +
00166     "\021\001\001\000\002\001\001\000\002\001\001\000\002" +
00167     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
00168     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
00169     "\000\002\001\001\000\004\013\033\001\001\000\002\001" +
00170     "\001\000\002\001\001\000\010\010\044\011\040\012\045" +
00171     "\001\001\000\002\001\001\000\004\012\110\001\001\000" +
00172     "\002\001\001\000\002\001\001\000\004\012\107\001\001" +
00173     "\000\004\012\105\001\001\000\006\011\103\012\045\001" +
00174     "\001\000\002\001\001\000\004\012\102\001\001\000\004" +
00175     "\012\101\001\001\000\004\012\100\001\001\000\004\012" +
00176     "\077\001\001\000\004\012\076\001\001\000\004\012\075" +
00177     "\001\001\000\002\001\001\000\004\012\072\001\001\000" +
00178     "\004\012\071\001\001\000\004\012\070\001\001\000\004" +
00179     "\012\067\001\001\000\004\012\066\001\001\000\004\012" +
00180     "\065\001\001\000\004\012\064\001\001\000\002\001\001" +
00181     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
00182     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
00183     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
00184     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
00185     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
00186     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
00187     "\001\001" });
00188 
00189   /** Instance of action encapsulation class. */
00190   protected CUP$parser$actions action_obj;
00191 
00192         public static Node tree;
00193     // public static SymbolTable symbol;
00194 
00195         public static int TOKEN = 1;
00196         public static int VAR = 2;
00197 
00198     public static int basic_type;
00199     public static int npredicates=0;
00200 
00201     public static Vector tokens = new Vector();
00202         public static String name;
00203     public static String variable;
00204 
00205   /** Default constructor. */
00206   public parser() {super();}  
00207   /** Constructor which sets the default scanner. */
00208   public parser(java_cup.runtime.Scanner s) {super(s);}  
00209   /** Access to parse-action table. */
00210   public short[][] action_table() {return _action_table;}  
00211   /** Invoke a user supplied parse action. */
00212   public java_cup.runtime.Symbol do_action(
00213     int                        act_num,
00214     java_cup.runtime.lr_parser parser,
00215     java.util.Stack            stack,
00216     int                        top)
00217     throws java.lang.Exception
00218   {
00219     /* call code in generated class */
00220     return action_obj.CUP$parser$do_action(act_num, parser, stack, top);
00221   }  
00222   /** <code>EOF</code> Symbol index. */
00223   public int EOF_sym() {return 0;}  
00224   /** <code>error</code> Symbol index. */
00225   public int error_sym() {return 1;}  
00226   /** Action encapsulation object initializer. */
00227   protected void init_actions()
00228     {
00229       action_obj = new CUP$parser$actions(this);
00230     }
00231   /** Access to production table. */
00232   public short[][] production_table() {return _production_table;}  
00233   /** Access to <code>reduce_goto</code> table. */
00234   public short[][] reduce_table() {return _reduce_table;}  
00235     public void report_error(String message, Object info)
00236             {   System.err.print("Line: "+ 
00237                 ((Yylex) getScanner()).line() +" ");
00238                 System.err.print(message);
00239             System.err.println("");
00240         }
00241   /** Indicates start production. */
00242   public int start_production() {return 1;}  
00243   /** Indicates start state. */
00244   public int start_state() {return 0;}  
00245 }

Generated at Thu Feb 7 06:51:06 2002 for Bandera by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001