
//----------------------------------------------------
// The following code was generated by Java(tm) CUP v0.9d
// Thu Aug 10 03:51:39 MSD 2006
//----------------------------------------------------

package java_cup;

/** JavaCup generated class containing symbol constants. */
public class sym {
  /* terminals */
  static final int IMPORT = 3;
  static final int INIT = 9;
  static final int CODE_STRING = 22;
  static final int DEBUG = 20;
  static final int SEMI = 13;
  static final int STAR = 15;
  static final int CODE = 4;
  static final int COLON = 17;
  static final int NON = 8;
  static final int ID = 21;
  static final int WITH = 11;
  static final int TERMINAL = 7;
  static final int COLON_COLON_EQUALS = 18;
  static final int COMMA = 14;
  static final int EOF = 0;
  static final int PARSER = 6;
  static final int error = 1;
  static final int DOT = 16;
  static final int ACTION = 5;
  static final int START = 12;
  static final int PACKAGE = 2;
  static final int BAR = 19;
  static final int SCAN = 10;
};

