⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parser.java

📁 有关JDBC的使用一些编程实例,有关与数据库连接的代码
💻 JAVA
字号:
//----------------------------------------------------// The following code was generated by CUP v0.9e// Wed Nov 26 21:10:09 EST 1997//----------------------------------------------------import java_cup.runtime.*;public class parser extends java_cup.runtime.lr_parser {  /** constructor */  public parser() {super();}  /** production table */  protected static final short _production_table[][] = {        {1, 2},     {0, 2},     {1, 1},     {6, 0},     {2, 3},         {3, 3},     {3, 3},     {3, 1},     {4, 3},     {4, 3},         {4, 3},     {4, 1},     {5, 1},     {5, 2},     {5, 3}      };  /** access to production table */  public short[][] production_table() {return _production_table;}  /** parse action table */  protected static final short[][] _action_table = {    /*0*/{4,2,8,9,10,4,-1,0},    /*1*/{4,2,8,9,10,4,-1,0},    /*2*/{2,-12,3,-12,4,-12,5,-12,6,-12,7,-12,9,-12,-1,0},    /*3*/{2,-13,3,-13,4,-13,5,-13,6,-13,7,-13,9,-13,-1,0},    /*4*/{0,-3,4,-3,8,-3,10,-3,-1,0},    /*5*/{2,-4,3,13,4,11,-1,0},    /*6*/{0,23,4,2,8,9,10,4,-1,0},    /*7*/{2,-8,3,-8,4,-8,5,16,6,17,7,15,9,-8,-1,0},    /*8*/{4,2,8,9,10,4,-1,0},    /*9*/{3,13,4,11,9,12,-1,0},    /*10*/{4,2,8,9,10,4,-1,0},    /*11*/{2,-15,3,-15,4,-15,5,-15,6,-15,7,-15,9,-15,-1,0},    /*12*/{4,2,8,9,10,4,-1,0},    /*13*/{2,-6,3,-6,4,-6,5,16,6,17,7,15,9,-6,-1,0},    /*14*/{4,2,8,9,10,4,-1,0},    /*15*/{4,2,8,9,10,4,-1,0},    /*16*/{4,2,8,9,10,4,-1,0},    /*17*/{2,-10,3,-10,4,-10,5,-10,6,-10,7,-10,9,-10,-1,0},    /*18*/{2,-9,3,-9,4,-9,5,-9,6,-9,7,-9,9,-9,-1,0},    /*19*/{2,-11,3,-11,4,-11,5,-11,6,-11,7,-11,9,-11,-1,0},    /*20*/{2,-7,3,-7,4,-7,5,16,6,17,7,15,9,-7,-1,0},    /*21*/{0,-1,4,-1,8,-1,10,-1,-1,0},    /*22*/{0,-2,-1,0},    /*23*/{2,25,-1,0},    /*24*/{0,-5,4,-5,8,-5,10,-5,-1,0},    /*25*/{2,-14,3,-14,4,-14,5,-14,6,-14,7,-14,9,-14,-1,0},  };  /** access to parse action table */  public short[][] action_table() {return _action_table;}  /** reduce_goto table */  protected static final short[][] _reduce_table = {    /*0*/{1,6,2,4,3,5,4,7,5,2,-1,-1},    /*1*/{5,25,-1,-1},    /*2*/{-1,-1},    /*3*/{-1,-1},    /*4*/{-1,-1},    /*5*/{6,23,-1,-1},    /*6*/{2,21,3,5,4,7,5,2,-1,-1},    /*7*/{-1,-1},    /*8*/{3,9,4,7,5,2,-1,-1},    /*9*/{-1,-1},    /*10*/{4,20,5,2,-1,-1},    /*11*/{-1,-1},    /*12*/{4,13,5,2,-1,-1},    /*13*/{-1,-1},    /*14*/{5,19,-1,-1},    /*15*/{5,18,-1,-1},    /*16*/{5,17,-1,-1},    /*17*/{-1,-1},    /*18*/{-1,-1},    /*19*/{-1,-1},    /*20*/{-1,-1},    /*21*/{-1,-1},    /*22*/{-1,-1},    /*23*/{-1,-1},    /*24*/{-1,-1},    /*25*/{-1,-1},  };  /** access to reduce_goto table */  public short[][] reduce_table() {return _reduce_table;}  /** instance of action encapsulation class */  protected CUP$actions action_obj;  /** action encapsulation object initializer */  protected void init_actions()    {      action_obj = new CUP$actions();    }  /** 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$do_action(act_num, parser, stack, top);  }  /** start state */  public int start_state() {return 0;}  /** start production */  public int start_production() {return 1;}  /** EOF symbol index */  public int EOF_sym() {return 0;}  /** error symbol index */  public int error_sym() {return 1;}  /** user initialization */  public void user_init() throws java.lang.Exception    { scanner.init();                  }  /** scan to get the next token */  public java_cup.runtime.token scan()    throws java.lang.Exception    { return scanner.next_token();     }};/** Cup generated class to encapsulate user supplied action code.*/class CUP$actions {  /** Constructor */  CUP$actions() { }  /** Method with the actual generated action code. */  public final java_cup.runtime.symbol CUP$do_action(    int                        CUP$act_num,    java_cup.runtime.lr_parser CUP$parser,    java.util.Stack            CUP$stack,    int                        CUP$top)    throws java.lang.Exception    {      /* object for return from actions */      java_cup.runtime.symbol CUP$result;      /* select the action based on the action number */      switch (CUP$act_num)        {          /*. . . . . . . . . . . . . . . . . . . .*/          case 14: // factor ::= LPAREN expr RPAREN             {              CUP$result = new int_token(/*factor*/5);               ((int_token)CUP$result).int_val = (/*e*/(int_token)CUP$stack.elementAt(CUP$top-1)).int_val;              }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 13: // factor ::= MINUS factor             {              CUP$result = new int_token(/*factor*/5);               ((int_token)CUP$result).int_val = -(/*e*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val;             }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 12: // factor ::= NUMBER             {              CUP$result = new int_token(/*factor*/5);               ((int_token)CUP$result).int_val = (/*n*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val;              }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 11: // term ::= factor             {              CUP$result = new int_token(/*term*/4);               ((int_token)CUP$result).int_val = (/*e*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val;             }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 10: // term ::= term MOD factor             {              CUP$result = new int_token(/*term*/4);               ((int_token)CUP$result).int_val = (/*e1*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val % (/*e2*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val;             }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 9: // term ::= term DIVIDE factor             {              CUP$result = new int_token(/*term*/4);               ((int_token)CUP$result).int_val = (/*e1*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val / (/*e2*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val;             }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 8: // term ::= term TIMES factor             {              CUP$result = new int_token(/*term*/4);               ((int_token)CUP$result).int_val = (/*e1*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val * (/*e2*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val;             }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 7: // expr ::= term             {              CUP$result = new int_token(/*expr*/3);               ((int_token)CUP$result).int_val = (/*e1*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val;             }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 6: // expr ::= expr MINUS term             {              CUP$result = new int_token(/*expr*/3);               ((int_token)CUP$result).int_val = (/*e1*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val - (/*e2*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val;             }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 5: // expr ::= expr PLUS term             {              CUP$result = new int_token(/*expr*/3);               ((int_token)CUP$result).int_val = (/*e1*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val + (/*e2*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val;             }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 4: // expr_part ::= expr NT$0 SEMI             {              CUP$result = new symbol(/*expr_part*/2);                          }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 3: // NT$0 ::=             {              CUP$result = new java_cup.runtime.token(/*NT$0*/6);               System.out.println("= " + (/*e*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val);             }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 2: // expr_list ::= expr_part             {              CUP$result = new symbol(/*expr_list*/1);                          }          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 1: // $START ::= expr_list EOF             {              CUP$result = new java_cup.runtime.token(/*$START*/0);                          }          /* ACCEPT */          CUP$parser.done_parsing();          return CUP$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 0: // expr_list ::= expr_list expr_part             {              CUP$result = new symbol(/*expr_list*/1);                          }          return CUP$result;          /* . . . . . .*/          default:            throw new Exception(               "Invalid action number found in internal parse table");        }    }};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -