📄 parser.java
字号:
} return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 43: // search_condition ::= search_expr { CUP$result = new int_token(/*search_condition*/9); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 42: // where_clause ::= WHERE search_condition { CUP$result = new int_token(/*where_clause*/7); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 41: // where_clause ::= { CUP$result = new int_token(/*where_clause*/7); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 40: // column_def ::= column INTEGER { CUP$result = new str_token(/*column_def*/20); String column_def[] = new String[3]; column_def[0] = "NUMERIC"; column_def[1] = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val; column_def[2] = "3"; column_list.addElement( column_def ); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 39: // column_def ::= column NUMERIC LPAREN INT_NUM RPAREN { CUP$result = new str_token(/*column_def*/20); String column_def[] = new String[3]; column_def[0] = "NUMERIC"; column_def[1] = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-4)).str_val; column_def[2] = (/*s2*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val; column_list.addElement( column_def ); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 38: // column_def ::= column CHARACTER LPAREN INT_NUM RPAREN { CUP$result = new str_token(/*column_def*/20); String column_def[] = new String[3]; column_def[0] = "CHAR"; column_def[1] = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-4)).str_val; column_def[2] = (/*s2*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val; column_list.addElement( column_def ); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 37: // column_def_commalist ::= column_def_commalist COMMA column_def { CUP$result = new str_token(/*column_def_commalist*/21); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 36: // column_def_commalist ::= column_def { CUP$result = new str_token(/*column_def_commalist*/21); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 35: // table ::= NAME { CUP$result = new str_token(/*table*/18); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 34: // column ::= table PERIOD column { CUP$result = new str_token(/*column*/14); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val + "." + (/*s2*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 33: // column ::= NAME { CUP$result = new str_token(/*column*/14); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 32: // column ::= ASTERISK { CUP$result = new str_token(/*column*/14); ((str_token)CUP$result).str_val = "*"; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 31: // table_commalist ::= table_commalist COMMA table { CUP$result = new str_token(/*table_commalist*/19); foo.addElement(new String((/*s2*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val)); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 30: // table_commalist ::= table { CUP$result = new str_token(/*table_commalist*/19); foo.removeAllElements(); foo.addElement(new String((/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val)); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 29: // column_commalist ::= column_commalist COMMA column { CUP$result = new str_token(/*column_commalist*/13); foo.addElement(new String((/*s2*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val)); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 28: // column_commalist ::= column { CUP$result = new str_token(/*column_commalist*/13); foo.removeAllElements(); foo.addElement(new String((/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val)); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 27: // value_commalist ::= value_commalist COMMA value { CUP$result = new str_token(/*value_commalist*/17); value_list.addElement(new String((/*s2*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val)); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 26: // value_commalist ::= value { CUP$result = new str_token(/*value_commalist*/17); value_list.removeAllElements(); value_list.addElement(new String((/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val)); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 25: // value ::= STRING { CUP$result = new str_token(/*value*/16); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 24: // value ::= INT_NUM { CUP$result = new str_token(/*value*/16); ((str_token)CUP$result).str_val = (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val; } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 23: // values_clause ::= VALUES LPAREN value_commalist RPAREN { CUP$result = new str_token(/*values_clause*/15); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 22: // create_table_statement ::= CREATE TABLE table NT$7 LPAREN column_def_commalist RPAREN { CUP$result = new int_token(/*create_table_statement*/5); Statement.put("COLUMN_DEF", (Vector) column_list.clone()); addAction(actions, "CREATE"); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 21: // NT$7 ::= { CUP$result = new java_cup.runtime.token(/*NT$7*/30); Statement.clear(); Statement.put("TABLE", (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 20: // drop_table_statement ::= DROP TABLE table { CUP$result = new int_token(/*drop_table_statement*/6); Statement.clear(); Statement.put("TABLE", (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val); addAction(actions, "DROP_TABLE"); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 19: // insert_statement ::= INSERT INTO table NT$5 LPAREN column_commalist RPAREN NT$6 values_clause { CUP$result = new int_token(/*insert_statement*/1); Statement.put("VALUES", (Vector) value_list.clone()); addAction(actions, "INSERT"); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 18: // NT$6 ::= { CUP$result = new java_cup.runtime.token(/*NT$6*/29); Statement.put("COLUMNS", (Vector) foo.clone()); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 17: // NT$5 ::= { CUP$result = new java_cup.runtime.token(/*NT$5*/28); Statement.clear(); Statement.put("TABLE", (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 16: // select_statement ::= SELECT column_commalist NT$3 FROM table_commalist NT$4 where_clause { CUP$result = new int_token(/*select_statement*/2); Statement.put("WHERE", (Vector) search_list.clone()); addAction(actions, "SELECT"); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 15: // NT$4 ::= { CUP$result = new java_cup.runtime.token(/*NT$4*/27); Statement.put("TABLES", (Vector) foo.clone()); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 14: // NT$3 ::= { CUP$result = new java_cup.runtime.token(/*NT$3*/26); Statement.clear(); Statement.put("COLUMNS", (Vector) foo.clone()); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 13: // update_statement ::= UPDATE table NT$1 set_clause NT$2 where_clause { CUP$result = new int_token(/*update_statement*/11); Statement.put("WHERE", (Vector) search_list.clone()); addAction(actions, "UPDATE"); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 12: // NT$2 ::= { CUP$result = new java_cup.runtime.token(/*NT$2*/25); Statement.put("COLUMNS", (Vector) foo.clone()); Statement.put("VALUES", (Vector) value_list.clone()); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 11: // NT$1 ::= { CUP$result = new java_cup.runtime.token(/*NT$1*/24); Statement.clear(); Statement.put("TABLE", (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 10: // delete_statement ::= DELETE FROM table NT$0 where_clause { CUP$result = new str_token(/*delete_statement*/22); Statement.put("WHERE", (Vector) search_list.clone()); addAction(actions, "DELETE"); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 9: // NT$0 ::= { CUP$result = new java_cup.runtime.token(/*NT$0*/23); Statement.clear(); Statement.put("TABLE", (/*s1*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 8: // sql_statement ::= delete_statement { CUP$result = new int_token(/*sql_statement*/3); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 7: // sql_statement ::= update_statement { CUP$result = new int_token(/*sql_statement*/3); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 6: // sql_statement ::= drop_table_statement { CUP$result = new int_token(/*sql_statement*/3); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 5: // sql_statement ::= create_table_statement { CUP$result = new int_token(/*sql_statement*/3); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 4: // sql_statement ::= insert_statement { CUP$result = new int_token(/*sql_statement*/3); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 3: // sql_statement ::= select_statement { CUP$result = new int_token(/*sql_statement*/3); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 2: // sql_batch ::= sql_batch SEMI sql_statement { CUP$result = new int_token(/*sql_batch*/4); } return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 1: // $START ::= sql_batch EOF { CUP$result = new java_cup.runtime.token(/*$START*/0); } /* ACCEPT */ CUP$parser.done_parsing(); return CUP$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 0: // sql_batch ::= sql_statement { CUP$result = new int_token(/*sql_batch*/4); } 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 + -