//---------------------------------------------------- // The following code was generated by CUP v0.10i // Tue Apr 27 08:54:22 EDT 1999 //---------------------------------------------------- package com.orbs.open.a.mpl.compiler.mini.parse; import java_cup.runtime.*; import com.orbs.open.a.mpl.compiler.mini.node.*; public class MiniParser extends java_cup.runtime.lr_parser { /** constructor */ public MiniParser() {super();} /** production table */ protected static final short _production_table[][] = unpackFromStrings(new String[] { "\000\063\000\002\002\004\000\002\026\003\000\002\004" + "\006\000\002\004\005\000\002\010\003\000\002\010\004" + "\000\002\031\003\000\002\031\004\000\002\007\005\000" + "\002\007\006\000\002\007\011\000\002\030\003\000\002" + "\030\003\000\002\030\003\000\002\030\003\000\002\030" + "\003\000\002\030\003\000\002\030\003\000\002\016\007" + "\000\002\023\007\000\002\003\006\000\002\006\010\000" + "\002\006\011\000\002\011\010\000\002\015\010\000\002" + "\025\005\000\002\025\010\000\002\024\003\000\002\020" + "\003\000\002\020\005\000\002\014\003\000\002\014\005" + "\000\002\005\005\000\002\013\003\000\002\013\005\000" + "\002\032\003\000\002\032\005\000\002\012\003\000\002" + "\012\003\000\002\012\005\000\002\017\003\000\002\027" + "\003\000\002\027\003\000\002\027\003\000\002\027\003" + "\000\002\027\003\000\002\027\003\000\002\021\003\000" + "\002\021\003\000\002\022\003\000\002\022\003" }); /** access to production table */ public short[][] production_table() {return _production_table;} /** parse action table */ protected static final short[][] _action_table = unpackFromStrings(new String[] { "\000\153\000\004\004\005\001\002\000\004\002\155\001" + "\002\000\024\005\016\011\020\012\030\014\010\015\011" + "\017\031\020\015\021\021\045\017\001\002\000\004\002" + "\000\001\002\000\024\005\ufffd\011\ufffd\012\ufffd\014\ufffd" + "\015\ufffd\017\ufffd\020\ufffd\021\ufffd\045\ufffd\001\002\000" + "\004\045\017\001\002\000\004\041\140\001\002\000\026" + "\005\ufff0\007\ufff0\010\ufff0\011\ufff0\013\ufff0\015\ufff0\017" + "\ufff0\020\ufff0\021\ufff0\045\ufff0\001\002\000\026\005\ufffb" + "\007\ufffb\010\ufffb\011\ufffb\013\ufffb\015\ufffb\017\ufffb\020" + "\ufffb\021\ufffb\045\ufffb\001\002\000\026\005\ufff4\007\ufff4" + "\010\ufff4\011\ufff4\013\ufff4\015\ufff4\017\ufff4\020\ufff4\021" + "\ufff4\045\ufff4\001\002\000\010\041\041\044\035\045\017" + "\001\002\000\004\045\017\001\002\000\046\004\uffd9\006" + "\uffd9\016\uffd9\022\uffd9\023\uffd9\024\uffd9\025\uffd9\026\uffd9" + "\032\uffd9\033\uffd9\034\uffd9\035\uffd9\036\uffd9\037\uffd9\040" + "\uffd9\041\uffd9\042\uffd9\043\uffd9\001\002\000\010\041\041" + "\044\035\045\017\001\002\000\004\041\075\001\002\000" + "\026\005\ufff3\007\ufff3\010\ufff3\011\ufff3\013\ufff3\015\ufff3" + "\017\ufff3\020\ufff3\021\ufff3\045\ufff3\001\002\000\024\005" + "\016\011\020\012\030\014\010\015\011\017\031\020\015" + "\021\021\045\017\001\002\000\026\005\ufff6\007\ufff6\010" + "\ufff6\011\ufff6\013\ufff6\015\ufff6\017\ufff6\020\ufff6\021\ufff6" + "\045\ufff6\001\002\000\026\005\ufff5\007\ufff5\010\ufff5\011" + "\ufff5\013\ufff5\015\ufff5\017\ufff5\020\ufff5\021\ufff5\045\ufff5" + "\001\002\000\026\005\ufff2\007\ufff2\010\ufff2\011\ufff2\013" + "\ufff2\015\ufff2\017\ufff2\020\ufff2\021\ufff2\045\ufff2\001\002" + "\000\022\005\016\010\071\011\020\015\011\017\031\020" + "\015\021\021\045\017\001\002\000\004\045\017\001\002" + "\000\010\041\041\044\035\045\017\001\002\000\026\005" + "\ufff1\007\ufff1\010\ufff1\011\ufff1\013\ufff1\015\ufff1\017\ufff1" + "\020\ufff1\021\ufff1\045\ufff1\001\002\000\004\022\034\001" + "\002\000\010\041\041\044\035\045\017\001\002\000\040" + "\006\uffdc\016\uffdc\023\uffdc\024\uffdc\025\uffdc\026\uffdc\032" + "\uffdc\033\uffdc\034\uffdc\035\uffdc\036\uffdc\037\uffdc\040\uffdc" + "\042\uffdc\043\uffdc\001\002\000\040\006\uffde\016\uffde\023" + "\uffde\024\uffde\025\uffde\026\uffde\032\uffde\033\uffde\034\uffde" + "\035\uffde\036\uffde\037\uffde\040\uffde\042\uffde\043\uffde\001" + "\002\000\040\006\uffe0\016\uffe0\023\uffe0\024\uffe0\025\052" + "\026\051\032\uffe0\033\uffe0\034\uffe0\035\uffe0\036\uffe0\037" + "\uffe0\040\uffe0\042\uffe0\043\uffe0\001\002\000\040\006\uffdb" + "\016\uffdb\023\uffdb\024\uffdb\025\uffdb\026\uffdb\032\uffdb\033" + "\uffdb\034\uffdb\035\uffdb\036\uffdb\037\uffdb\040\uffdb\042\uffdb" + "\043\uffdb\001\002\000\010\041\041\044\035\045\017\001" + "\002\000\010\023\045\024\046\040\044\001\002\000\010" + "\041\041\044\035\045\017\001\002\000\026\005\uffed\007" + "\uffed\010\uffed\011\uffed\013\uffed\015\uffed\017\uffed\020\uffed" + "\021\uffed\045\uffed\001\002\000\010\041\uffd2\044\uffd2\045" + "\uffd2\001\002\000\010\041\uffd1\044\uffd1\045\uffd1\001\002" + "\000\040\006\uffdf\016\uffdf\023\uffdf\024\uffdf\025\052\026" + "\051\032\uffdf\033\uffdf\034\uffdf\035\uffdf\036\uffdf\037\uffdf" + "\040\uffdf\042\uffdf\043\uffdf\001\002\000\010\041\041\044" + "\035\045\017\001\002\000\010\041\uffcf\044\uffcf\045\uffcf" + "\001\002\000\010\041\uffd0\044\uffd0\045\uffd0\001\002\000" + "\040\006\uffdd\016\uffdd\023\uffdd\024\uffdd\025\uffdd\026\uffdd" + "\032\uffdd\033\uffdd\034\uffdd\035\uffdd\036\uffdd\037\uffdd\040" + "\uffdd\042\uffdd\043\uffdd\001\002\000\010\023\045\024\046" + "\042\055\001\002\000\040\006\uffda\016\uffda\023\uffda\024" + "\uffda\025\uffda\026\uffda\032\uffda\033\uffda\034\uffda\035\uffda" + "\036\uffda\037\uffda\040\uffda\042\uffda\043\uffda\001\002\000" + "\010\006\057\023\045\024\046\001\002\000\020\005\016" + "\011\020\015\011\017\031\020\015\021\021\045\017\001" + "\002\000\022\005\016\010\062\011\020\015\011\017\031" + "\020\015\021\021\045\017\001\002\000\026\005\ufffa\007" + "\ufffa\010\ufffa\011\ufffa\013\ufffa\015\ufffa\017\ufffa\020\ufffa" + "\021\ufffa\045\ufffa\001\002\000\004\040\063\001\002\000" + "\026\005\uffea\007\uffea\010\uffea\011\uffea\013\uffea\015\uffea" + "\017\uffea\020\uffea\021\uffea\045\uffea\001\002\000\010\040" + "\uffe5\042\uffe5\043\uffe5\001\002\000\006\040\067\043\066" + "\001\002\000\004\045\017\001\002\000\024\005\ufff9\011" + "\ufff9\012\ufff9\014\ufff9\015\ufff9\017\ufff9\020\ufff9\021\ufff9" + "\045\ufff9\001\002\000\010\040\uffe4\042\uffe4\043\uffe4\001" + "\002\000\006\002\ufffe\040\ufffe\001\002\000\024\005\ufffc" + "\011\ufffc\012\ufffc\014\ufffc\015\ufffc\017\ufffc\020\ufffc\021" + "\ufffc\045\ufffc\001\002\000\022\005\016\010\074\011\020" + "\015\011\017\031\020\015\021\021\045\017\001\002\000" + "\006\002\uffff\040\uffff\001\002\000\010\041\041\044\035" + "\045\017\001\002\000\006\042\101\043\100\001\002\000" + "\012\023\045\024\046\042\uffe3\043\uffe3\001\002\000\010" + "\041\041\044\035\045\017\001\002\000\004\040\102\001" + "\002\000\026\005\uffee\007\uffee\010\uffee\011\uffee\013\uffee" + "\015\uffee\017\uffee\020\uffee\021\uffee\045\uffee\001\002\000" + "\012\023\045\024\046\042\uffe2\043\uffe2\001\002\000\004" + "\016\116\001\002\000\022\023\045\024\046\032\110\033" + "\113\034\112\035\114\036\107\037\111\001\002\000\010" + "\041\041\044\035\045\017\001\002\000\010\041\uffd4\044" + "\uffd4\045\uffd4\001\002\000\010\041\uffd8\044\uffd8\045\uffd8" + "\001\002\000\010\041\uffd7\044\uffd7\045\uffd7\001\002\000" + "\010\041\uffd5\044\uffd5\045\uffd5\001\002\000\010\041\uffd3" + "\044\uffd3\045\uffd3\001\002\000\010\041\uffd6\044\uffd6\045" + "\uffd6\001\002\000\012\006\uffe1\016\uffe1\023\045\024\046" + "\001\002\000\020\005\016\011\020\015\011\017\031\020" + "\015\021\021\045\017\001\002\000\024\005\016\007\120" + "\011\020\013\121\015\011\017\031\020\015\021\021\045" + "\017\001\002\000\020\005\016\011\020\015\011\017\031" + "\020\015\021\021\045\017\001\002\000\004\040\122\001" + "\002\000\026\005\uffec\007\uffec\010\uffec\011\uffec\013\uffec" + "\015\uffec\017\uffec\020\uffec\021\uffec\045\uffec\001\002\000" + "\022\005\016\011\020\013\124\015\011\017\031\020\015" + "\021\021\045\017\001\002\000\026\005\uffeb\007\uffeb\010" + "\uffeb\011\uffeb\013\uffeb\015\uffeb\017\uffeb\020\uffeb\021\uffeb" + "\045\uffeb\001\002\000\006\040\126\041\127\001\002\000" + "\026\005\uffe8\007\uffe8\010\uffe8\011\uffe8\013\uffe8\015\uffe8" + "\017\uffe8\020\uffe8\021\uffe8\045\uffe8\001\002\000\010\041" + "\041\044\035\045\017\001\002\000\006\042\131\043\100" + "\001\002\000\004\040\132\001\002\000\026\005\uffe7\007" + "\uffe7\010\uffe7\011\uffe7\013\uffe7\015\uffe7\017\uffe7\020\uffe7" + "\021\uffe7\045\uffe7\001\002\000\004\006\134\001\002\000" + "\020\005\016\011\020\015\011\017\031\020\015\021\021" + "\045\017\001\002\000\022\005\016\010\136\011\020\015" + "\011\017\031\020\015\021\021\045\017\001\002\000\004" + "\040\137\001\002\000\026\005\uffe9\007\uffe9\010\uffe9\011" + "\uffe9\013\uffe9\015\uffe9\017\uffe9\020\uffe9\021\uffe9\045\uffe9" + "\001\002\000\004\045\017\001\002\000\006\042\142\043" + "\066\001\002\000\004\040\143\001\002\000\026\005\uffef" + "\007\uffef\010\uffef\011\uffef\013\uffef\015\uffef\017\uffef\020" + "\uffef\021\uffef\045\uffef\001\002\000\006\004\005\041\145" + "\001\002\000\004\045\017\001\002\000\004\040\147\001" + "\002\000\024\005\ufff8\011\ufff8\012\ufff8\014\ufff8\015\ufff8" + "\017\ufff8\020\ufff8\021\ufff8\045\ufff8\001\002\000\004\042" + "\152\001\002\000\006\042\uffe6\043\066\001\002\000\004" + "\004\005\001\002\000\004\040\154\001\002\000\024\005" + "\ufff7\011\ufff7\012\ufff7\014\ufff7\015\ufff7\017\ufff7\020\ufff7" + "\021\ufff7\045\ufff7\001\002\000\004\002\001\001\002" }); /** access to parse action table */ public short[][] action_table() {return _action_table;} /** reduce_goto table */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { "\000\153\000\006\004\005\026\003\001\001\000\002\001" + "\001\000\032\003\013\006\021\007\006\010\022\011\025" + "\015\031\016\023\017\032\023\024\025\011\030\012\031" + "\026\001\001\000\002\001\001\000\002\001\001\000\004" + "\017\143\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\014\005\132\012\035" + "\013\104\017\037\032\036\001\001\000\004\017\124\001" + "\001\000\002\001\001\000\014\005\103\012\035\013\104" + "\017\037\032\036\001\001\000\002\001\001\000\002\001" + "\001\000\030\003\013\006\021\007\071\011\025\015\031" + "\016\023\017\032\023\024\025\011\030\012\031\072\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\024\003\013\006\021\011\025\015\031\016\023\017" + "\032\023\024\025\011\030\060\001\001\000\006\017\063" + "\020\064\001\001\000\012\012\035\013\055\017\037\032" + "\036\001\001\000\002\001\001\000\002\001\001\000\012" + "\012\035\013\041\017\037\032\036\001\001\000\002\001" + "\001\000\002\001\001\000\004\022\047\001\001\000\002" + "\001\001\000\012\012\035\013\053\017\037\032\036\001" + "\001\000\004\021\042\001\001\000\010\012\035\017\037" + "\032\046\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\004\022\047\001\001\000\006\012\052" + "\017\037\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\004\021\042\001\001\000\002\001\001" + "\000\004\021\042\001\001\000\026\003\013\006\021\011" + "\025\015\031\016\023\017\032\023\024\025\011\030\012" + "\031\057\001\001\000\024\003\013\006\021\011\025\015" + "\031\016\023\017\032\023\024\025\011\030\060\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\004\017\067\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\024\003\013\006\021\011\025\015\031" + "\016\023\017\032\023\024\025\011\030\060\001\001\000" + "\002\001\001\000\014\012\035\013\076\014\075\017\037" + "\032\036\001\001\000\002\001\001\000\004\021\042\001" + "\001\000\012\012\035\013\102\017\037\032\036\001\001" + "\000\002\001\001\000\002\001\001\000\004\021\042\001" + "\001\000\002\001\001\000\006\021\042\027\105\001\001" + "\000\012\012\035\013\114\017\037\032\036\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\004\021" + "\042\001\001\000\026\003\013\006\021\011\025\015\031" + "\016\023\017\032\023\024\025\011\030\012\031\116\001" + "\001\000\024\003\013\006\021\011\025\015\031\016\023" + "\017\032\023\024\025\011\030\060\001\001\000\026\003" + "\013\006\021\011\025\015\031\016\023\017\032\023\024" + "\025\011\030\012\031\122\001\001\000\002\001\001\000" + "\002\001\001\000\024\003\013\006\021\011\025\015\031" + "\016\023\017\032\023\024\025\011\030\060\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\014" + "\012\035\013\076\014\127\017\037\032\036\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\026\003\013\006\021\011\025\015\031\016" + "\023\017\032\023\024\025\011\030\012\031\134\001\001" + "\000\024\003\013\006\021\011\025\015\031\016\023\017" + "\032\023\024\025\011\030\060\001\001\000\002\001\001" + "\000\002\001\001\000\006\017\063\020\140\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + "\004\145\001\001\000\010\017\063\020\150\024\147\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\004\004\152\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001" }); /** access to reduce_goto table */ public short[][] reduce_table() {return _reduce_table;} /** instance of action encapsulation class */ protected CUP$MiniParser$actions action_obj; /** action encapsulation object initializer */ protected void init_actions() { action_obj = new CUP$MiniParser$actions(this); } /** invoke a user supplied parse action */ public java_cup.runtime.Symbol do_action( int act_num, java_cup.runtime.lr_parser parser, java.util.Stack stack, int top) throws java.lang.Exception { /* call code in generated class */ return action_obj.CUP$MiniParser$do_action(act_num, parser, stack, top); } /** start state */ public int start_state() {return 0;} /** start production */ public int start_production() {return 0;} /** EOF Symbol index */ public int EOF_sym() {return 0;} /** error Symbol index */ public int error_sym() {return 1;} /** user initialization */ public void user_init() throws java.lang.Exception { } /** scan to get the next Symbol */ public java_cup.runtime.Symbol scan() throws java.lang.Exception { return cupTokenScanner.nextToken ( ); } protected CUPTokenScanner cupTokenScanner; public MiniParser ( CUPTokenScanner cupTokenScanner ) ////////////////////////////////////////////////////////////////////// { this.cupTokenScanner = cupTokenScanner; } } /** Cup generated class to encapsulate user supplied action code.*/ class CUP$MiniParser$actions { ////////////////////////////////////////////////////////////////////// // Action Code ////////////////////////////////////////////////////////////////////// private final MiniParser parser; /** Constructor */ CUP$MiniParser$actions(MiniParser parser) { this.parser = parser; } /** Method with the actual generated action code. */ public final java_cup.runtime.Symbol CUP$MiniParser$do_action( int CUP$MiniParser$act_num, java_cup.runtime.lr_parser CUP$MiniParser$parser, java.util.Stack CUP$MiniParser$stack, int CUP$MiniParser$top) throws java.lang.Exception { /* Symbol object for return from actions */ java_cup.runtime.Symbol CUP$MiniParser$result; /* select the action based on the action number */ switch (CUP$MiniParser$act_num) { /*. . . . . . . . . . . . . . . . . . . .*/ case 50: // strongOperator ::= DIVIDE { OperatorMiniNode RESULT = null; RESULT = new OperatorMiniNode ( MiniSymbols.DIVIDE ); CUP$MiniParser$result = new java_cup.runtime.Symbol(16/*strongOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 49: // strongOperator ::= TIMES { OperatorMiniNode RESULT = null; RESULT = new OperatorMiniNode ( MiniSymbols.TIMES ); CUP$MiniParser$result = new java_cup.runtime.Symbol(16/*strongOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 48: // weakOperator ::= MINUS { OperatorMiniNode RESULT = null; RESULT = new OperatorMiniNode ( MiniSymbols.MINUS ); CUP$MiniParser$result = new java_cup.runtime.Symbol(15/*weakOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 47: // weakOperator ::= PLUS { OperatorMiniNode RESULT = null; RESULT = new OperatorMiniNode ( MiniSymbols.PLUS ); CUP$MiniParser$result = new java_cup.runtime.Symbol(15/*weakOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 46: // relation ::= NE { RelationMiniNode RESULT = null; RESULT = new RelationMiniNode ( MiniSymbols.NE ); CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 45: // relation ::= GE { RelationMiniNode RESULT = null; RESULT = new RelationMiniNode ( MiniSymbols.GE ); CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 44: // relation ::= GT { RelationMiniNode RESULT = null; RESULT = new RelationMiniNode ( MiniSymbols.GT ); CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 43: // relation ::= LT { RelationMiniNode RESULT = null; RESULT = new RelationMiniNode ( MiniSymbols.LT ); CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 42: // relation ::= LE { RelationMiniNode RESULT = null; RESULT = new RelationMiniNode ( MiniSymbols.LE ); CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 41: // relation ::= EQ { RelationMiniNode RESULT = null; RESULT = new RelationMiniNode ( MiniSymbols.EQ ); CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 40: // name1 ::= NAME { NameMiniNode RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; String n = (String)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new NameMiniNode ( n ); CUP$MiniParser$result = new java_cup.runtime.Symbol(13/*name1*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 39: // element ::= LPAREN expression RPAREN { ElementMiniNode RESULT = null; int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = new ExpressionElementMiniNode ( e ); CUP$MiniParser$result = new java_cup.runtime.Symbol(8/*element*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 38: // element ::= name1 { ElementMiniNode RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = n; CUP$MiniParser$result = new java_cup.runtime.Symbol(8/*element*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 37: // element ::= CONSTANT { ElementMiniNode RESULT = null; int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; Integer c = (Integer)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new ConstantMiniNode ( c.intValue ( ) ); CUP$MiniParser$result = new java_cup.runtime.Symbol(8/*element*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 36: // term ::= term strongOperator element { TermMiniNode RESULT = null; int tleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int tright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; TermMiniNode t = (TermMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; int oleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int oright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; OperatorMiniNode o = (OperatorMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; ElementMiniNode e = (ElementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new TermMiniNode ( t, o, e ); CUP$MiniParser$result = new java_cup.runtime.Symbol(24/*term*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 35: // term ::= element { TermMiniNode RESULT = null; int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; ElementMiniNode e = (ElementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new TermMiniNode ( e ); CUP$MiniParser$result = new java_cup.runtime.Symbol(24/*term*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 34: // expression ::= expression weakOperator term { ExpressionMiniNode RESULT = null; int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; int oleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int oright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; OperatorMiniNode o = (OperatorMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; int tleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int tright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; TermMiniNode t = (TermMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new ExpressionMiniNode ( e, o, t ); CUP$MiniParser$result = new java_cup.runtime.Symbol(9/*expression*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 33: // expression ::= term { ExpressionMiniNode RESULT = null; int tleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int tright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; TermMiniNode t = (TermMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new ExpressionMiniNode ( t ); CUP$MiniParser$result = new java_cup.runtime.Symbol(9/*expression*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 32: // comparison ::= expression relation expression { ComparisonMiniNode RESULT = null; int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; ExpressionMiniNode eL = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; int rleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int rright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; RelationMiniNode r = (RelationMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; int eRleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int eRright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; ExpressionMiniNode eR = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new ComparisonMiniNode ( eL, r, eR ); CUP$MiniParser$result = new java_cup.runtime.Symbol(3/*comparison*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 31: // expressionList ::= expressionList COMMA expression { ExpressionSequenceMiniNode RESULT = null; int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; ExpressionSequenceMiniNode eL = (ExpressionSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new ExpressionSequenceMiniNode ( eL, e ); CUP$MiniParser$result = new java_cup.runtime.Symbol(10/*expressionList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 30: // expressionList ::= expression { ExpressionSequenceMiniNode RESULT = null; int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new ExpressionSequenceMiniNode ( null, e ); CUP$MiniParser$result = new java_cup.runtime.Symbol(10/*expressionList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 29: // nameList ::= nameList COMMA name1 { NameSequenceMiniNode RESULT = null; int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new NameSequenceMiniNode ( nL, n ); CUP$MiniParser$result = new java_cup.runtime.Symbol(14/*nameList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 28: // nameList ::= name1 { NameSequenceMiniNode RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new NameSequenceMiniNode ( n ); CUP$MiniParser$result = new java_cup.runtime.Symbol(14/*nameList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 27: // parameterList ::= nameList { ParameterSequenceMiniNode RESULT = null; int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; try { RESULT = new ParameterSequenceMiniNode ( nL ); } catch ( SemanticErrorException ex ) { System.err.println ( ex.getMessage ( ) ); // RESULT = error; throw ex; } CUP$MiniParser$result = new java_cup.runtime.Symbol(18/*parameterList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 26: // procedureCall ::= CALL name1 LPAREN expressionList RPAREN SEMICOLON { ProcedureCallStatementMiniNode RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left; int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right; NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value; int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; ExpressionSequenceMiniNode eL = (ExpressionSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; RESULT = new ProcedureCallStatementMiniNode ( n, eL ); CUP$MiniParser$result = new java_cup.runtime.Symbol(19/*procedureCall*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 25: // procedureCall ::= CALL name1 SEMICOLON { ProcedureCallStatementMiniNode RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = new ProcedureCallStatementMiniNode ( n ); CUP$MiniParser$result = new java_cup.runtime.Symbol(19/*procedureCall*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 24: // indefiniteLoop ::= WHILE comparison DO statementSequence END SEMICOLON { IndefiniteLoopStatementMiniNode RESULT = null; int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left; int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right; ComparisonMiniNode c = (ComparisonMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value; int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; RESULT = new IndefiniteLoopStatementMiniNode ( c, ss ); CUP$MiniParser$result = new java_cup.runtime.Symbol(11/*indefiniteLoop*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 23: // definiteLoop ::= TO expression DO statementSequence END SEMICOLON { DefiniteLoopStatementMiniNode RESULT = null; int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left; int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right; ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value; int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; RESULT = new DefiniteLoopStatementMiniNode ( e, ss ); CUP$MiniParser$result = new java_cup.runtime.Symbol(7/*definiteLoop*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 22: // conditionalStatement ::= IF comparison THEN statementSequence ELSE statementSequence FI { ConditionalStatementMiniNode RESULT = null; int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left; int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).right; ComparisonMiniNode c = (ComparisonMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).value; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).right; StatementSequenceMiniNode s = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).value; int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; StatementSequenceMiniNode e = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = new ConditionalStatementMiniNode ( c, s, e ); CUP$MiniParser$result = new java_cup.runtime.Symbol(4/*conditionalStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-6)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 21: // conditionalStatement ::= IF comparison THEN statementSequence FI SEMICOLON { ConditionalStatementMiniNode RESULT = null; int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left; int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right; ComparisonMiniNode c = (ComparisonMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value; int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; RESULT = new ConditionalStatementMiniNode ( c, ss, null ); CUP$MiniParser$result = new java_cup.runtime.Symbol(4/*conditionalStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 20: // assignmentStatement ::= name1 ASSIGN expression SEMICOLON { AssignmentStatementMiniNode RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left; int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).right; NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).value; int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = new AssignmentStatementMiniNode ( n, e ); CUP$MiniParser$result = new java_cup.runtime.Symbol(1/*assignmentStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 19: // outputStatement ::= WRITE LPAREN expressionList RPAREN SEMICOLON { OutputStatementMiniNode RESULT = null; int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; ExpressionSequenceMiniNode eL = (ExpressionSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; RESULT = new OutputStatementMiniNode ( eL ); CUP$MiniParser$result = new java_cup.runtime.Symbol(17/*outputStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 18: // inputStatement ::= READ LPAREN nameList RPAREN SEMICOLON { InputStatementMiniNode RESULT = null; int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; RESULT = new InputStatementMiniNode ( nL ); CUP$MiniParser$result = new java_cup.runtime.Symbol(12/*inputStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 17: // statement ::= procedureCall { StatementMiniNode RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; ProcedureCallStatementMiniNode s = (ProcedureCallStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = s; CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 16: // statement ::= indefiniteLoop { StatementMiniNode RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; IndefiniteLoopStatementMiniNode s = (IndefiniteLoopStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = s; CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 15: // statement ::= definiteLoop { StatementMiniNode RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; DefiniteLoopStatementMiniNode s = (DefiniteLoopStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = s; CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 14: // statement ::= conditionalStatement { StatementMiniNode RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; ConditionalStatementMiniNode s = (ConditionalStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = s; CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 13: // statement ::= assignmentStatement { StatementMiniNode RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; AssignmentStatementMiniNode s = (AssignmentStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = s; CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 12: // statement ::= outputStatement { StatementMiniNode RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; OutputStatementMiniNode s = (OutputStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = s; CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 11: // statement ::= inputStatement { StatementMiniNode RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; InputStatementMiniNode s = (InputStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = s; CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 10: // declaration ::= PROCEDURE name1 LPAREN parameterList RPAREN block SEMICOLON { DeclarationMiniNode RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left; int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).right; NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).value; int pLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left; int pLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).right; ParameterSequenceMiniNode pL = (ParameterSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).value; int bleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int bright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; BlockMiniNode b = (BlockMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = new ProcedureDeclarationMiniNode ( n, pL, b ); CUP$MiniParser$result = new java_cup.runtime.Symbol(5/*declaration*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-6)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 9: // declaration ::= PROCEDURE name1 block SEMICOLON { DeclarationMiniNode RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; int bleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int bright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; BlockMiniNode b = (BlockMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = new ProcedureDeclarationMiniNode ( n, null, b ); CUP$MiniParser$result = new java_cup.runtime.Symbol(5/*declaration*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 8: // declaration ::= INTEGER nameList SEMICOLON { DeclarationMiniNode RESULT = null; int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = new IntegerDeclarationMiniNode ( nL ); CUP$MiniParser$result = new java_cup.runtime.Symbol(5/*declaration*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 7: // statementSequence ::= statementSequence statement { StatementSequenceMiniNode RESULT = null; int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; StatementMiniNode s = (StatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new StatementSequenceMiniNode ( ss, s ); CUP$MiniParser$result = new java_cup.runtime.Symbol(23/*statementSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 6: // statementSequence ::= statement { StatementSequenceMiniNode RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; StatementMiniNode s = (StatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new StatementSequenceMiniNode ( s ); CUP$MiniParser$result = new java_cup.runtime.Symbol(23/*statementSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 5: // declarationSequence ::= declarationSequence declaration { DeclarationSequenceMiniNode RESULT = null; int dsleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int dsright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; DeclarationSequenceMiniNode ds = (DeclarationSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; int dleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int dright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; DeclarationMiniNode d = (DeclarationMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new DeclarationSequenceMiniNode ( ds, d ); CUP$MiniParser$result = new java_cup.runtime.Symbol(6/*declarationSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 4: // declarationSequence ::= declaration { DeclarationSequenceMiniNode RESULT = null; int dleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int dright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; DeclarationMiniNode d = (DeclarationMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; RESULT = new DeclarationSequenceMiniNode ( d ); CUP$MiniParser$result = new java_cup.runtime.Symbol(6/*declarationSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 3: // block ::= BEGIN statementSequence END { BlockMiniNode RESULT = null; int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = new BlockMiniNode ( ss ); CUP$MiniParser$result = new java_cup.runtime.Symbol(2/*block*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 2: // block ::= BEGIN declarationSequence statementSequence END { BlockMiniNode RESULT = null; int dsleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; int dsright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; DeclarationSequenceMiniNode ds = (DeclarationSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = new BlockMiniNode ( ds, ss ); CUP$MiniParser$result = new java_cup.runtime.Symbol(2/*block*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 1: // program ::= block { ProgramMiniNode RESULT = null; int bleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; int bright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; BlockMiniNode b = (BlockMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; try { RESULT = new ProgramMiniNode ( b ); } catch ( SemanticErrorException ex ) { System.err.println ( ex.getMessage ( ) ); // RESULT = error; throw ex; } CUP$MiniParser$result = new java_cup.runtime.Symbol(20/*program*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } return CUP$MiniParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 0: // $START ::= program EOF { Object RESULT = null; int start_valleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; int start_valright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; ProgramMiniNode start_val = (ProgramMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; RESULT = start_val; CUP$MiniParser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); } /* ACCEPT */ CUP$MiniParser$parser.done_parsing(); return CUP$MiniParser$result; /* . . . . . .*/ default: throw new Exception( "Invalid action number found in internal parse table"); } } }