📄 grm.java
字号:
"\002\001\001\000\006\004\132\007\017\001\001\000\002" +
"\001\001\000\002\001\001\000\006\004\131\007\017\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\006\004\141\007\017\001\001\000\002\001\001\000" +
"\002\001\001\000\006\004\140\007\017\001\001\000\002" +
"\001\001\000\002\001\001\000\010\004\062\007\017\021" +
"\143\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\006\004" +
"\151\007\017\001\001\000\002\001\001\000\002\001\001" +
"\000\006\004\154\007\017\001\001\000\002\001\001\000" +
"\004\006\174\001\001\000\006\004\166\007\017\001\001" +
"\000\010\004\162\005\160\007\017\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\010\004\162" +
"\005\164\007\017\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\006\004\171" +
"\007\017\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\006" +
"\004\177\007\017\001\001\000\002\001\001\000\004\006" +
"\201\001\001\000\002\001\001\000\002\001\001\000\006" +
"\004\204\007\017\001\001\000\002\001\001\000\006\004" +
"\206\007\017\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\006\004\213\007" +
"\017\001\001\000\002\001\001\000\006\004\215\007\017" +
"\001\001\000\002\001\001\000\006\004\217\007\017\001" +
"\001\000\002\001\001\000\006\004\221\007\017\001\001" +
"\000\002\001\001\000\006\004\223\007\017\001\001\000" +
"\002\001\001\000\002\001\001\000\006\004\226\007\017" +
"\001\001\000\002\001\001\000\002\001\001" });
/** Access to <code>reduce_goto</code> table. */
public short[][] reduce_table() {return _reduce_table;}
/** Instance of action encapsulation class. */
protected CUP$Grm$actions action_obj;
/** Action encapsulation object initializer. */
protected void init_actions()
{
action_obj = new CUP$Grm$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$Grm$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;}
/** <code>EOF</code> Symbol index. */
public int EOF_sym() {return 0;}
/** <code>error</code> 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.nextToken();
}
public Absyn.Exp parseResult; Lexer lexer; public void syntax_error(java_cup.runtime.Symbol current) { report_error("Syntax error (" + current.sym + ")", current); } ErrorMsg.ErrorMsg errorMsg; public void report_error(String message, java_cup.runtime.Symbol info) { errorMsg.error(info.left, message); } public Grm(Lexer l, ErrorMsg.ErrorMsg err) { this(); errorMsg=err; lexer=l; }
}
/** Cup generated class to encapsulate user supplied action code.*/
class CUP$Grm$actions {
static Symbol.Symbol sym(String s) { return Symbol.Symbol.symbol(s); }
private final Grm parser;
/** Constructor */
CUP$Grm$actions(Grm parser) {
this.parser = parser;
}
/** Method with the actual generated action code. */
public final java_cup.runtime.Symbol CUP$Grm$do_action(
int CUP$Grm$act_num,
java_cup.runtime.lr_parser CUP$Grm$parser,
java.util.Stack CUP$Grm$stack,
int CUP$Grm$top)
throws java.lang.Exception
{
/* Symbol object for return from actions */
java_cup.runtime.Symbol CUP$Grm$result;
/* select the action based on the action number */
switch (CUP$Grm$act_num)
{
/*. . . . . . . . . . . . . . . . . . . .*/
case 64: // function_declaration ::= FUNCTION ID LPAREN type_fields RPAREN COLON ID EQ expr
{
Absyn.FunctionDec RESULT = null;
int nleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-8)).left; int nright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-8)).right; Object n = (Object)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-8)).value; int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-7)).left; int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-7)).right; String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-7)).value; int tfleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-5)).left; int tfright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-5)).right; Absyn.FieldList tf = (Absyn.FieldList)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-5)).value; int i2left = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left; int i2right = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).right; String i2 = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-2)).value; int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left; int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right; Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value; RESULT = new Absyn.FunctionDec(nleft, sym(i), tf, new Absyn.NameTy(i2left, sym(i2)), e, null);
CUP$Grm$result = new java_cup.runtime.Symbol(13/*function_declaration*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-8)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
}
return CUP$Grm$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 63: // function_declaration ::= FUNCTION ID LPAREN RPAREN COLON ID EQ expr
{
Absyn.FunctionDec RESULT = null;
int nleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-7)).left; int nright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-7)).right; Object n = (Object)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-7)).value; int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-6)).left; int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-6)).right; String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-6)).value; int i2left = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left; int i2right = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).right; String i2 = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-2)).value; int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left; int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right; Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value; RESULT = new Absyn.FunctionDec(nleft, sym(i), null, new Absyn.NameTy(i2left, sym(i2)), e, null);
CUP$Grm$result = new java_cup.runtime.Symbol(13/*function_declaration*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-7)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
}
return CUP$Grm$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 62: // function_declaration ::= FUNCTION ID LPAREN type_fields RPAREN EQ expr
{
Absyn.FunctionDec RESULT = null;
int nleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-6)).left; int nright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-6)).right; Object n = (Object)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-6)).value; int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-5)).left; int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-5)).right; String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-5)).value; int tfleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-3)).left; int tfright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-3)).right; Absyn.FieldList tf = (Absyn.FieldList)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-3)).value; int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left; int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right; Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value; RESULT = new Absyn.FunctionDec(nleft, sym(i), tf, null, e, null);
CUP$Grm$result = new java_cup.runtime.Symbol(13/*function_declaration*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-6)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
}
return CUP$Grm$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 61: // function_declaration ::= FUNCTION ID LPAREN RPAREN EQ expr
{
Absyn.FunctionDec RESULT = null;
int nleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-5)).left; int nright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-5)).right; Object n = (Object)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-5)).value; int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-4)).left; int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-4)).right; String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-4)).value; int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left; int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right; Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value; RESULT = new Absyn.FunctionDec(nleft, sym(i), null, null, e, null);
CUP$Grm$result = new java_cup.runtime.Symbol(13/*function_declaration*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-5)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
}
return CUP$Grm$result;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -