//----------------------------------------------------
// The following code was generated by CUP v0.11a beta 20060608
// Thu Nov 23 22:36:25 CET 2006
//----------------------------------------------------
package se.chalmers.cs.gf.GFCC;
/** CUP v0.11a beta 20060608 generated parser.
* @version Thu Nov 23 22:36:25 CET 2006
*/
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);}
/** Constructor which sets the default scanner. */
public parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
/** Production table. */
protected static final short _production_table[][] =
unpackFromStrings(new String[] {
"\000\062\000\002\002\004\000\002\002\007\000\002\003" +
"\007\000\002\004\006\000\002\005\007\000\002\006\007" +
"\000\002\007\005\000\002\010\005\000\002\011\006\000" +
"\002\011\003\000\002\012\003\000\002\012\003\000\002" +
"\012\003\000\002\012\003\000\002\012\003\000\002\013" +
"\005\000\002\013\007\000\002\013\005\000\002\013\003" +
"\000\002\013\004\000\002\013\003\000\002\013\003\000" +
"\002\013\005\000\002\013\007\000\002\013\007\000\002" +
"\013\003\000\002\013\007\000\002\013\004\000\002\014" +
"\003\000\002\014\011\000\002\015\005\000\002\016\002" +
"\000\002\016\005\000\002\017\002\000\002\017\005\000" +
"\002\020\002\000\002\020\005\000\002\021\002\000\002" +
"\021\003\000\002\021\005\000\002\022\002\000\002\022" +
"\003\000\002\022\005\000\002\023\002\000\002\023\004" +
"\000\002\024\002\000\002\024\004\000\002\025\002\000" +
"\002\025\003\000\002\025\005" });
/** Access to production table. */
public short[][] production_table() {return _production_table;}
/** Parse-action table. */
protected static final short[][] _action_table =
unpackFromStrings(new String[] {
"\000\146\000\004\032\004\001\002\000\004\037\145\001" +
"\002\000\004\002\144\001\002\000\004\004\007\001\002" +
"\000\004\030\010\001\002\000\004\007\111\001\002\000" +
"\004\004\012\001\002\000\006\002\uffe2\031\uffe2\001\002" +
"\000\006\002\000\031\014\001\002\000\004\037\017\001" +
"\002\000\004\004\016\001\002\000\006\002\uffe1\031\uffe1" +
"\001\002\000\004\007\020\001\002\000\006\010\uffde\037" +
"\uffde\001\002\000\006\010\022\037\024\001\002\000\004" +
"\004\ufffd\001\002\000\004\004\110\001\002\000\004\012" +
"\025\001\002\000\024\005\030\014\026\015\040\020\035" +
"\021\034\025\031\034\033\035\037\037\036\001\002\000" +
"\020\004\uffe8\006\uffe8\016\uffe8\017\uffe8\022\uffe8\024\uffe8" +
"\027\uffe8\001\002\000\020\004\uffef\006\uffef\016\uffef\017" +
"\uffef\022\uffef\024\uffef\027\uffef\001\002\000\026\005\030" +
"\006\uffd9\014\026\015\040\020\035\021\034\025\031\034" +
"\070\035\037\037\072\001\002\000\004\037\066\001\002" +
"\000\004\004\ufffb\001\002\000\014\004\uffe5\006\uffe5\016" +
"\uffe5\022\uffe5\027\uffe5\001\002\000\026\005\030\014\026" +
"\015\040\020\035\021\034\022\uffd9\025\031\034\033\035" +
"\037\037\036\001\002\000\004\035\063\001\002\000\014" +
"\004\uffec\006\uffec\016\uffec\022\uffec\027\uffec\001\002\000" +
"\020\004\uffed\006\uffed\016\uffed\017\uffed\022\uffed\024\uffed" +
"\027\uffed\001\002\000\030\005\030\014\026\015\040\016" +
"\uffd9\020\035\021\034\025\031\033\042\034\033\035\037" +
"\037\036\001\002\000\004\016\062\001\002\000\006\015" +
"\uffd4\034\uffd4\001\002\000\012\006\uffd8\016\uffd8\022\uffd8" +
"\027\044\001\002\000\032\005\030\006\uffd9\014\026\015" +
"\040\016\uffd9\020\035\021\034\022\uffd9\025\031\034\033" +
"\035\037\037\036\001\002\000\010\006\uffd7\016\uffd7\022" +
"\uffd7\001\002\000\006\015\050\034\047\001\002\000\014" +
"\015\uffd3\016\uffd3\026\uffd3\027\uffd3\034\uffd3\001\002\000" +
"\010\016\uffd2\026\uffd4\034\uffd4\001\002\000\006\016\uffd1" +
"\027\060\001\002\000\006\026\056\034\047\001\002\000" +
"\004\016\054\001\002\000\004\016\055\001\002\000\020" +
"\004\uffe4\006\uffe4\016\uffe4\017\uffe4\022\uffe4\024\uffe4\027" +
"\uffe4\001\002\000\010\016\uffd4\027\uffd4\034\uffd4\001\002" +
"\000\010\016\uffe3\027\uffe3\034\047\001\002\000\010\016" +
"\uffd2\026\uffd4\034\uffd4\001\002\000\004\016\uffd0\001\002" +
"\000\020\004\ufff2\006\ufff2\016\ufff2\017\ufff2\022\ufff2\024" +
"\ufff2\027\ufff2\001\002\000\020\004\uffee\006\uffee\016\uffee" +
"\017\uffee\022\uffee\024\uffee\027\uffee\001\002\000\004\022" +
"\065\001\002\000\020\004\uffeb\006\uffeb\016\uffeb\017\uffeb" +
"\022\uffeb\024\uffeb\027\uffeb\001\002\000\020\004\uffe6\006" +
"\uffe6\016\uffe6\017\uffe6\022\uffe6\024\uffe6\027\uffe6\001\002" +
"\000\004\006\107\001\002\000\014\006\uffe5\017\uffe5\023" +
"\104\024\uffe5\027\uffe5\001\002\000\012\006\uffd8\017\077" +
"\024\076\027\044\001\002\000\014\006\uffec\013\073\017" +
"\uffec\024\uffec\027\uffec\001\002\000\024\005\030\014\026" +
"\015\040\020\035\021\034\025\031\034\033\035\037\037" +
"\036\001\002\000\004\006\075\001\002\000\020\004\uffe7" +
"\006\uffe7\016\uffe7\017\uffe7\022\uffe7\024\uffe7\027\uffe7\001" +
"\002\000\024\005\030\014\026\015\040\020\035\021\034" +
"\025\031\034\033\035\037\037\036\001\002\000\024\005" +
"\030\014\026\015\040\020\035\021\034\025\031\034\033" +
"\035\037\037\036\001\002\000\004\006\101\001\002\000" +
"\020\004\ufff1\006\ufff1\016\ufff1\017\ufff1\022\ufff1\024\ufff1" +
"\027\ufff1\001\002\000\004\006\103\001\002\000\020\004" +
"\uffe9\006\uffe9\016\uffe9\017\uffe9\022\uffe9\024\uffe9\027\uffe9" +
"\001\002\000\024\005\030\014\026\015\040\020\035\021" +
"\034\025\031\034\033\035\037\037\036\001\002\000\004" +
"\006\106\001\002\000\020\004\uffea\006\uffea\016\uffea\017" +
"\uffea\022\uffea\024\uffea\027\uffea\001\002\000\020\004\ufff0" +
"\006\ufff0\016\ufff0\017\ufff0\022\ufff0\024\ufff0\027\ufff0\001" +
"\002\000\006\010\uffdd\037\uffdd\001\002\000\006\010\uffe0" +
"\037\uffe0\001\002\000\006\010\113\037\115\001\002\000" +
"\004\004\ufffe\001\002\000\004\004\143\001\002\000\004" +
"\011\116\001\002\000\006\013\uffdc\037\120\001\002\000" +
"\004\012\126\001\002\000\010\006\uffdb\013\uffdb\027\124" +
"\001\002\000\004\013\122\001\002\000\004\037\123\001" +
"\002\000\004\012\ufffa\001\002\000\010\006\uffdc\013\uffdc" +
"\037\120\001\002\000\006\006\uffda\013\uffda\001\002\000" +
"\016\005\131\014\134\034\127\035\133\036\136\037\135" +
"\001\002\000\022\004\ufff6\005\ufff6\006\ufff6\014\ufff6\034" +
"\ufff6\035\ufff6\036\ufff6\037\ufff6\001\002\000\022\004\ufff8" +
"\005\ufff8\006\ufff8\014\ufff8\034\ufff8\035\ufff8\036\ufff8\037" +
"\ufff8\001\002\000\014\014\134\034\127\035\133\036\136" +
"\037\135\001\002\000\004\004\ufffc\001\002\000\022\004" +
"\ufff5\005\ufff5\006\ufff5\014\ufff5\034\ufff5\035\ufff5\036\ufff5" +
"\037\ufff5\001\002\000\022\004\ufff3\005\ufff3\006\ufff3\014" +
"\ufff3\034\ufff3\035\ufff3\036\ufff3\037\ufff3\001\002\000\022" +
"\004\ufff7\005\ufff7\006\ufff7\014\ufff7\034\ufff7\035\ufff7\036" +
"\ufff7\037\ufff7\001\002\000\022\004\ufff4\005\ufff4\006\ufff4" +
"\014\ufff4\034\ufff4\035\ufff4\036\ufff4\037\ufff4\001\002\000" +
"\020\005\uffd6\006\uffd6\014\uffd6\034\uffd6\035\uffd6\036\uffd6" +
"\037\uffd6\001\002\000\020\005\131\006\141\014\134\034" +
"\127\035\133\036\136\037\135\001\002\000\022\004\ufff9" +
"\005\ufff9\006\ufff9\014\ufff9\034\ufff9\035\ufff9\036\ufff9\037" +
"\ufff9\001\002\000\020\005\uffd5\006\uffd5\014\uffd5\034\uffd5" +
"\035\uffd5\036\uffd5\037\uffd5\001\002\000\006\010\uffdf\037" +
"\uffdf\001\002\000\004\002\001\001\002\000\004\005\146" +
"\001\002\000\006\006\uffdc\037\120\001\002\000\004\006" +
"\150\001\002\000\004\004\uffff\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\146\000\006\002\004\003\005\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\004\004\010" +
"\001\001\000\002\001\001\000\002\001\001\000\004\016" +
"\012\001\001\000\004\005\014\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\004\020\020\001\001\000\004\007\022\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\006\013" +
"\031\014\026\001\001\000\002\001\001\000\002\001\001" +
"\000\010\013\070\014\026\022\066\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\010\013\042" +
"\014\026\022\063\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\010\013\042\014\026\022\040" +
"\001\001\000\002\001\001\000\004\024\045\001\001\000" +
"\002\001\001\000\010\013\042\014\026\022\044\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\010\015\050\024\051\025\052\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\004\024\056\001\001\000\002\001\001" +
"\000\010\015\050\024\051\025\060\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\006" +
"\013\073\014\026\001\001\000\002\001\001\000\002\001" +
"\001\000\006\013\101\014\026\001\001\000\006\013\077" +
"\014\026\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\006\013\104\014\026" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\004\017\111\001\001\000\004" +
"\006\113\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\006\010\116\021\120\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\004\021\124\001\001\000\002" +
"\001\001\000\006\011\131\012\127\001\001\000\002\001" +
"\001\000\002\001\001\000\004\012\136\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\004\023\137\001\001\000\006" +
"\011\141\012\127\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\004\021\146\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;}
public se.chalmers.cs.gf.GFCC.Absyn.Grammar pGrammar() throws Exception
{
java_cup.runtime.Symbol res = parse();
return (se.chalmers.cs.gf.GFCC.Absyn.Grammar) res.value;
}
public > A cons_(B x, A xs) { xs.addFirst(x); return xs; }
public se.chalmers.cs.gf.GFCC.Absyn.Exp trA_ (se.chalmers.cs.gf.GFCC.Absyn.Atom a_) {
return new se.chalmers.cs.gf.GFCC.Absyn.Tr(a_, new se.chalmers.cs.gf.GFCC.Absyn.ListExp());
}
public void syntax_error(java_cup.runtime.Symbol cur_token)
{
report_error("Syntax Error, trying to recover and continue parse...", cur_token);
}
public void unrecovered_syntax_error(java_cup.runtime.Symbol cur_token) throws java.lang.Exception
{
throw new Exception("Unrecoverable Syntax Error");
}
}
/** 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 49: // ListVariant ::= Variant _SYMB_19 ListVariant
{
se.chalmers.cs.gf.GFCC.Absyn.ListVariant RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Variant p_1 = (se.chalmers.cs.gf.GFCC.Absyn.Variant)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.ListVariant p_3 = (se.chalmers.cs.gf.GFCC.Absyn.ListVariant)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListVariant",19, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 48: // ListVariant ::= Variant
{
se.chalmers.cs.gf.GFCC.Absyn.ListVariant RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Variant p_1 = (se.chalmers.cs.gf.GFCC.Absyn.Variant)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListVariant(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListVariant",19, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 47: // ListVariant ::=
{
se.chalmers.cs.gf.GFCC.Absyn.ListVariant RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListVariant();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListVariant",19, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 46: // ListString ::= ListString _STRING_
{
se.chalmers.cs.gf.GFCC.Absyn.ListString RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListString p_1 = (se.chalmers.cs.gf.GFCC.Absyn.ListString)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListString",18, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 45: // ListString ::=
{
se.chalmers.cs.gf.GFCC.Absyn.ListString RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListString();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListString",18, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 44: // ListExp ::= ListExp Exp
{
se.chalmers.cs.gf.GFCC.Absyn.ListExp RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListExp p_1 = (se.chalmers.cs.gf.GFCC.Absyn.ListExp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
se.chalmers.cs.gf.GFCC.Absyn.Exp p_2 = (se.chalmers.cs.gf.GFCC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListExp",17, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 43: // ListExp ::=
{
se.chalmers.cs.gf.GFCC.Absyn.ListExp RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListExp();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListExp",17, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 42: // ListTerm ::= Term _SYMB_19 ListTerm
{
se.chalmers.cs.gf.GFCC.Absyn.ListTerm RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Term p_1 = (se.chalmers.cs.gf.GFCC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.ListTerm p_3 = (se.chalmers.cs.gf.GFCC.Absyn.ListTerm)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListTerm",16, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 41: // ListTerm ::= Term
{
se.chalmers.cs.gf.GFCC.Absyn.ListTerm RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Term p_1 = (se.chalmers.cs.gf.GFCC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListTerm(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListTerm",16, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 40: // ListTerm ::=
{
se.chalmers.cs.gf.GFCC.Absyn.ListTerm RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListTerm();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListTerm",16, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 39: // ListCId ::= CId _SYMB_19 ListCId
{
se.chalmers.cs.gf.GFCC.Absyn.ListCId RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.ListCId p_3 = (se.chalmers.cs.gf.GFCC.Absyn.ListCId)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCId",15, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 38: // ListCId ::= CId
{
se.chalmers.cs.gf.GFCC.Absyn.ListCId RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListCId(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCId",15, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 37: // ListCId ::=
{
se.chalmers.cs.gf.GFCC.Absyn.ListCId RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListCId();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCId",15, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 36: // ListCncDef ::= ListCncDef CncDef _SYMB_0
{
se.chalmers.cs.gf.GFCC.Absyn.ListCncDef RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListCncDef p_1 = (se.chalmers.cs.gf.GFCC.Absyn.ListCncDef)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.CncDef p_2 = (se.chalmers.cs.gf.GFCC.Absyn.CncDef)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCncDef",14, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 35: // ListCncDef ::=
{
se.chalmers.cs.gf.GFCC.Absyn.ListCncDef RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListCncDef();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCncDef",14, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 34: // ListAbsDef ::= ListAbsDef AbsDef _SYMB_0
{
se.chalmers.cs.gf.GFCC.Absyn.ListAbsDef RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListAbsDef p_1 = (se.chalmers.cs.gf.GFCC.Absyn.ListAbsDef)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.AbsDef p_2 = (se.chalmers.cs.gf.GFCC.Absyn.AbsDef)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListAbsDef",13, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 33: // ListAbsDef ::=
{
se.chalmers.cs.gf.GFCC.Absyn.ListAbsDef RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListAbsDef();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListAbsDef",13, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 32: // ListConcrete ::= ListConcrete Concrete _SYMB_0
{
se.chalmers.cs.gf.GFCC.Absyn.ListConcrete RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListConcrete p_1 = (se.chalmers.cs.gf.GFCC.Absyn.ListConcrete)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.Concrete p_2 = (se.chalmers.cs.gf.GFCC.Absyn.Concrete)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListConcrete",12, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 31: // ListConcrete ::=
{
se.chalmers.cs.gf.GFCC.Absyn.ListConcrete RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.ListConcrete();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListConcrete",12, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 30: // Variant ::= ListString _SYMB_18 ListString
{
se.chalmers.cs.gf.GFCC.Absyn.Variant RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListString p_1 = (se.chalmers.cs.gf.GFCC.Absyn.ListString)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.ListString p_3 = (se.chalmers.cs.gf.GFCC.Absyn.ListString)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.Var(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Variant",11, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 29: // Tokn ::= _SYMB_9 _SYMB_23 ListString _SYMB_9 ListVariant _SYMB_10 _SYMB_10
{
se.chalmers.cs.gf.GFCC.Absyn.Tokn RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListString p_3 = (se.chalmers.cs.gf.GFCC.Absyn.ListString)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFCC.Absyn.ListVariant p_5 = (se.chalmers.cs.gf.GFCC.Absyn.ListVariant)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.KP(p_3,p_5);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Tokn",10, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 28: // Tokn ::= _STRING_
{
se.chalmers.cs.gf.GFCC.Absyn.Tokn RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.KS(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Tokn",10, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 27: // Term ::= _SYMB_17 CId
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.BV(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 26: // Term ::= _SYMB_1 CId _SYMB_7 Term _SYMB_2
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFCC.Absyn.Term p_4 = (se.chalmers.cs.gf.GFCC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.L(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 25: // Term ::= _SYMB_8
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.TM();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 24: // Term ::= _SYMB_1 Term _SYMB_16 Term _SYMB_2
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Term p_2 = (se.chalmers.cs.gf.GFCC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFCC.Absyn.Term p_4 = (se.chalmers.cs.gf.GFCC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.RP(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 23: // Term ::= _SYMB_1 _STRING_ _SYMB_15 Term _SYMB_2
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFCC.Absyn.Term p_4 = (se.chalmers.cs.gf.GFCC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.W(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 22: // Term ::= _SYMB_13 ListTerm _SYMB_14
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListTerm p_2 = (se.chalmers.cs.gf.GFCC.Absyn.ListTerm)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.FV(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 21: // Term ::= CId
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.F(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 20: // Term ::= _INTEGER_
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
Integer p_1 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.C(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 19: // Term ::= _SYMB_12 _INTEGER_
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
Integer p_2 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.V(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 18: // Term ::= Tokn
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Tokn p_1 = (se.chalmers.cs.gf.GFCC.Absyn.Tokn)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.K(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 17: // Term ::= _SYMB_1 ListTerm _SYMB_2
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListTerm p_2 = (se.chalmers.cs.gf.GFCC.Absyn.ListTerm)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.S(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 16: // Term ::= _SYMB_1 Term _SYMB_11 Term _SYMB_2
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Term p_2 = (se.chalmers.cs.gf.GFCC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFCC.Absyn.Term p_4 = (se.chalmers.cs.gf.GFCC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.P(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 15: // Term ::= _SYMB_9 ListTerm _SYMB_10
{
se.chalmers.cs.gf.GFCC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListTerm p_2 = (se.chalmers.cs.gf.GFCC.Absyn.ListTerm)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.R(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 14: // Atom ::= _SYMB_8
{
se.chalmers.cs.gf.GFCC.Absyn.Atom RESULT =null;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.AM();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 13: // Atom ::= _DOUBLE_
{
se.chalmers.cs.gf.GFCC.Absyn.Atom RESULT =null;
Double p_1 = (Double)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.AF(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 12: // Atom ::= _INTEGER_
{
se.chalmers.cs.gf.GFCC.Absyn.Atom RESULT =null;
Integer p_1 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.AI(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 11: // Atom ::= _STRING_
{
se.chalmers.cs.gf.GFCC.Absyn.Atom RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.AS(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 10: // Atom ::= CId
{
se.chalmers.cs.gf.GFCC.Absyn.Atom RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.AC(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 9: // Exp ::= Atom
{
se.chalmers.cs.gf.GFCC.Absyn.Exp RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Atom p_1 = (se.chalmers.cs.gf.GFCC.Absyn.Atom)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = parser.trA_(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp",7, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 8: // Exp ::= _SYMB_1 Atom ListExp _SYMB_2
{
se.chalmers.cs.gf.GFCC.Absyn.Exp RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Atom p_2 = (se.chalmers.cs.gf.GFCC.Absyn.Atom)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.ListExp p_3 = (se.chalmers.cs.gf.GFCC.Absyn.ListExp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.Tr(p_2,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp",7, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 7: // Type ::= ListCId _SYMB_7 CId
{
se.chalmers.cs.gf.GFCC.Absyn.Type RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListCId p_1 = (se.chalmers.cs.gf.GFCC.Absyn.ListCId)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
String p_3 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.Typ(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Type",6, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 6: // CncDef ::= CId _SYMB_6 Term
{
se.chalmers.cs.gf.GFCC.Absyn.CncDef RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.Term p_3 = (se.chalmers.cs.gf.GFCC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.Lin(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("CncDef",5, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 5: // AbsDef ::= CId _SYMB_5 Type _SYMB_6 Exp
{
se.chalmers.cs.gf.GFCC.Absyn.AbsDef RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFCC.Absyn.Type p_3 = (se.chalmers.cs.gf.GFCC.Absyn.Type)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.Exp p_5 = (se.chalmers.cs.gf.GFCC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.Fun(p_1,p_3,p_5);
CUP$parser$result = parser.getSymbolFactory().newSymbol("AbsDef",4, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 4: // Concrete ::= _SYMB_21 CId _SYMB_3 ListCncDef _SYMB_4
{
se.chalmers.cs.gf.GFCC.Absyn.Concrete RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFCC.Absyn.ListCncDef p_4 = (se.chalmers.cs.gf.GFCC.Absyn.ListCncDef)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.Cnc(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Concrete",3, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 3: // Abstract ::= _SYMB_20 _SYMB_3 ListAbsDef _SYMB_4
{
se.chalmers.cs.gf.GFCC.Absyn.Abstract RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.ListAbsDef p_3 = (se.chalmers.cs.gf.GFCC.Absyn.ListAbsDef)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.Abs(p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Abstract",2, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 2: // Header ::= _SYMB_22 CId _SYMB_1 ListCId _SYMB_2
{
se.chalmers.cs.gf.GFCC.Absyn.Header RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFCC.Absyn.ListCId p_4 = (se.chalmers.cs.gf.GFCC.Absyn.ListCId)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.Hdr(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Header",1, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 1: // Grammar ::= Header _SYMB_0 Abstract _SYMB_0 ListConcrete
{
se.chalmers.cs.gf.GFCC.Absyn.Grammar RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Header p_1 = (se.chalmers.cs.gf.GFCC.Absyn.Header)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFCC.Absyn.Abstract p_3 = (se.chalmers.cs.gf.GFCC.Absyn.Abstract)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFCC.Absyn.ListConcrete p_5 = (se.chalmers.cs.gf.GFCC.Absyn.ListConcrete)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFCC.Absyn.Grm(p_1,p_3,p_5);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Grammar",0, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 0: // $START ::= Grammar EOF
{
Object RESULT =null;
se.chalmers.cs.gf.GFCC.Absyn.Grammar start_val = (se.chalmers.cs.gf.GFCC.Absyn.Grammar)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = start_val;
CUP$parser$result = parser.getSymbolFactory().newSymbol("$START",0, RESULT);
}
/* ACCEPT */
CUP$parser$parser.done_parsing();
return CUP$parser$result;
/* . . . . . .*/
default:
throw new Exception(
"Invalid action number found in internal parse table");
}
}
}