CSE 3341 Scanner and Parser Java Code (automatically generated)

sym.java

interface sym {

  public static final int READ = 5;

  public static final int INT = 2;

  public static final int IDENT = 14;

  public static final int INT_LITERAL = 13;

  public static final int EOF = 0;

  public static final int ADD = 10;

  public static final int IF = 3;

  public static final int ELSE = 4;

  public static final int ASSIGN = 12;

  public static final int error = 1;

  public static final int RPAREN = 9;

  public static final int PRINT = 6;

  public static final int SEMICOLON = 7;

  public static final int MUL = 11;

  public static final int LPAREN = 8;

}

Lexer.java

class Lexer implements java_cup.runtime.Scanner, sym {

static final String ZZ_CMAP_PACKED

    "\11\0\1\6\1\4\1\0\1\6\1\3\22\0\1\6\7\0\1\22"+"\1\23\1\25\1\24\3\0\1\27\12\2\1\0\1\5\1\0\1\26"+"\43\0\1\17\2\1\1\20\1\13\1\12\2\1\1\7\2\1\1\14"+"\1\1\1\10\1\1\1\21\1\1\1\16\1\15\1\11\6\1\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uff95\0";

static final String ZZ_ACTION_PACKED_0 =  "\1\0\1\1\1\2\1\3\2\4\1\5\4\2\1\6"+"\1\7\1\10\1\11\1\12\1\1\2\0\1\13\4\0"+"\1\14\5\0\1\15\1\16\2\0\1\17\1\20";

static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\30\0\30\0\60\0\110\0\30\0\30\0\140"+"\0\170\0\220\0\250\0\30\0\30\0\30\0\30\0\30"+"\0\300\0\330\0\360\0\30\0\u0108\0\u0120\0\u0138\0\u0150"+"\0\30\0\u0168\0\u0180\0\u0198\0\u01b0\0\u01c8\0\30\0\30"+"\0\u01e0\0\u01f8\0\30\0\30";

static final String ZZ_TRANS_PACKED_0 = "\1\2\1\3\1\4\1\5\1\6\1\7\1\6\1\10"+"\3\3\1\11\2\3\1\12\2\3\1\13\1\14\1\15"+"\1\16\1\17\1\20\1\21\32\0\1\4\31\0\1\22"+"\33\0\1\23\1\0\1\24\31\0\1\25\26\0\1\26"+"\32\0\1\27\36\0\1\30\7\0\1\6\33\0\1\31"+"\33\0\1\32\31\0\1\33\17\0\1\34\20\0\25\35"+"\1\36\2\35\13\0\1\37\34\0\1\40\17\0\1\41"+"\17\0\25\35\1\42\2\35\25\0\1\36\1\0\1\43"+"\11\0\1\44\16\0\25\35\1\42\1\35\1\43";

lots of other magic ... }

Parser.java

class Parser extends java_cup.runtime.lr_parser {

static final short _production_table[][] =

    unpackFromStrings(new String[] {

    "\000\024\000\002\002\004\000\002\002\004\000\002\003" +

    "\002\000\002\003\004\000\002\004\005\000\002\005\002" +

    "\000\002\005\004\000\002\006\004\000\002\006\003\000" +

    "\002\006\005\000\002\006\005\000\002\006\007\000\002" +

    "\006\011\000\002\007\003\000\002\007\003\000\002\007" +

    "\005\000\002\007\003\000\002\010\005\000\002\010\005" +

    "\000\002\010\005" });

static final short[][] _action_table

