//----------------------------------------------------
// The following code was generated by CUP v0.10k
// Wed May 16 12:28:36 NZST 2007
//----------------------------------------------------
package grammar;
import java.io.*;
import java.util.*;
import java_cup.runtime.*;
import node.*;
import node.declNode.*;
import node.declNode.componentDeclNode.*;
import node.declNode.pathDefnNode.*;
import node.declNode.valueDefnNode.*;
import node.stmtNode.*;
import node.stmtNode.forStmtNode.*;
import node.stmtNode.ifStmtNode.*;
import node.stmtNode.ifStmtNode.elseOptNode.*;
import node.stmtNode.invocationStmtNode.*;
import node.stmtNode.includeStmtNode.*;
import node.exprNode.*;
import node.exprNode.binaryNode.*;
import node.exprNode.binaryNode.arithNode.*;
import node.exprNode.binaryNode.stringNode.*;
import node.exprNode.binaryNode.relationNode.*;
import node.exprNode.binaryNode.boolNode.*;
import node.exprNode.prefixNode.*;
import node.exprNode.valueNode.*;
import node.pathNode.*;
import node.pathNode.pathNameNode.*;
import text.*;
/** CUP v0.10k generated parser.
* @version Wed May 16 12:28:36 NZST 2007
*/
public class parser extends java_cup.runtime.lr_parser {
/** Default constructor. */
public parser() {super();}
/** Constructor which sets the default scanner. */
public parser(java_cup.runtime.Scanner s) {super(s);}
/** Production table. */
protected static final short _production_table[][] =
unpackFromStrings(new String[] {
"\000\143\000\002\002\004\000\002\003\002\000\002\003" +
"\004\000\002\005\003\000\002\005\003\000\002\005\003" +
"\000\002\004\002\000\002\004\004\000\002\006\003\000" +
"\002\006\003\000\002\006\003\000\002\006\003\000\002" +
"\006\003\000\002\006\004\000\002\006\004\000\002\010" +
"\005\000\002\012\003\000\002\012\005\000\002\015\005" +
"\000\002\013\005\000\002\013\002\000\002\014\003\000" +
"\002\014\005\000\002\016\003\000\002\011\005\000\002" +
"\021\003\000\002\021\005\000\002\022\003\000\002\022" +
"\006\000\002\017\006\000\002\017\002\000\002\020\006" +
"\000\002\020\002\000\002\007\010\000\002\023\005\000" +
"\002\023\003\000\002\027\005\000\002\024\010\000\002" +
"\032\002\000\002\032\004\000\002\032\007\000\002\025" +
"\013\000\002\026\006\000\002\030\003\000\002\030\005" +
"\000\002\031\004\000\002\033\006\000\002\033\002\000" +
"\002\041\005\000\002\041\002\000\002\034\006\000\002" +
"\034\002\000\002\035\003\000\002\035\005\000\002\036" +
"\003\000\002\037\002\000\002\037\004\000\002\040\003" +
"\000\002\040\006\000\002\040\010\000\002\042\003\000" +
"\002\042\005\000\002\043\003\000\002\044\007\000\002" +
"\044\003\000\002\045\005\000\002\045\003\000\002\046" +
"\005\000\002\046\003\000\002\047\005\000\002\047\005" +
"\000\002\047\005\000\002\047\005\000\002\047\005\000" +
"\002\047\005\000\002\047\003\000\002\050\005\000\002" +
"\050\005\000\002\050\003\000\002\051\005\000\002\051" +
"\005\000\002\051\005\000\002\051\003\000\002\052\005" +
"\000\002\052\005\000\002\052\005\000\002\052\003\000" +
"\002\053\004\000\002\053\004\000\002\053\003\000\002" +
"\054\005\000\002\054\003\000\002\054\003\000\002\055" +
"\003\000\002\055\003\000\002\055\003\000\002\055\003" +
"\000\002\055\003\000\002\055\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\264\000\026\002\000\003\000\004\000\005\000\006" +
"\000\011\000\014\000\020\000\031\000\070\000\001\002" +
"\000\026\002\016\003\022\004\006\005\010\006\026\011" +
"\011\014\013\020\024\031\025\070\uffd2\001\002\000\034" +
"\002\ufff8\003\ufff8\004\ufff8\005\ufff8\006\ufff8\011\ufff8\013" +
"\ufff8\014\ufff8\016\ufff8\017\ufff8\020\ufff8\031\ufff8\070\ufff8" +
"\001\002\000\004\067\265\001\002\000\034\002\ufff6\003" +
"\ufff6\004\ufff6\005\ufff6\006\ufff6\011\ufff6\013\ufff6\014\ufff6" +
"\016\ufff6\017\ufff6\020\ufff6\031\ufff6\070\ufff6\001\002\000" +
"\004\070\257\001\002\000\006\031\225\070\uffe3\001\002" +
"\000\026\002\uffff\003\uffff\004\uffff\005\uffff\006\uffff\011" +
"\uffff\014\uffff\020\uffff\031\uffff\070\uffff\001\002\000\026" +
"\024\046\054\052\061\040\062\041\063\051\064\056\065" +
"\054\066\057\067\045\070\035\001\002\000\026\002\ufffe" +
"\003\ufffe\004\ufffe\005\ufffe\006\ufffe\011\ufffe\014\ufffe\020" +
"\ufffe\031\ufffe\070\ufffe\001\002\000\004\070\171\001\002" +
"\000\004\002\001\001\002\000\026\002\ufffd\003\ufffd\004" +
"\ufffd\005\ufffd\006\ufffd\011\ufffd\014\ufffd\020\ufffd\031\ufffd" +
"\070\ufffd\001\002\000\034\002\ufff5\003\ufff5\004\ufff5\005" +
"\ufff5\006\ufff5\011\ufff5\013\ufff5\014\ufff5\016\ufff5\017\ufff5" +
"\020\ufff5\031\ufff5\070\ufff5\001\002\000\026\002\ufffc\003" +
"\ufffc\004\ufffc\005\ufffc\006\ufffc\011\ufffc\014\ufffc\020\ufffc" +
"\031\ufffc\070\ufffc\001\002\000\006\013\166\033\165\001" +
"\002\000\034\002\ufff7\003\ufff7\004\ufff7\005\ufff7\006\ufff7" +
"\011\ufff7\013\ufff7\014\ufff7\016\ufff7\017\ufff7\020\ufff7\031" +
"\ufff7\070\ufff7\001\002\000\004\070\154\001\002\000\004" +
"\007\135\001\002\000\004\070\031\001\002\000\034\002" +
"\ufff9\003\ufff9\004\ufff9\005\ufff9\006\ufff9\011\ufff9\013\ufff9" +
"\014\ufff9\016\ufff9\017\ufff9\020\ufff9\031\ufff9\070\ufff9\001" +
"\002\000\006\033\133\034\132\001\002\000\012\026\033" +
"\032\uffe6\033\uffe6\034\uffe6\001\002\000\010\032\uffe8\033" +
"\uffe8\034\uffe8\001\002\000\026\024\046\054\052\061\040" +
"\062\041\063\051\064\056\065\054\066\057\067\045\070" +
"\035\001\002\000\032\015\uffbd\022\uffbd\023\uffbd\025\uffbd" +
"\027\uffbd\030\uffbd\033\uffbd\034\uffbd\037\uffbd\040\uffbd\041" +
"\uffbd\042\uffbd\001\002\000\066\015\uffa6\022\uffa6\023\uffa6" +
"\025\uffa6\027\uffa6\030\uffa6\033\uffa6\034\uffa6\037\uffa6\040" +
"\uffa6\041\uffa6\042\uffa6\043\uffa6\044\uffa6\045\uffa6\046\uffa6" +
"\047\uffa6\050\uffa6\051\uffa6\052\uffa6\053\uffa6\054\uffa6\055" +
"\uffa6\056\uffa6\057\uffa6\060\uffa6\001\002\000\030\015\uffc1" +
"\022\uffc1\023\uffc1\025\uffc1\027\uffc1\030\uffc1\033\uffc1\034" +
"\uffc1\037\124\040\uffc1\041\125\001\002\000\066\015\uffa8" +
"\022\uffa8\023\uffa8\025\uffa8\027\uffa8\030\uffa8\033\uffa8\034" +
"\uffa8\037\uffa8\040\uffa8\041\uffa8\042\uffa8\043\uffa8\044\uffa8" +
"\045\uffa8\046\uffa8\047\uffa8\050\uffa8\051\uffa8\052\uffa8\053" +
"\uffa8\054\uffa8\055\uffa8\056\uffa8\057\uffa8\060\uffa8\001\002" +
"\000\026\024\046\054\052\061\040\062\041\063\051\064" +
"\056\065\054\066\057\067\045\070\035\001\002\000\066" +
"\015\uffa1\022\uffa1\023\uffa1\025\uffa1\027\uffa1\030\uffa1\033" +
"\uffa1\034\uffa1\037\uffa1\040\uffa1\041\uffa1\042\uffa1\043\uffa1" +
"\044\uffa1\045\uffa1\046\uffa1\047\uffa1\050\uffa1\051\uffa1\052" +
"\uffa1\053\uffa1\054\uffa1\055\uffa1\056\uffa1\057\uffa1\060\uffa1" +
"\001\002\000\024\015\uffc3\022\uffc3\023\uffc3\025\uffc3\027" +
"\uffc3\030\uffc3\033\uffc3\034\uffc3\040\uffc3\001\002\000\004" +
"\027\122\001\002\000\066\015\uffaf\022\uffaf\023\uffaf\025" +
"\uffaf\027\uffaf\030\uffaf\033\uffaf\034\uffaf\037\uffaf\040\uffaf" +
"\041\uffaf\042\uffaf\043\uffaf\044\uffaf\045\uffaf\046\uffaf\047" +
"\uffaf\050\uffaf\051\uffaf\052\uffaf\053\uffaf\054\uffaf\055\uffaf" +
"\056\101\057\100\060\077\001\002\000\066\015\uff9f\022" +
"\uff9f\023\uff9f\025\uff9f\027\uff9f\030\uff9f\033\uff9f\034\uff9f" +
"\037\uff9f\040\uff9f\041\uff9f\042\uff9f\043\uff9f\044\uff9f\045" +
"\uff9f\046\uff9f\047\uff9f\050\uff9f\051\uff9f\052\uff9f\053\uff9f" +
"\054\uff9f\055\uff9f\056\uff9f\057\uff9f\060\uff9f\001\002\000" +
"\026\024\046\054\052\061\040\062\041\063\051\064\056" +
"\065\054\066\057\067\045\070\035\001\002\000\060\015" +
"\uffb3\022\uffb3\023\uffb3\025\uffb3\027\uffb3\030\uffb3\033\uffb3" +
"\034\uffb3\037\uffb3\040\uffb3\041\uffb3\042\uffb3\043\uffb3\044" +
"\uffb3\045\uffb3\046\uffb3\047\uffb3\050\uffb3\051\uffb3\052\uffb3" +
"\053\074\054\075\055\073\001\002\000\066\015\uffab\022" +
"\uffab\023\uffab\025\uffab\027\uffab\030\uffab\033\uffab\034\uffab" +
"\037\uffab\040\uffab\041\uffab\042\uffab\043\uffab\044\uffab\045" +
"\uffab\046\uffab\047\uffab\050\uffab\051\uffab\052\uffab\053\uffab" +
"\054\uffab\055\uffab\056\uffab\057\uffab\060\uffab\001\002\000" +
"\066\015\uffa0\022\uffa0\023\uffa0\025\uffa0\027\uffa0\030\uffa0" +
"\033\uffa0\034\uffa0\037\uffa0\040\uffa0\041\uffa0\042\uffa0\043" +
"\uffa0\044\uffa0\045\uffa0\046\uffa0\047\uffa0\050\uffa0\051\uffa0" +
"\052\uffa0\053\uffa0\054\uffa0\055\uffa0\056\uffa0\057\uffa0\060" +
"\uffa0\001\002\000\026\024\046\054\052\061\040\062\041" +
"\063\051\064\056\065\054\066\057\067\045\070\035\001" +
"\002\000\066\015\uffa5\022\uffa5\023\uffa5\025\uffa5\027\uffa5" +
"\030\uffa5\033\uffa5\034\uffa5\037\uffa5\040\uffa5\041\uffa5\042" +
"\uffa5\043\uffa5\044\uffa5\045\uffa5\046\uffa5\047\uffa5\050\uffa5" +
"\051\uffa5\052\uffa5\053\uffa5\054\uffa5\055\uffa5\056\uffa5\057" +
"\uffa5\060\uffa5\001\002\000\066\015\uffa3\022\uffa3\023\uffa3" +
"\025\uffa3\027\uffa3\030\uffa3\033\uffa3\034\uffa3\037\uffa3\040" +
"\uffa3\041\uffa3\042\uffa3\043\uffa3\044\uffa3\045\uffa3\046\uffa3" +
"\047\uffa3\050\uffa3\051\uffa3\052\uffa3\053\uffa3\054\uffa3\055" +
"\uffa3\056\uffa3\057\uffa3\060\uffa3\001\002\000\032\015\uffbf" +
"\022\uffbf\023\uffbf\025\uffbf\027\uffbf\030\uffbf\033\uffbf\034" +
"\uffbf\037\uffbf\040\uffbf\041\uffbf\042\115\001\002\000\066" +
"\015\uffa4\022\uffa4\023\uffa4\025\uffa4\027\uffa4\030\uffa4\033" +
"\uffa4\034\uffa4\037\uffa4\040\uffa4\041\uffa4\042\uffa4\043\uffa4" +
"\044\uffa4\045\uffa4\046\uffa4\047\uffa4\050\uffa4\051\uffa4\052" +
"\uffa4\053\uffa4\054\uffa4\055\uffa4\056\uffa4\057\uffa4\060\uffa4" +
"\001\002\000\066\015\uffa2\022\uffa2\023\uffa2\025\uffa2\027" +
"\uffa2\030\uffa2\033\uffa2\034\uffa2\037\uffa2\040\uffa2\041\uffa2" +
"\042\uffa2\043\uffa2\044\uffa2\045\uffa2\046\uffa2\047\uffa2\050" +
"\uffa2\051\uffa2\052\uffa2\053\uffa2\054\uffa2\055\uffa2\056\uffa2" +
"\057\uffa2\060\uffa2\001\002\000\052\015\uffb6\022\uffb6\023" +
"\uffb6\025\uffb6\027\uffb6\030\uffb6\033\uffb6\034\uffb6\037\uffb6" +
"\040\uffb6\041\uffb6\042\uffb6\043\061\044\063\045\065\046" +
"\066\047\062\050\070\051\067\052\064\001\002\000\026" +
"\024\046\054\052\061\040\062\041\063\051\064\056\065" +
"\054\066\057\067\045\070\035\001\002\000\026\024\046" +
"\054\052\061\040\062\041\063\051\064\056\065\054\066" +
"\057\067\045\070\035\001\002\000\026\024\046\054\052" +
"\061\040\062\041\063\051\064\056\065\054\066\057\067" +
"\045\070\035\001\002\000\026\024\046\054\052\061\040" +
"\062\041\063\051\064\056\065\054\066\057\067\045\070" +
"\035\001\002\000\026\024\046\054\052\061\040\062\041" +
"\063\051\064\056\065\054\066\057\067\045\070\035\001" +
"\002\000\026\024\046\054\052\061\040\062\041\063\051" +
"\064\056\065\054\066\057\067\045\070\035\001\002\000" +
"\026\024\046\054\052\061\040\062\041\063\051\064\056" +
"\065\054\066\057\067\045\070\035\001\002\000\026\024" +
"\046\054\052\061\040\062\041\063\051\064\056\065\054" +
"\066\057\067\045\070\035\001\002\000\036\015\uffb7\022" +
"\uffb7\023\uffb7\025\uffb7\027\uffb7\030\uffb7\033\uffb7\034\uffb7" +
"\037\uffb7\040\uffb7\041\uffb7\042\uffb7\051\067\052\064\001" +
"\002\000\060\015\uffb5\022\uffb5\023\uffb5\025\uffb5\027\uffb5" +
"\030\uffb5\033\uffb5\034\uffb5\037\uffb5\040\uffb5\041\uffb5\042" +
"\uffb5\043\uffb5\044\uffb5\045\uffb5\046\uffb5\047\uffb5\050\uffb5" +
"\051\uffb5\052\uffb5\053\074\054\075\055\073\001\002\000" +
"\026\024\046\054\052\061\040\062\041\063\051\064\056" +
"\065\054\066\057\067\045\070\035\001\002\000\026\024" +
"\046\054\052\061\040\062\041\063\051\064\056\065\054" +
"\066\057\067\045\070\035\001\002\000\026\024\046\054" +
"\052\061\040\062\041\063\051\064\056\065\054\066\057" +
"\067\045\070\035\001\002\000\066\015\uffb1\022\uffb1\023" +
"\uffb1\025\uffb1\027\uffb1\030\uffb1\033\uffb1\034\uffb1\037\uffb1" +
"\040\uffb1\041\uffb1\042\uffb1\043\uffb1\044\uffb1\045\uffb1\046" +
"\uffb1\047\uffb1\050\uffb1\051\uffb1\052\uffb1\053\uffb1\054\uffb1" +
"\055\uffb1\056\101\057\100\060\077\001\002\000\026\024" +
"\046\054\052\061\040\062\041\063\051\064\056\065\054" +
"\066\057\067\045\070\035\001\002\000\026\024\046\054" +
"\052\061\040\062\041\063\051\064\056\065\054\066\057" +
"\067\045\070\035\001\002\000\026\024\046\054\052\061" +
"\040\062\041\063\051\064\056\065\054\066\057\067\045" +
"\070\035\001\002\000\066\015\uffae\022\uffae\023\uffae\025" +
"\uffae\027\uffae\030\uffae\033\uffae\034\uffae\037\uffae\040\uffae" +
"\041\uffae\042\uffae\043\uffae\044\uffae\045\uffae\046\uffae\047" +
"\uffae\050\uffae\051\uffae\052\uffae\053\uffae\054\uffae\055\uffae" +
"\056\uffae\057\uffae\060\uffae\001\002\000\066\015\uffad\022" +
"\uffad\023\uffad\025\uffad\027\uffad\030\uffad\033\uffad\034\uffad" +
"\037\uffad\040\uffad\041\uffad\042\uffad\043\uffad\044\uffad\045" +
"\uffad\046\uffad\047\uffad\050\uffad\051\uffad\052\uffad\053\uffad" +
"\054\uffad\055\uffad\056\uffad\057\uffad\060\uffad\001\002\000" +
"\066\015\uffac\022\uffac\023\uffac\025\uffac\027\uffac\030\uffac" +
"\033\uffac\034\uffac\037\uffac\040\uffac\041\uffac\042\uffac\043" +
"\uffac\044\uffac\045\uffac\046\uffac\047\uffac\050\uffac\051\uffac" +
"\052\uffac\053\uffac\054\uffac\055\uffac\056\uffac\057\uffac\060" +
"\uffac\001\002\000\066\015\uffb2\022\uffb2\023\uffb2\025\uffb2" +
"\027\uffb2\030\uffb2\033\uffb2\034\uffb2\037\uffb2\040\uffb2\041" +
"\uffb2\042\uffb2\043\uffb2\044\uffb2\045\uffb2\046\uffb2\047\uffb2" +
"\050\uffb2\051\uffb2\052\uffb2\053\uffb2\054\uffb2\055\uffb2\056" +
"\101\057\100\060\077\001\002\000\066\015\uffb0\022\uffb0" +
"\023\uffb0\025\uffb0\027\uffb0\030\uffb0\033\uffb0\034\uffb0\037" +
"\uffb0\040\uffb0\041\uffb0\042\uffb0\043\uffb0\044\uffb0\045\uffb0" +
"\046\uffb0\047\uffb0\050\uffb0\051\uffb0\052\uffb0\053\uffb0\054" +
"\uffb0\055\uffb0\056\101\057\100\060\077\001\002\000\036" +
"\015\uffb9\022\uffb9\023\uffb9\025\uffb9\027\uffb9\030\uffb9\033" +
"\uffb9\034\uffb9\037\uffb9\040\uffb9\041\uffb9\042\uffb9\051\067" +
"\052\064\001\002\000\036\015\uffba\022\uffba\023\uffba\025" +
"\uffba\027\uffba\030\uffba\033\uffba\034\uffba\037\uffba\040\uffba" +
"\041\uffba\042\uffba\051\067\052\064\001\002\000\060\015" +
"\uffb4\022\uffb4\023\uffb4\025\uffb4\027\uffb4\030\uffb4\033\uffb4" +
"\034\uffb4\037\uffb4\040\uffb4\041\uffb4\042\uffb4\043\uffb4\044" +
"\uffb4\045\uffb4\046\uffb4\047\uffb4\050\uffb4\051\uffb4\052\uffb4" +
"\053\074\054\075\055\073\001\002\000\036\015\uffbb\022" +
"\uffbb\023\uffbb\025\uffbb\027\uffbb\030\uffbb\033\uffbb\034\uffbb" +
"\037\uffbb\040\uffbb\041\uffbb\042\uffbb\051\067\052\064\001" +
"\002\000\036\015\uffb8\022\uffb8\023\uffb8\025\uffb8\027\uffb8" +
"\030\uffb8\033\uffb8\034\uffb8\037\uffb8\040\uffb8\041\uffb8\042" +
"\uffb8\051\067\052\064\001\002\000\036\015\uffbc\022\uffbc" +
"\023\uffbc\025\uffbc\027\uffbc\030\uffbc\033\uffbc\034\uffbc\037" +
"\uffbc\040\uffbc\041\uffbc\042\uffbc\051\067\052\064\001\002" +
"\000\026\024\046\054\052\061\040\062\041\063\051\064" +
"\056\065\054\066\057\067\045\070\035\001\002\000\032" +
"\015\uffbe\022\uffbe\023\uffbe\025\uffbe\027\uffbe\030\uffbe\033" +
"\uffbe\034\uffbe\037\uffbe\040\uffbe\041\uffbe\042\uffbe\001\002" +
"\000\066\015\uffaa\022\uffaa\023\uffaa\025\uffaa\027\uffaa\030" +
"\uffaa\033\uffaa\034\uffaa\037\uffaa\040\uffaa\041\uffaa\042\uffaa" +
"\043\uffaa\044\uffaa\045\uffaa\046\uffaa\047\uffaa\050\uffaa\051" +
"\uffaa\052\uffaa\053\uffaa\054\uffaa\055\uffaa\056\uffaa\057\uffaa" +
"\060\uffaa\001\002\000\004\025\121\001\002\000\066\015" +
"\uffa7\022\uffa7\023\uffa7\025\uffa7\027\uffa7\030\uffa7\033\uffa7" +
"\034\uffa7\037\uffa7\040\uffa7\041\uffa7\042\uffa7\043\uffa7\044" +
"\uffa7\045\uffa7\046\uffa7\047\uffa7\050\uffa7\051\uffa7\052\uffa7" +
"\053\uffa7\054\uffa7\055\uffa7\056\uffa7\057\uffa7\060\uffa7\001" +
"\002\000\010\032\uffe5\033\uffe5\034\uffe5\001\002\000\066" +
"\015\uffa9\022\uffa9\023\uffa9\025\uffa9\027\uffa9\030\uffa9\033" +
"\uffa9\034\uffa9\037\uffa9\040\uffa9\041\uffa9\042\uffa9\043\uffa9" +
"\044\uffa9\045\uffa9\046\uffa9\047\uffa9\050\uffa9\051\uffa9\052" +
"\uffa9\053\uffa9\054\uffa9\055\uffa9\056\uffa9\057\uffa9\060\uffa9" +
"\001\002\000\026\024\046\054\052\061\040\062\041\063" +
"\051\064\056\065\054\066\057\067\045\070\035\001\002" +
"\000\026\024\046\054\052\061\040\062\041\063\051\064" +
"\056\065\054\066\057\067\045\070\035\001\002\000\032" +
"\015\uffc0\022\uffc0\023\uffc0\025\uffc0\027\uffc0\030\uffc0\033" +
"\uffc0\034\uffc0\037\uffc0\040\uffc0\041\uffc0\042\115\001\002" +
"\000\004\040\130\001\002\000\026\024\046\054\052\061" +
"\040\062\041\063\051\064\056\065\054\066\057\067\045" +
"\070\035\001\002\000\024\015\uffc2\022\uffc2\023\uffc2\025" +
"\uffc2\027\uffc2\030\uffc2\033\uffc2\034\uffc2\040\uffc2\001\002" +
"\000\004\070\031\001\002\000\034\002\uffe9\003\uffe9\004" +
"\uffe9\005\uffe9\006\uffe9\011\uffe9\013\uffe9\014\uffe9\016\uffe9" +
"\017\uffe9\020\uffe9\031\uffe9\070\uffe9\001\002\000\010\032" +
"\uffe7\033\uffe7\034\uffe7\001\002\000\010\032\uffca\034\uffca" +
"\070\uffca\001\002\000\006\032\152\034\151\001\002\000" +
"\010\032\uffcb\034\uffcb\070\142\001\002\000\006\032\uffcd" +
"\034\uffcd\001\002\000\010\032\uffc9\034\uffc9\070\uffc9\001" +
"\002\000\012\026\143\032\uffc8\034\uffc8\070\uffc8\001\002" +
"\000\026\024\046\054\052\061\040\062\041\063\051\064" +
"\056\065\054\066\057\067\045\070\035\001\002\000\006" +
"\027\146\030\145\001\002\000\026\024\046\054\052\061" +
"\040\062\041\063\051\064\056\065\054\066\057\067\045" +
"\070\035\001\002\000\010\032\uffc7\034\uffc7\070\uffc7\001" +
"\002\000\004\027\150\001\002\000\010\032\uffc6\034\uffc6" +
"\070\uffc6\001\002\000\010\032\uffca\034\uffca\070\uffca\001" +
"\002\000\004\070\uffd3\001\002\000\006\032\uffcc\034\uffcc" +
"\001\002\000\004\021\155\001\002\000\026\024\046\054" +
"\052\061\040\062\041\063\051\064\056\065\054\066\057" +
"\067\045\070\035\001\002\000\004\022\157\001\002\000" +
"\026\024\046\054\052\061\040\062\041\063\051\064\056" +
"\065\054\066\057\067\045\070\035\001\002\000\004\023" +
"\161\001\002\000\022\003\ufffb\005\ufffb\006\ufffb\013\ufffb" +
"\014\ufffb\020\ufffb\031\ufffb\070\ufffb\001\002\000\022\003" +
"\022\005\010\006\026\013\164\014\013\020\024\031\025" +
"\070\uffd2\001\002\000\026\003\ufffa\005\ufffa\006\ufffa\013" +
"\ufffa\014\ufffa\016\ufffa\017\ufffa\020\ufffa\031\ufffa\070\ufffa" +
"\001\002\000\034\002\uffd8\003\uffd8\004\uffd8\005\uffd8\006" +
"\uffd8\011\uffd8\013\uffd8\014\uffd8\016\uffd8\017\uffd8\020\uffd8" +
"\031\uffd8\070\uffd8\001\002\000\034\002\ufff4\003\ufff4\004" +
"\ufff4\005\ufff4\006\ufff4\011\ufff4\013\ufff4\014\ufff4\016\ufff4" +
"\017\ufff4\020\ufff4\031\ufff4\070\ufff4\001\002\000\034\002" +
"\ufff3\003\ufff3\004\ufff3\005\ufff3\006\ufff3\011\ufff3\013\ufff3" +
"\014\ufff3\016\ufff3\017\ufff3\020\ufff3\031\ufff3\070\ufff3\001" +
"\002\000\010\031\uffd6\033\uffd6\035\uffd6\001\002\000\010" +
"\031\202\033\uffce\035\203\001\002\000\012\024\173\031" +
"\uffd0\033\uffd0\035\uffd0\001\002\000\010\031\uffd4\033\uffd4" +
"\035\uffd4\001\002\000\026\024\046\054\052\061\040\062" +
"\041\063\051\064\056\065\054\066\057\067\045\070\035" +
"\001\002\000\006\025\177\034\176\001\002\000\006\025" +
"\uffc5\034\uffc5\001\002\000\026\024\046\054\052\061\040" +
"\062\041\063\051\064\056\065\054\066\057\067\045\070" +
"\035\001\002\000\010\031\uffd1\033\uffd1\035\uffd1\001\002" +
"\000\006\025\uffc4\034\uffc4\001\002\000\004\033\210\001" +
"\002\000\004\010\205\001\002\000\004\070\171\001\002" +
"\000\010\031\uffd5\033\uffd5\035\uffd5\001\002\000\010\032" +
"\uffca\034\uffca\070\uffca\001\002\000\006\032\207\034\151" +
"\001\002\000\004\033\uffcf\001\002\000\034\002\uffd7\003" +
"\uffd7\004\uffd7\005\uffd7\006\uffd7\011\uffd7\013\uffd7\014\uffd7" +
"\016\uffd7\017\uffd7\020\uffd7\031\uffd7\070\uffd7\001\002\000" +
"\004\015\212\001\002\000\026\003\ufffb\005\ufffb\006\ufffb" +
"\013\ufffb\014\ufffb\016\ufffb\017\ufffb\020\ufffb\031\ufffb\070" +
"\ufffb\001\002\000\026\003\022\005\010\006\026\013\uffdb" +
"\014\013\016\216\017\214\020\024\031\025\070\uffd2\001" +
"\002\000\026\024\046\054\052\061\040\062\041\063\051" +
"\064\056\065\054\066\057\067\045\070\035\001\002\000" +
"\004\013\220\001\002\000\022\003\ufffb\005\ufffb\006\ufffb" +
"\013\ufffb\014\ufffb\020\ufffb\031\ufffb\070\ufffb\001\002\000" +
"\022\003\022\005\010\006\026\013\uffda\014\013\020\024" +
"\031\025\070\uffd2\001\002\000\034\002\uffdc\003\uffdc\004" +
"\uffdc\005\uffdc\006\uffdc\011\uffdc\013\uffdc\014\uffdc\016\uffdc" +
"\017\uffdc\020\uffdc\031\uffdc\070\uffdc\001\002\000\004\015" +
"\222\001\002\000\026\003\ufffb\005\ufffb\006\ufffb\013\ufffb" +
"\014\ufffb\016\ufffb\017\ufffb\020\ufffb\031\ufffb\070\ufffb\001" +
"\002\000\026\003\022\005\010\006\026\013\uffdb\014\013" +
"\016\216\017\214\020\024\031\025\070\uffd2\001\002\000" +
"\004\013\uffd9\001\002\000\004\007\252\001\002\000\004" +
"\070\227\001\002\000\012\012\uffed\024\230\031\uffed\033" +
"\uffed\001\002\000\004\070\245\001\002\000\010\012\uffe1" +
"\031\232\033\uffe1\001\002\000\004\010\241\001\002\000" +
"\006\012\235\033\234\001\002\000\026\002\uffde\003\uffde" +
"\004\uffde\005\uffde\006\uffde\011\uffde\014\uffde\020\uffde\031" +
"\uffde\070\uffde\001\002\000\022\003\ufffb\005\ufffb\006\ufffb" +
"\013\ufffb\014\ufffb\020\ufffb\031\ufffb\070\ufffb\001\002\000" +
"\026\002\uffe0\003\uffe0\004\uffe0\005\uffe0\006\uffe0\011\uffe0" +
"\014\uffe0\020\uffe0\031\uffe0\070\uffe0\001\002\000\022\003" +
"\022\005\010\006\026\013\240\014\013\020\024\031\025" +
"\070\uffd2\001\002\000\026\002\uffdf\003\uffdf\004\uffdf\005" +
"\uffdf\006\uffdf\011\uffdf\014\uffdf\020\uffdf\031\uffdf\070\uffdf" +
"\001\002\000\004\070\031\001\002\000\006\032\243\034" +
"\132\001\002\000\006\012\uffe2\033\uffe2\001\002\000\006" +
"\025\250\034\247\001\002\000\006\025\uffea\034\uffea\001" +
"\002\000\006\025\uffec\034\uffec\001\002\000\004\070\245" +
"\001\002\000\010\012\uffee\031\uffee\033\uffee\001\002\000" +
"\006\025\uffeb\034\uffeb\001\002\000\004\070\031\001\002" +
"\000\006\032\254\034\132\001\002\000\004\070\uffe4\001" +
"\002\000\006\033\ufff1\034\ufff1\001\002\000\006\033\263" +
"\034\262\001\002\000\004\036\260\001\002\000\026\024" +
"\046\054\052\061\040\062\041\063\051\064\056\065\054" +
"\066\057\067\045\070\035\001\002\000\006\033\uffef\034" +
"\uffef\001\002\000\004\070\257\001\002\000\034\002\ufff2" +
"\003\ufff2\004\ufff2\005\ufff2\006\ufff2\011\ufff2\013\ufff2\014" +
"\ufff2\016\ufff2\017\ufff2\020\ufff2\031\ufff2\070\ufff2\001\002" +
"\000\006\033\ufff0\034\ufff0\001\002\000\004\033\266\001" +
"\002\000\026\002\uffdd\003\uffdd\004\uffdd\005\uffdd\006\uffdd" +
"\011\uffdd\014\uffdd\020\uffdd\031\uffdd\070\uffdd\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\264\000\004\003\003\001\001\000\026\005\011\006" +
"\020\007\013\010\026\011\004\024\022\025\006\026\017" +
"\027\016\033\014\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\006\012\255\015\254\001\001" +
"\000\004\017\225\001\001\000\002\001\001\000\030\043" +
"\210\044\041\045\035\046\054\047\033\050\057\051\046" +
"\052\043\053\047\054\036\055\052\001\001\000\002\001" +
"\001\000\006\030\167\031\166\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\002\001\001\000\002" +
"\001\001\000\006\021\027\022\031\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\030\043\042\044\041\045\035\046\054\047\033\050" +
"\057\051\046\052\043\053\047\054\036\055\052\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\010\053\122\054\036\055\052\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\030\043\117\044\041" +
"\045\035\046\054\047\033\050\057\051\046\052\043\053" +
"\047\054\036\055\052\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\010\053\116\054\036\055" +
"\052\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\016\050\113\051\046\052\043\053\047\054\036" +
"\055\052\001\001\000\016\050\112\051\046\052\043\053" +
"\047\054\036\055\052\001\001\000\016\050\111\051\046" +
"\052\043\053\047\054\036\055\052\001\001\000\014\051" +
"\110\052\043\053\047\054\036\055\052\001\001\000\016" +
"\050\107\051\046\052\043\053\047\054\036\055\052\001" +
"\001\000\016\050\106\051\046\052\043\053\047\054\036" +
"\055\052\001\001\000\014\051\071\052\043\053\047\054" +
"\036\055\052\001\001\000\016\050\070\051\046\052\043" +
"\053\047\054\036\055\052\001\001\000\002\001\001\000" +
"\002\001\001\000\012\052\105\053\047\054\036\055\052" +
"\001\001\000\012\052\104\053\047\054\036\055\052\001" +
"\001\000\012\052\075\053\047\054\036\055\052\001\001" +
"\000\002\001\001\000\010\053\103\054\036\055\052\001" +
"\001\000\010\053\102\054\036\055\052\001\001\000\010" +
"\053\101\054\036\055\052\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\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\020\047\115\050\057\051\046\052\043\053\047\054" +
"\036\055\052\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\030\043\126\044\041\045\035\046\054" +
"\047\033\050\057\051\046\052\043\053\047\054\036\055" +
"\052\001\001\000\022\046\125\047\033\050\057\051\046" +
"\052\043\053\047\054\036\055\052\001\001\000\002\001" +
"\001\000\002\001\001\000\030\043\130\044\041\045\035" +
"\046\054\047\033\050\057\051\046\052\043\053\047\054" +
"\036\055\052\001\001\000\002\001\001\000\004\022\133" +
"\001\001\000\002\001\001\000\002\001\001\000\010\035" +
"\135\036\137\037\136\001\001\000\002\001\001\000\004" +
"\040\140\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\030\043\143\044\041\045\035\046\054" +
"\047\033\050\057\051\046\052\043\053\047\054\036\055" +
"\052\001\001\000\002\001\001\000\030\043\146\044\041" +
"\045\035\046\054\047\033\050\057\051\046\052\043\053" +
"\047\054\036\055\052\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\006\036\152\037\136\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\030\043\155\044\041\045\035\046\054\047\033\050" +
"\057\051\046\052\043\053\047\054\036\055\052\001\001" +
"\000\002\001\001\000\030\043\157\044\041\045\035\046" +
"\054\047\033\050\057\051\046\052\043\053\047\054\036" +
"\055\052\001\001\000\002\001\001\000\004\004\161\001" +
"\001\000\020\006\162\010\026\011\004\024\022\025\006" +
"\026\017\033\014\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\004\034\200\001\001\000\004\041\171\001\001\000" +
"\002\001\001\000\032\042\173\043\174\044\041\045\035" +
"\046\054\047\033\050\057\051\046\052\043\053\047\054" +
"\036\055\052\001\001\000\002\001\001\000\002\001\001" +
"\000\030\043\177\044\041\045\035\046\054\047\033\050" +
"\057\051\046\052\043\053\047\054\036\055\052\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\004\031\203\001\001\000\002\001\001" +
"\000\010\035\205\036\137\037\136\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\004\004\212\001\001\000\022\006\162\010\026\011" +
"\004\024\022\025\006\026\017\032\214\033\014\001\001" +
"\000\030\043\220\044\041\045\035\046\054\047\033\050" +
"\057\051\046\052\043\053\047\054\036\055\052\001\001" +
"\000\002\001\001\000\004\004\216\001\001\000\020\006" +
"\162\010\026\011\004\024\022\025\006\026\017\033\014" +
"\001\001\000\002\001\001\000\002\001\001\000\004\004" +
"\222\001\001\000\022\006\162\010\026\011\004\024\022" +
"\025\006\026\017\032\223\033\014\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\004\013\230" +
"\001\001\000\006\014\243\016\245\001\001\000\004\020" +
"\232\001\001\000\002\001\001\000\004\023\235\001\001" +
"\000\002\001\001\000\004\004\236\001\001\000\002\001" +
"\001\000\020\006\162\010\026\011\004\024\022\025\006" +
"\026\017\033\014\001\001\000\002\001\001\000\006\021" +
"\241\022\031\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\004\016\250\001\001\000\002\001\001\000\002\001\001" +
"\000\006\021\252\022\031\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\030\043\260\044\041\045\035\046\054\047" +
"\033\050\057\051\046\052\043\053\047\054\036\055\052" +
"\001\001\000\002\001\001\000\004\015\263\001\001\000" +
"\002\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$parser$actions action_obj;
/** Action encapsulation object initializer. */
protected void init_actions()
{
action_obj = new CUP$parser$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$parser$do_action(act_num, parser, stack, top);
}
/** Indicates start state. */
public int start_state() {return 0;}
/** Indicates 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;}
/** Scan to get the next Symbol. */
public java_cup.runtime.Symbol scan()
throws java.lang.Exception
{
return lexer.yylex();
}
private Yylex lexer;
private File inputFile;
public File inputFile() { return inputFile; };
public int lineNumber() { return lexer.lineNumber(); }
public parser( File inputFile ) {
this();
this.inputFile = inputFile;
try {
lexer = new Yylex( new FileReader( inputFile ) );
}
catch ( IOException exception ) {
throw new Error( "Unable to open file \"" + inputFile + "\"" );
}
}
public String terminal_name( int id ) {
return sym.terminal_name( id );
}
public String non_terminal_name( int id ) {
return sym.non_terminal_name( id );
}
public String rule_name( int id ) {
return sym.rule_name( id );
}
public void report_error( String message, Object info ) {
Print.error().println( inputFile + " ( " + lexer.lineNumber() + " ): " + message );
try {
if ( info instanceof Symbol ) {
Symbol symbol = ( Symbol ) info;
printText( symbol.left, symbol.right );
}
}
catch ( IOException e ) {
}
}
private void printText( int left, int right ) throws IOException {
Reader sourceReader = new FileReader( inputFile );
int veryLeft = Math.max( left - 50, 0 ),
veryRight = Math.min( right + 20,
( int ) inputFile.length() );
char[] text = new char[ veryRight - veryLeft ];
char[] underline = new char[ veryRight - veryLeft ];
sourceReader.skip( veryLeft );
sourceReader.read( text );
for ( int i = 0; i < text.length; i++ ) {
if ( text[ i ] < ' ' ) {
text[ i ] = '|';
underline[ i ] = '|';
}
else
underline[ i ] = ' ';
if ( left <= veryLeft + i && veryLeft + i < right )
underline[ i ] = '^';
}
printLine( text );
printLine( underline );
}
private static void printLine( char[] text ) {
for ( int i = 0; i < text.length; i++ )
Print.error().print( text[ i ] );
Print.error().println();
}
public void syntax_error( Symbol currToken ) {
report_error( "Syntax Error", currToken );
}
}
/** Cup generated class to encapsulate user supplied action code.*/
class CUP$parser$actions {
private final parser parser;
/** Constructor */
CUP$parser$actions(parser parser) {
this.parser = parser;
}
/** Method with the actual generated action code. */
public final java_cup.runtime.Symbol CUP$parser$do_action(
int CUP$parser$act_num,
java_cup.runtime.lr_parser CUP$parser$parser,
java.util.Stack CUP$parser$stack,
int CUP$parser$top)
throws java.lang.Exception
{
/* Symbol object for return from actions */
java_cup.runtime.Symbol CUP$parser$result;
/* select the action based on the action number */
switch (CUP$parser$act_num)
{
/*. . . . . . . . . . . . . . . . . . . .*/
case 98: // LiteralValue ::= STRINGLITERAL
{
ExprNode RESULT = null;
int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new StringValueNode(
Convert.parseString( value.substring( 1, value.length() - 1 ) ) );
CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 97: // LiteralValue ::= FALSE
{
ExprNode RESULT = null;
RESULT = new BoolValueNode( false );
CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 96: // LiteralValue ::= TRUE
{
ExprNode RESULT = null;
RESULT = new BoolValueNode( true );
CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 95: // LiteralValue ::= HEXLITERAL
{
ExprNode RESULT = null;
int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new IntValueNode( 16,
Integer.valueOf( value.substring( 2 ), 16 ).intValue() );
CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 94: // LiteralValue ::= DECLITERAL
{
ExprNode RESULT = null;
int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new IntValueNode( 10,
Integer.valueOf( value, 10 ).intValue() );
CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 93: // LiteralValue ::= BINLITERAL
{
ExprNode RESULT = null;
int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new IntValueNode( 2,
Integer.valueOf( value.substring( 2 ), 2 ).intValue() );
CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 92: // Primary ::= LiteralValue
{
ExprNode RESULT = null;
int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode value = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = value;
CUP$parser$result = new java_cup.runtime.Symbol(42/*Primary*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 91: // Primary ::= IDENT
{
ExprNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new NameNode( ident );
CUP$parser$result = new java_cup.runtime.Symbol(42/*Primary*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 90: // Primary ::= LEFT Expr RIGHT
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(42/*Primary*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 89: // PrefixExpr ::= Primary
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(41/*PrefixExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 88: // PrefixExpr ::= NOT PrefixExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new NotNode( expr );
CUP$parser$result = new java_cup.runtime.Symbol(41/*PrefixExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 87: // PrefixExpr ::= MINUS PrefixExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new NegateNode( expr );
CUP$parser$result = new java_cup.runtime.Symbol(41/*PrefixExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 86: // MulExpr ::= PrefixExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(40/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 85: // MulExpr ::= MulExpr MOD PrefixExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new ModNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(40/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 84: // MulExpr ::= MulExpr DIVIDE PrefixExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new DivideNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(40/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 83: // MulExpr ::= MulExpr TIMES PrefixExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new TimesNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(40/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 82: // AddExpr ::= MulExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(39/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 81: // AddExpr ::= AddExpr AMPERSAND MulExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new ConcatStringNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(39/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 80: // AddExpr ::= AddExpr MINUS MulExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new MinusNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(39/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 79: // AddExpr ::= AddExpr PLUS MulExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new PlusNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(39/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 78: // ShiftExpr ::= AddExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(38/*ShiftExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 77: // ShiftExpr ::= ShiftExpr RIGHTSHIFT AddExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new RightShiftNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(38/*ShiftExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 76: // ShiftExpr ::= ShiftExpr LEFTSHIFT AddExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new LeftShiftNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(38/*ShiftExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 75: // RelExpr ::= ShiftExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 74: // RelExpr ::= ShiftExpr NE ShiftExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new NotEqualNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 73: // RelExpr ::= ShiftExpr EQ ShiftExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new EqualNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 72: // RelExpr ::= ShiftExpr GE ShiftExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new GreaterEqualNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 71: // RelExpr ::= ShiftExpr LE ShiftExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new LessEqualNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 70: // RelExpr ::= ShiftExpr GT ShiftExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new GreaterThanNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 69: // RelExpr ::= ShiftExpr LT ShiftExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new LessThanNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 68: // AndExpr ::= RelExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(36/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 67: // AndExpr ::= AndExpr AND RelExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new AndNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(36/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 66: // OrExpr ::= AndExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(35/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 65: // OrExpr ::= OrExpr OR AndExpr
{
ExprNode RESULT = null;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new OrNode( expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(35/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 64: // CondExpr ::= OrExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(34/*CondExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 63: // CondExpr ::= OrExpr QUEST Expr COLON Expr
{
ExprNode RESULT = null;
int condleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
int condright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
ExprNode cond = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new CondNode( cond, expr1, expr2 );
CUP$parser$result = new java_cup.runtime.Symbol(34/*CondExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 62: // Expr ::= CondExpr
{
ExprNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = expr;
CUP$parser$result = new java_cup.runtime.Symbol(33/*Expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 61: // ExprList ::= ExprList COMMA Expr
{
ExprListNode RESULT = null;
int exprListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int exprListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ExprListNode exprList = (ExprListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
exprList.addElement( expr );
RESULT = exprList;
CUP$parser$result = new java_cup.runtime.Symbol(32/*ExprList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 60: // ExprList ::= Expr
{
ExprListNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new ExprListNode( expr );
CUP$parser$result = new java_cup.runtime.Symbol(32/*ExprList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 59: // PathName ::= IDENT LEFTSQ Expr AT Expr RIGHTSQ
{
PathNameNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
int sizeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int sizeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
ExprNode size = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int baseleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int baseright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
ExprNode base = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new SubArrayPathNameNode( ident, size, base );
CUP$parser$result = new java_cup.runtime.Symbol(30/*PathName*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 58: // PathName ::= IDENT LEFTSQ Expr RIGHTSQ
{
PathNameNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int indexleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int indexright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
ExprNode index = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new IndexPathNameNode( ident, index );
CUP$parser$result = new java_cup.runtime.Symbol(30/*PathName*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 57: // PathName ::= IDENT
{
PathNameNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SimplePathNameNode( ident );
CUP$parser$result = new java_cup.runtime.Symbol(30/*PathName*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 56: // PathNameList ::= PathNameList PathName
{
PathNameListNode RESULT = null;
int pathNameListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int pathNameListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
PathNameListNode pathNameList = (PathNameListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int pathNameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int pathNameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
PathNameNode pathName = (PathNameNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
pathNameList.addElement( pathName );
RESULT = pathNameList;
CUP$parser$result = new java_cup.runtime.Symbol(29/*PathNameList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 55: // PathNameList ::=
{
PathNameListNode RESULT = null;
RESULT = new PathNameListNode();
CUP$parser$result = new java_cup.runtime.Symbol(29/*PathNameList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 54: // PathArray ::= PathNameList
{
PathArrayNode RESULT = null;
int pathNameListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int pathNameListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
PathNameListNode pathNameList = (PathNameListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new PathArrayNode( pathNameList );
CUP$parser$result = new java_cup.runtime.Symbol(28/*PathArray*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 53: // PathArrayList ::= PathArrayList COMMA PathArray
{
PathArrayListNode RESULT = null;
int pathArrayListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int pathArrayListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
PathArrayListNode pathArrayList = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int pathArrayleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int pathArrayright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
PathArrayNode pathArray = (PathArrayNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
pathArrayList.addElement( pathArray );
RESULT = pathArrayList;
CUP$parser$result = new java_cup.runtime.Symbol(27/*PathArrayList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 52: // PathArrayList ::= PathArray
{
PathArrayListNode RESULT = null;
int pathArrayleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int pathArrayright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
PathArrayNode pathArray = (PathArrayNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new PathArrayListNode( pathArray );
CUP$parser$result = new java_cup.runtime.Symbol(27/*PathArrayList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 51: // OutputParams ::=
{
PathArrayListNode RESULT = null;
RESULT = new PathArrayListNode();
CUP$parser$result = new java_cup.runtime.Symbol(26/*OutputParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 50: // OutputParams ::= LEFTBRACE OUT PathArrayList RIGHTBRACE
{
PathArrayListNode RESULT = null;
int pathArrayListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int pathArrayListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
PathArrayListNode pathArrayList = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = pathArrayList;
CUP$parser$result = new java_cup.runtime.Symbol(26/*OutputParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 49: // ValueParams ::=
{
ExprListNode RESULT = null;
RESULT = new ExprListNode();
CUP$parser$result = new java_cup.runtime.Symbol(31/*ValueParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 48: // ValueParams ::= LEFT ExprList RIGHT
{
ExprListNode RESULT = null;
int exprListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int exprListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
ExprListNode exprList = (ExprListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = exprList;
CUP$parser$result = new java_cup.runtime.Symbol(31/*ValueParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 47: // InputParams ::=
{
PathArrayListNode RESULT = null;
RESULT = new PathArrayListNode();
CUP$parser$result = new java_cup.runtime.Symbol(25/*InputParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 46: // InputParams ::= LEFTBRACE IN PathArrayList RIGHTBRACE
{
PathArrayListNode RESULT = null;
int pathArrayListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int pathArrayListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
PathArrayListNode pathArrayList = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = pathArrayList;
CUP$parser$result = new java_cup.runtime.Symbol(25/*InputParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 45: // Invoc ::= IDENT ValueParams
{
InvocNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int valueParamsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int valueParamsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprListNode valueParams = (ExprListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new InvocNode( ident, valueParams );
CUP$parser$result = new java_cup.runtime.Symbol(23/*Invoc*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 44: // InvocList ::= InvocList DOT Invoc
{
InvocListNode RESULT = null;
int invocListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int invocListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
InvocListNode invocList = (InvocListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int invocleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int invocright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
InvocNode invoc = (InvocNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
invocList.addElement( invoc );
RESULT = invocList;
CUP$parser$result = new java_cup.runtime.Symbol(22/*InvocList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 43: // InvocList ::= Invoc
{
InvocListNode RESULT = null;
int invocleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int invocright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
InvocNode invoc = (InvocNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new InvocListNode( invoc );
CUP$parser$result = new java_cup.runtime.Symbol(22/*InvocList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 42: // InvocationStmt ::= InputParams InvocList OutputParams SEMICOLON
{
StmtNode RESULT = null;
int inputParamsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int inputParamsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
PathArrayListNode inputParams = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int invocListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int invocListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
InvocListNode invocList = (InvocListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int outputParamsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int outputParamsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
PathArrayListNode outputParams = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new InvocationStmtNode(
inputParams, invocList, outputParams );
CUP$parser$result = new java_cup.runtime.Symbol(20/*InvocationStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 41: // ForStmt ::= FOR IDENT FROM Expr UPTO Expr DO LocalDeclStmtList END
{
StmtNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-7)).value;
int fromExprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left;
int fromExprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right;
ExprNode fromExpr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
int toExprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int toExprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
ExprNode toExpr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int doPartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int doPartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
DeclStmtListNode doPart = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new ForStmtNode( ident, fromExpr, toExpr, doPart );
CUP$parser$result = new java_cup.runtime.Symbol(19/*ForStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-8)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 40: // ElseOpt ::= ELIF Expr THEN LocalDeclStmtList ElseOpt
{
ElseOptNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int thenPartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int thenPartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
DeclStmtListNode thenPart = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int elsePartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int elsePartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ElseOptNode elsePart = (ElseOptNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new ElseOpt2Node( expr, thenPart, elsePart );
CUP$parser$result = new java_cup.runtime.Symbol(24/*ElseOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 39: // ElseOpt ::= ELSE LocalDeclStmtList
{
ElseOptNode RESULT = null;
int elsePartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int elsePartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
DeclStmtListNode elsePart = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new ElseOpt1Node( elsePart );
CUP$parser$result = new java_cup.runtime.Symbol(24/*ElseOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 38: // ElseOpt ::=
{
ElseOptNode RESULT = null;
RESULT = new ElseOpt0Node();
CUP$parser$result = new java_cup.runtime.Symbol(24/*ElseOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 37: // IfStmt ::= IF Expr THEN LocalDeclStmtList ElseOpt END
{
StmtNode RESULT = null;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
int thenPartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int thenPartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
DeclStmtListNode thenPart = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int elsePartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int elsePartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
ElseOptNode elsePart = (ElseOptNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new IfStmtNode( expr, thenPart, elsePart );
CUP$parser$result = new java_cup.runtime.Symbol(18/*IfStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 36: // IncludeStmt ::= INCLUDE STRINGLITERAL SEMICOLON
{
StmtNode RESULT = null;
int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
try {
String includeFileName =
Convert.parseString( value.substring( 1, value.length() - 1 ) );
File includeFile = new File( includeFileName );
parser p = new parser( includeFile );
DeclStmtListNode includeProgram = ( DeclStmtListNode ) ( p.parse().value );
RESULT = new IncludeStmtNode( includeFileName, includeProgram );
}
catch ( IOException error ) {
Print.error().println( "Can't open included file \"" + parser.inputFile() );
RESULT = new ErrorStmtNode( "include " + value + ";" );
}
CUP$parser$result = new java_cup.runtime.Symbol(21/*IncludeStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 35: // Body ::= SEMICOLON
{
BodyNode RESULT = null;
RESULT = new EmptyBodyNode();
CUP$parser$result = new java_cup.runtime.Symbol(17/*Body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 34: // Body ::= BEGIN LocalDeclStmtList END
{
BodyNode RESULT = null;
int declStmtListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int declStmtListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
DeclStmtListNode declStmtList = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new NonEmptyBodyNode( declStmtList );
CUP$parser$result = new java_cup.runtime.Symbol(17/*Body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 33: // ComponentDecl ::= COMPONENT InputParamDecl IDENT ValueParamDecl OutputParamDecl Body
{
DeclStmtNode RESULT = null;
int inputParamDeclleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
int inputParamDeclright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
PathDefnListNode inputParamDecl = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int valueParamDeclleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int valueParamDeclright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ValueDefnListNode valueParamDecl = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int outputParamDeclleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int outputParamDeclright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
PathDefnListNode outputParamDecl = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int bodyleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int bodyright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
BodyNode body = (BodyNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new ComponentDeclNode(
inputParamDecl,
ident,
valueParamDecl,
outputParamDecl,
body );
CUP$parser$result = new java_cup.runtime.Symbol(5/*ComponentDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 32: // OutputParamDecl ::=
{
PathDefnListNode RESULT = null;
RESULT = new PathDefnListNode();
CUP$parser$result = new java_cup.runtime.Symbol(14/*OutputParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 31: // OutputParamDecl ::= LEFTBRACE OUT PathDefnList RIGHTBRACE
{
PathDefnListNode RESULT = null;
int pathDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int pathDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
PathDefnListNode pathDefnList = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = pathDefnList;
CUP$parser$result = new java_cup.runtime.Symbol(14/*OutputParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 30: // InputParamDecl ::=
{
PathDefnListNode RESULT = null;
RESULT = new PathDefnListNode();
CUP$parser$result = new java_cup.runtime.Symbol(13/*InputParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 29: // InputParamDecl ::= LEFTBRACE IN PathDefnList RIGHTBRACE
{
PathDefnListNode RESULT = null;
int pathDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int pathDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
PathDefnListNode pathDefnList = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = pathDefnList;
CUP$parser$result = new java_cup.runtime.Symbol(13/*InputParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 28: // PathDefn ::= IDENT LEFTSQ Expr RIGHTSQ
{
PathDefnNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int sizeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int sizeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
ExprNode size = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new ArrayPathDefnNode( ident, size );
CUP$parser$result = new java_cup.runtime.Symbol(16/*PathDefn*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 27: // PathDefn ::= IDENT
{
PathDefnNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SimplePathDefnNode( ident );
CUP$parser$result = new java_cup.runtime.Symbol(16/*PathDefn*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 26: // PathDefnList ::= PathDefnList COMMA PathDefn
{
PathDefnListNode RESULT = null;
int pathDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int pathDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
PathDefnListNode pathDefnList = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int pathDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int pathDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
PathDefnNode pathDefn = (PathDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
pathDefnList.addElement( pathDefn );
RESULT = pathDefnList;
CUP$parser$result = new java_cup.runtime.Symbol(15/*PathDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 25: // PathDefnList ::= PathDefn
{
PathDefnListNode RESULT = null;
int pathDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int pathDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
PathDefnNode pathDefn = (PathDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new PathDefnListNode( pathDefn );
CUP$parser$result = new java_cup.runtime.Symbol(15/*PathDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 24: // PathDecl ::= PATH PathDefnList SEMICOLON
{
DeclStmtNode RESULT = null;
int pathDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int pathDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
PathDefnListNode pathDefnList = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new PathDeclNode( pathDefnList );
CUP$parser$result = new java_cup.runtime.Symbol(7/*PathDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 23: // ValueParamDefn ::= IDENT
{
ValueDefnNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new ValueParamDefnNode( ident );
CUP$parser$result = new java_cup.runtime.Symbol(12/*ValueParamDefn*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 22: // ValueParamDefnList ::= ValueParamDefnList COMMA ValueParamDefn
{
ValueDefnListNode RESULT = null;
int valueParamDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int valueParamDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ValueDefnListNode valueParamDefnList = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int valueParamDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int valueParamDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ValueDefnNode valueParamDefn = (ValueDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
valueParamDefnList.addElement( valueParamDefn );
RESULT = valueParamDefnList;
CUP$parser$result = new java_cup.runtime.Symbol(10/*ValueParamDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 21: // ValueParamDefnList ::= ValueParamDefn
{
ValueDefnListNode RESULT = null;
int valueParamDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int valueParamDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ValueDefnNode valueParamDefn = (ValueDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new ValueDefnListNode( valueParamDefn );
CUP$parser$result = new java_cup.runtime.Symbol(10/*ValueParamDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 20: // ValueParamDecl ::=
{
ValueDefnListNode RESULT = null;
RESULT = new ValueDefnListNode();
CUP$parser$result = new java_cup.runtime.Symbol(9/*ValueParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 19: // ValueParamDecl ::= LEFT ValueParamDefnList RIGHT
{
ValueDefnListNode RESULT = null;
int valueParamDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int valueParamDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
ValueDefnListNode valueParamDefnList = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = valueParamDefnList;
CUP$parser$result = new java_cup.runtime.Symbol(9/*ValueParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 18: // InitValueDefn ::= IDENT ASSIGN Expr
{
ValueDefnNode RESULT = null;
int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new InitValueDefnNode( ident, expr );
CUP$parser$result = new java_cup.runtime.Symbol(11/*InitValueDefn*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 17: // InitValueDefnList ::= InitValueDefnList COMMA InitValueDefn
{
ValueDefnListNode RESULT = null;
int initValueDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int initValueDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
ValueDefnListNode initValueDefnList = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int initValueDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int initValueDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ValueDefnNode initValueDefn = (ValueDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
initValueDefnList.addElement( initValueDefn );
RESULT = initValueDefnList;
CUP$parser$result = new java_cup.runtime.Symbol(8/*InitValueDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 16: // InitValueDefnList ::= InitValueDefn
{
ValueDefnListNode RESULT = null;
int initValueDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int initValueDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
ValueDefnNode initValueDefn = (ValueDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new ValueDefnListNode( initValueDefn );
CUP$parser$result = new java_cup.runtime.Symbol(8/*InitValueDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 15: // ValueDecl ::= DEFINE InitValueDefnList SEMICOLON
{
DeclStmtNode RESULT = null;
int initValueDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int initValueDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
ValueDefnListNode initValueDefnList = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new ValueDeclNode( initValueDefnList );
CUP$parser$result = new java_cup.runtime.Symbol(6/*ValueDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 14: // LocalDeclStmt ::= error END
{
DeclStmtNode RESULT = null;
RESULT = new ErrorStmtNode( "error end" );
CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 13: // LocalDeclStmt ::= error SEMICOLON
{
DeclStmtNode RESULT = null;
RESULT = new ErrorStmtNode( "error;" );
CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 12: // LocalDeclStmt ::= InvocationStmt
{
DeclStmtNode RESULT = null;
int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
StmtNode stmt = (StmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = stmt;
CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 11: // LocalDeclStmt ::= ForStmt
{
DeclStmtNode RESULT = null;
int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
StmtNode stmt = (StmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = stmt;
CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 10: // LocalDeclStmt ::= IfStmt
{
DeclStmtNode RESULT = null;
int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
StmtNode stmt = (StmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = stmt;
CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 9: // LocalDeclStmt ::= PathDecl
{
DeclStmtNode RESULT = null;
int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
DeclStmtNode decl = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = decl;
CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 8: // LocalDeclStmt ::= ValueDecl
{
DeclStmtNode RESULT = null;
int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
DeclStmtNode decl = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = decl;
CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 7: // LocalDeclStmtList ::= LocalDeclStmtList LocalDeclStmt
{
DeclStmtListNode RESULT = null;
int declStmtListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int declStmtListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
DeclStmtListNode declStmtList = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int declStmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int declStmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
DeclStmtNode declStmt = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
declStmtList.addElement( declStmt );
RESULT = declStmtList;
CUP$parser$result = new java_cup.runtime.Symbol(2/*LocalDeclStmtList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 6: // LocalDeclStmtList ::=
{
DeclStmtListNode RESULT = null;
RESULT = new DeclStmtListNode();
CUP$parser$result = new java_cup.runtime.Symbol(2/*LocalDeclStmtList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 5: // GlobalDeclStmt ::= LocalDeclStmt
{
DeclStmtNode RESULT = null;
int declStmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int declStmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
DeclStmtNode declStmt = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = declStmt;
CUP$parser$result = new java_cup.runtime.Symbol(3/*GlobalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 4: // GlobalDeclStmt ::= IncludeStmt
{
DeclStmtNode RESULT = null;
int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
StmtNode stmt = (StmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = stmt;
CUP$parser$result = new java_cup.runtime.Symbol(3/*GlobalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 3: // GlobalDeclStmt ::= ComponentDecl
{
DeclStmtNode RESULT = null;
int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
DeclStmtNode decl = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = decl;
CUP$parser$result = new java_cup.runtime.Symbol(3/*GlobalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 2: // GlobalDeclStmtList ::= GlobalDeclStmtList GlobalDeclStmt
{
DeclStmtListNode RESULT = null;
int declStmtListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int declStmtListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
DeclStmtListNode declStmtList = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int declStmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int declStmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
DeclStmtNode declStmt = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
declStmtList.addElement( declStmt );
RESULT = declStmtList;
CUP$parser$result = new java_cup.runtime.Symbol(1/*GlobalDeclStmtList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 1: // GlobalDeclStmtList ::=
{
DeclStmtListNode RESULT = null;
RESULT = new DeclStmtListNode();
CUP$parser$result = new java_cup.runtime.Symbol(1/*GlobalDeclStmtList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 0: // $START ::= GlobalDeclStmtList EOF
{
Object RESULT = null;
int start_valleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int start_valright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
DeclStmtListNode start_val = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = start_val;
CUP$parser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
/* ACCEPT */
CUP$parser$parser.done_parsing();
return CUP$parser$result;
/* . . . . . .*/
default:
throw new Exception(
"Invalid action number found in internal parse table");
}
}
}