//---------------------------------------------------- // The following code was generated by CUP v0.11a beta 20060608 // Thu Nov 23 22:36:22 CET 2006 //---------------------------------------------------- package se.chalmers.cs.gf.CFG; /** CUP v0.11a beta 20060608 generated parser. * @version Thu Nov 23 22:36:22 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\034\000\002\002\004\000\002\002\003\000\002\003" + "\010\000\002\004\002\000\002\004\004\000\002\005\004" + "\000\002\006\002\000\002\006\005\000\002\007\011\000" + "\002\010\002\000\002\010\005\000\002\011\003\000\002" + "\011\003\000\002\012\005\000\002\013\002\000\002\013" + "\003\000\002\013\005\000\002\014\005\000\002\014\003" + "\000\002\015\002\000\002\015\003\000\002\015\005\000" + "\002\016\003\000\002\016\003\000\002\017\003\000\002" + "\017\003\000\002\017\004\000\002\020\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\055\000\006\002\ufffe\015\ufffe\001\002\000\006\002" + "\000\015\007\001\002\000\004\002\006\001\002\000\004" + "\002\001\001\002\000\004\021\011\001\002\000\006\002" + "\ufffd\015\ufffd\001\002\000\012\010\ufffb\014\ufffb\016\ufffb" + "\021\ufffb\001\002\000\012\010\ufff8\014\ufff8\016\013\021" + "\ufff8\001\002\000\004\022\044\001\002\000\004\004\056" + "\001\002\000\010\010\016\014\021\021\017\001\002\000" + "\004\005\ufff5\001\002\000\004\005\ufff6\001\002\000\004" + "\004\055\001\002\000\004\015\054\001\002\000\004\005" + "\023\001\002\000\004\011\025\001\002\000\004\006\042" + "\001\002\000\010\011\030\012\ufff3\021\027\001\002\000" + "\006\012\ufff2\013\040\001\002\000\006\012\uffef\013\uffef" + "\001\002\000\006\012\uffee\020\033\001\002\000\004\012" + "\032\001\002\000\004\006\ufff4\001\002\000\006\012\uffed" + "\013\036\001\002\000\004\012\035\001\002\000\006\012" + "\ufff0\013\ufff0\001\002\000\006\012\uffee\020\033\001\002" + "\000\004\012\uffec\001\002\000\010\011\030\012\ufff3\021" + "\027\001\002\000\004\012\ufff1\001\002\000\004\022\044" + "\001\002\000\004\007\045\001\002\000\014\004\uffe6\006" + "\uffe6\007\uffe6\017\uffe6\022\uffe6\001\002\000\010\006\047" + "\017\046\022\044\001\002\000\012\004\uffea\006\uffea\017" + "\uffea\022\uffea\001\002\000\004\004\uffe9\001\002\000\004" + "\004\ufff9\001\002\000\012\004\uffe8\006\047\017\046\022" + "\044\001\002\000\012\004\uffeb\006\uffeb\017\uffeb\022\uffeb" + "\001\002\000\004\004\uffe7\001\002\000\006\002\uffff\015" + "\uffff\001\002\000\010\010\ufff7\014\ufff7\021\ufff7\001\002" + "\000\012\010\ufffa\014\ufffa\016\ufffa\021\ufffa\001\002\000" + "\004\004\ufffc\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\055\000\006\002\004\004\003\001\001\000\004\003" + "\007\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\004\006\011\001\001\000" + "\006\005\013\010\014\001\001\000\004\020\056\001\001" + "\000\002\001\001\000\006\007\017\011\021\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\004\012\023\001\001\000" + "\002\001\001\000\006\013\030\014\025\001\001\000\002" + "\001\001\000\002\001\001\000\004\015\033\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\004\015\036\001\001\000" + "\002\001\001\000\006\013\040\014\025\001\001\000\002" + "\001\001\000\004\020\042\001\001\000\002\001\001\000" + "\002\001\001\000\010\016\050\017\047\020\051\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\010\016\050\017\052\020\051\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" }); /** 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.CFG.Absyn.Grammars pGrammars() throws Exception { java_cup.runtime.Symbol res = parse(); return (se.chalmers.cs.gf.CFG.Absyn.Grammars) res.value; } public > A cons_(B x, A xs) { xs.addFirst(x); return xs; } 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 27: // Category ::= SingleQuoteString { se.chalmers.cs.gf.CFG.Absyn.Category RESULT =null; String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.Category(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("Category",14, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 26: // ListSymbol ::= Symbol ListSymbol { se.chalmers.cs.gf.CFG.Absyn.ListSymbol RESULT =null; se.chalmers.cs.gf.CFG.Absyn.Symbol p_1 = (se.chalmers.cs.gf.CFG.Absyn.Symbol)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; se.chalmers.cs.gf.CFG.Absyn.ListSymbol p_2 = (se.chalmers.cs.gf.CFG.Absyn.ListSymbol)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = p_2; p_2.addFirst(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListSymbol",13, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 25: // ListSymbol ::= Symbol { se.chalmers.cs.gf.CFG.Absyn.ListSymbol RESULT =null; se.chalmers.cs.gf.CFG.Absyn.Symbol p_1 = (se.chalmers.cs.gf.CFG.Absyn.Symbol)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ListSymbol(); RESULT.addLast(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListSymbol",13, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 24: // ListSymbol ::= _SYMB_2 { se.chalmers.cs.gf.CFG.Absyn.ListSymbol RESULT =null; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ListSymbol(); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListSymbol",13, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 23: // Symbol ::= _STRING_ { se.chalmers.cs.gf.CFG.Absyn.Symbol RESULT =null; String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.TermS(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("Symbol",12, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 22: // Symbol ::= Category { se.chalmers.cs.gf.CFG.Absyn.Symbol RESULT =null; se.chalmers.cs.gf.CFG.Absyn.Category p_1 = (se.chalmers.cs.gf.CFG.Absyn.Category)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.CatS(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("Symbol",12, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 21: // ListInteger ::= _INTEGER_ _SYMB_7 ListInteger { se.chalmers.cs.gf.CFG.Absyn.ListInteger RESULT =null; Integer p_1 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; se.chalmers.cs.gf.CFG.Absyn.ListInteger p_3 = (se.chalmers.cs.gf.CFG.Absyn.ListInteger)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = p_3; p_3.addFirst(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListInteger",11, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 20: // ListInteger ::= _INTEGER_ { se.chalmers.cs.gf.CFG.Absyn.ListInteger RESULT =null; Integer p_1 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ListInteger(); RESULT.addLast(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListInteger",11, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 19: // ListInteger ::= { se.chalmers.cs.gf.CFG.Absyn.ListInteger RESULT =null; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ListInteger(); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListInteger",11, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 18: // Profile ::= _IDENT_ { se.chalmers.cs.gf.CFG.Absyn.Profile RESULT =null; String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ConstProfile(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("Profile",10, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 17: // Profile ::= _SYMB_5 ListInteger _SYMB_6 { se.chalmers.cs.gf.CFG.Absyn.Profile RESULT =null; se.chalmers.cs.gf.CFG.Absyn.ListInteger p_2 = (se.chalmers.cs.gf.CFG.Absyn.ListInteger)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.UnifyProfile(p_2); CUP$parser$result = parser.getSymbolFactory().newSymbol("Profile",10, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 16: // ListProfile ::= Profile _SYMB_7 ListProfile { se.chalmers.cs.gf.CFG.Absyn.ListProfile RESULT =null; se.chalmers.cs.gf.CFG.Absyn.Profile p_1 = (se.chalmers.cs.gf.CFG.Absyn.Profile)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; se.chalmers.cs.gf.CFG.Absyn.ListProfile p_3 = (se.chalmers.cs.gf.CFG.Absyn.ListProfile)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = p_3; p_3.addFirst(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListProfile",9, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 15: // ListProfile ::= Profile { se.chalmers.cs.gf.CFG.Absyn.ListProfile RESULT =null; se.chalmers.cs.gf.CFG.Absyn.Profile p_1 = (se.chalmers.cs.gf.CFG.Absyn.Profile)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ListProfile(); RESULT.addLast(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListProfile",9, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 14: // ListProfile ::= { se.chalmers.cs.gf.CFG.Absyn.ListProfile RESULT =null; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ListProfile(); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListProfile",9, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 13: // Profiles ::= _SYMB_5 ListProfile _SYMB_6 { se.chalmers.cs.gf.CFG.Absyn.Profiles RESULT =null; se.chalmers.cs.gf.CFG.Absyn.ListProfile p_2 = (se.chalmers.cs.gf.CFG.Absyn.ListProfile)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.Profiles(p_2); CUP$parser$result = parser.getSymbolFactory().newSymbol("Profiles",8, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 12: // Fun ::= _SYMB_4 { se.chalmers.cs.gf.CFG.Absyn.Fun RESULT =null; RESULT = new se.chalmers.cs.gf.CFG.Absyn.Coerce(); CUP$parser$result = parser.getSymbolFactory().newSymbol("Fun",7, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 11: // Fun ::= _IDENT_ { se.chalmers.cs.gf.CFG.Absyn.Fun RESULT =null; String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.Cons(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("Fun",7, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 10: // ListRule ::= ListRule Rule _SYMB_0 { se.chalmers.cs.gf.CFG.Absyn.ListRule RESULT =null; se.chalmers.cs.gf.CFG.Absyn.ListRule p_1 = (se.chalmers.cs.gf.CFG.Absyn.ListRule)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; se.chalmers.cs.gf.CFG.Absyn.Rule p_2 = (se.chalmers.cs.gf.CFG.Absyn.Rule)((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("ListRule",6, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 9: // ListRule ::= { se.chalmers.cs.gf.CFG.Absyn.ListRule RESULT =null; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ListRule(); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListRule",6, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 8: // Rule ::= Fun _SYMB_1 Profiles _SYMB_2 Category _SYMB_3 ListSymbol { se.chalmers.cs.gf.CFG.Absyn.Rule RESULT =null; se.chalmers.cs.gf.CFG.Absyn.Fun p_1 = (se.chalmers.cs.gf.CFG.Absyn.Fun)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-6)).value; se.chalmers.cs.gf.CFG.Absyn.Profiles p_3 = (se.chalmers.cs.gf.CFG.Absyn.Profiles)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value; se.chalmers.cs.gf.CFG.Absyn.Category p_5 = (se.chalmers.cs.gf.CFG.Absyn.Category)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; se.chalmers.cs.gf.CFG.Absyn.ListSymbol p_7 = (se.chalmers.cs.gf.CFG.Absyn.ListSymbol)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.Rule(p_1,p_3,p_5,p_7); CUP$parser$result = parser.getSymbolFactory().newSymbol("Rule",5, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 7: // ListFlag ::= ListFlag Flag _SYMB_0 { se.chalmers.cs.gf.CFG.Absyn.ListFlag RESULT =null; se.chalmers.cs.gf.CFG.Absyn.ListFlag p_1 = (se.chalmers.cs.gf.CFG.Absyn.ListFlag)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; se.chalmers.cs.gf.CFG.Absyn.Flag p_2 = (se.chalmers.cs.gf.CFG.Absyn.Flag)((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("ListFlag",4, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 6: // ListFlag ::= { se.chalmers.cs.gf.CFG.Absyn.ListFlag RESULT =null; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ListFlag(); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListFlag",4, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 5: // Flag ::= _SYMB_10 Category { se.chalmers.cs.gf.CFG.Absyn.Flag RESULT =null; se.chalmers.cs.gf.CFG.Absyn.Category p_2 = (se.chalmers.cs.gf.CFG.Absyn.Category)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.StartCat(p_2); CUP$parser$result = parser.getSymbolFactory().newSymbol("Flag",3, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 4: // ListGrammar ::= ListGrammar Grammar { se.chalmers.cs.gf.CFG.Absyn.ListGrammar RESULT =null; se.chalmers.cs.gf.CFG.Absyn.ListGrammar p_1 = (se.chalmers.cs.gf.CFG.Absyn.ListGrammar)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; se.chalmers.cs.gf.CFG.Absyn.Grammar p_2 = (se.chalmers.cs.gf.CFG.Absyn.Grammar)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = p_1; p_1.addLast(p_2); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListGrammar",2, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 3: // ListGrammar ::= { se.chalmers.cs.gf.CFG.Absyn.ListGrammar RESULT =null; RESULT = new se.chalmers.cs.gf.CFG.Absyn.ListGrammar(); CUP$parser$result = parser.getSymbolFactory().newSymbol("ListGrammar",2, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 2: // Grammar ::= _SYMB_9 _IDENT_ ListFlag ListRule _SYMB_8 _SYMB_9 { se.chalmers.cs.gf.CFG.Absyn.Grammar RESULT =null; String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value; se.chalmers.cs.gf.CFG.Absyn.ListFlag p_3 = (se.chalmers.cs.gf.CFG.Absyn.ListFlag)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; se.chalmers.cs.gf.CFG.Absyn.ListRule p_4 = (se.chalmers.cs.gf.CFG.Absyn.ListRule)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.Grammar(p_2,p_3,p_4); CUP$parser$result = parser.getSymbolFactory().newSymbol("Grammar",1, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 1: // Grammars ::= ListGrammar { se.chalmers.cs.gf.CFG.Absyn.Grammars RESULT =null; se.chalmers.cs.gf.CFG.Absyn.ListGrammar p_1 = (se.chalmers.cs.gf.CFG.Absyn.ListGrammar)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = new se.chalmers.cs.gf.CFG.Absyn.Grammars(p_1); CUP$parser$result = parser.getSymbolFactory().newSymbol("Grammars",0, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 0: // $START ::= Grammars EOF { Object RESULT =null; se.chalmers.cs.gf.CFG.Absyn.Grammars start_val = (se.chalmers.cs.gf.CFG.Absyn.Grammars)((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"); } } }