    unpackFromStrings(new String[] {

    "\000\050\000\024\002\uffff\004\007\005\uffff\007\uffff\010" +

    "\uffff\011\uffff\012\uffff\017\uffff\020\uffff\001\002\000\022" +

    "\002\ufffc\005\022\007\014\010\024\011\023\012\026\017" +

    "\020\020\015\001\002\000\024\002\uffff\004\007\005\uffff" +

    "\007\uffff\010\uffff\011\uffff\012\uffff\017\uffff\020\uffff\001" +

    "\002\000\004\002\012\001\002\000\004\020\010\001\002" +

    "\000\004\011\011\001\002\000\024\002\ufffd\004\ufffd\005" +

    "\ufffd\007\ufffd\010\ufffd\011\ufffd\012\ufffd\017\ufffd\020\ufffd" +

    "\001\002\000\004\002\001\001\002\000\022\002\ufffe\005" +

    "\ufffe\007\ufffe\010\ufffe\011\ufffe\012\ufffe\017\ufffe\020\ufffe" +

    "\001\002\000\004\020\051\001\002\000\014\011\ufff3\013" +

    "\ufff3\014\ufff3\015\ufff3\016\ufff3\001\002\000\014\011\ufff1" +

    "\013\ufff1\014\ufff1\015\ufff1\016\ufff1\001\002\000\022\002" +

    "\ufffc\005\022\007\014\010\024\011\023\012\026\017\020" +

    "\020\015\001\002\000\014\011\ufff4\013\ufff4\014\ufff4\015" +

    "\ufff4\016\ufff4\001\002\000\004\002\000\001\002\000\004" +

    "\012\042\001\002\000\024\002\ufff9\005\ufff9\006\ufff9\007" +

    "\ufff9\010\ufff9\011\ufff9\012\ufff9\017\ufff9\020\ufff9\001\002" +

    "\000\010\012\026\017\020\020\015\001\002\000\012\011" +

    "\037\014\031\015\032\016\033\001\002\000\010\012\026" +

    "\017\020\020\015\001\002\000\012\013\030\014\031\015" +

    "\032\016\033\001\002\000\014\011\ufff2\013\ufff2\014\ufff2" +

    "\015\ufff2\016\ufff2\001\002\000\010\012\026\017\020\020" +

    "\015\001\002\000\010\012\026\017\020\020\015\001\002" +

    "\000\010\012\026\017\020\020\015\001\002\000\014\011" +

    "\uffee\013\uffee\014\031\015\032\016\033\001\002\000\014" +

    "\011\uffef\013\uffef\014\uffef\015\uffef\016\uffef\001\002\000" +

    "\014\011\ufff0\013\ufff0\014\ufff0\015\032\016\ufff0\001\002" +

    "\000\024\002\ufffa\005\ufffa\006\ufffa\007\ufffa\010\ufffa\011" +

    "\ufffa\012\ufffa\017\ufffa\020\ufffa\001\002\000\012\011\041" +

    "\014\031\015\032\016\033\001\002\000\024\002\ufff7\005" +

    "\ufff7\006\ufff7\007\ufff7\010\ufff7\011\ufff7\012\ufff7\017\ufff7" +

    "\020\ufff7\001\002\000\010\012\026\017\020\020\015\001" +

    "\002\000\012\013\044\014\031\015\032\016\033\001\002" +

    "\000\020\005\022\007\014\010\024\011\023\012\026\017" +

    "\020\020\015\001\002\000\024\002\ufff6\005\ufff6\006\046" +

    "\007\ufff6\010\ufff6\011\ufff6\012\ufff6\017\ufff6\020\ufff6\001" +

    "\002\000\020\005\022\007\014\010\024\011\023\012\026" +

    "\017\020\020\015\001\002\000\024\002\ufff5\005\ufff5\006" +

    "\ufff5\007\ufff5\010\ufff5\011\ufff5\012\ufff5\017\ufff5\020\ufff5" +

    "\001\002\000\004\002\ufffb\001\002\000\004\011\052\001" +

    "\002\000\024\002\ufff8\005\ufff8\006\ufff8\007\ufff8\010\ufff8" +

    "\011\ufff8\012\ufff8\017\ufff8\020\ufff8\001\002" });

lots of other magic ... }