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

📄 parse.c

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 C
📖 第 1 页 / 共 5 页
字号:
#ifndef NDEBUG/* ** Turn parser tracing on by giving a stream to which to write the trace** and a prompt to preface each trace message.  Tracing is turned off** by making either argument NULL **** Inputs:** <ul>** <li> A FILE* to which trace output should be written.**      If NULL, then tracing is turned off.** <li> A prefix string written at the beginning of every**      line of trace output.  If NULL, then tracing is**      turned off.** </ul>**** Outputs:** None.*/void sqliteParserTrace(FILE *TraceFILE, char *zTracePrompt){  yyTraceFILE = TraceFILE;  yyTracePrompt = zTracePrompt;  if( yyTraceFILE==0 ) yyTracePrompt = 0;  else if( yyTracePrompt==0 ) yyTraceFILE = 0;}#endif /* NDEBUG */#ifndef NDEBUG/* For tracing shifts, the names of all terminals and nonterminals** are required.  The following table supplies these names */static const char *const yyTokenName[] = {   "$",             "END_OF_FILE",   "ILLEGAL",       "SPACE",         "UNCLOSED_STRING",  "COMMENT",       "FUNCTION",      "COLUMN",        "AGG_FUNCTION",  "SEMI",          "EXPLAIN",       "BEGIN",         "TRANSACTION",   "COMMIT",        "END",           "ROLLBACK",      "CREATE",        "TABLE",         "TEMP",          "LP",            "RP",            "AS",            "COMMA",         "ID",            "ABORT",         "AFTER",         "ASC",           "ATTACH",        "BEFORE",        "CASCADE",       "CLUSTER",       "CONFLICT",      "COPY",          "DATABASE",      "DEFERRED",      "DELIMITERS",    "DESC",          "DETACH",        "EACH",          "FAIL",          "FOR",           "GLOB",          "IGNORE",        "IMMEDIATE",     "INITIALLY",     "INSTEAD",       "LIKE",          "MATCH",         "KEY",           "OF",            "OFFSET",        "PRAGMA",        "RAISE",         "REPLACE",       "RESTRICT",      "ROW",           "STATEMENT",     "TRIGGER",       "VACUUM",        "VIEW",          "OR",            "AND",           "NOT",           "EQ",            "NE",            "ISNULL",        "NOTNULL",       "IS",            "BETWEEN",       "IN",            "GT",            "GE",            "LT",            "LE",            "BITAND",        "BITOR",         "LSHIFT",        "RSHIFT",        "PLUS",          "MINUS",         "STAR",          "SLASH",         "REM",           "CONCAT",        "UMINUS",        "UPLUS",         "BITNOT",        "STRING",        "JOIN_KW",       "INTEGER",       "CONSTRAINT",    "DEFAULT",       "FLOAT",         "NULL",          "PRIMARY",       "UNIQUE",        "CHECK",         "REFERENCES",    "COLLATE",       "ON",            "DELETE",        "UPDATE",        "INSERT",        "SET",           "DEFERRABLE",    "FOREIGN",       "DROP",          "UNION",         "ALL",           "INTERSECT",     "EXCEPT",        "SELECT",        "DISTINCT",      "DOT",           "FROM",          "JOIN",          "USING",         "ORDER",         "BY",            "GROUP",         "HAVING",        "LIMIT",         "WHERE",         "INTO",          "VALUES",        "VARIABLE",      "CASE",          "WHEN",          "THEN",          "ELSE",          "INDEX",         "error",         "input",         "cmdlist",       "ecmd",          "explain",       "cmdx",          "cmd",           "trans_opt",     "onconf",        "nm",            "create_table",  "create_table_args",  "temp",          "columnlist",    "conslist_opt",  "select",        "column",        "columnid",      "type",          "carglist",      "id",            "ids",           "typename",      "signed",        "carg",          "ccons",         "sortorder",     "expr",          "idxlist_opt",   "refargs",       "defer_subclause",  "refarg",        "refact",        "init_deferred_pred_opt",  "conslist",      "tcons",         "idxlist",       "defer_subclause_opt",  "orconf",        "resolvetype",   "oneselect",     "multiselect_op",  "distinct",      "selcollist",    "from",          "where_opt",     "groupby_opt",   "having_opt",    "orderby_opt",   "limit_opt",     "sclp",          "as",            "seltablist",    "stl_prefix",    "joinop",        "dbnm",          "on_opt",        "using_opt",     "seltablist_paren",  "joinop2",       "sortlist",      "sortitem",      "collate",       "exprlist",      "setlist",       "insert_cmd",    "inscollist_opt",  "itemlist",      "inscollist",    "likeop",        "case_operand",  "case_exprlist",  "case_else",     "expritem",      "uniqueflag",    "idxitem",       "plus_num",      "minus_num",     "plus_opt",      "number",        "trigger_decl",  "trigger_cmd_list",  "trigger_time",  "trigger_event",  "foreach_clause",  "when_clause",   "trigger_cmd",   "database_kw_opt",  "key_opt",     };#endif /* NDEBUG */#ifndef NDEBUG/* For tracing reduce actions, the names of all rules are required.*/static const char *const yyRuleName[] = { /*   0 */ "input ::= cmdlist", /*   1 */ "cmdlist ::= cmdlist ecmd", /*   2 */ "cmdlist ::= ecmd", /*   3 */ "ecmd ::= explain cmdx SEMI", /*   4 */ "ecmd ::= SEMI", /*   5 */ "cmdx ::= cmd", /*   6 */ "explain ::= EXPLAIN", /*   7 */ "explain ::=", /*   8 */ "cmd ::= BEGIN trans_opt onconf", /*   9 */ "trans_opt ::=", /*  10 */ "trans_opt ::= TRANSACTION", /*  11 */ "trans_opt ::= TRANSACTION nm", /*  12 */ "cmd ::= COMMIT trans_opt", /*  13 */ "cmd ::= END trans_opt", /*  14 */ "cmd ::= ROLLBACK trans_opt", /*  15 */ "cmd ::= create_table create_table_args", /*  16 */ "create_table ::= CREATE temp TABLE nm", /*  17 */ "temp ::= TEMP", /*  18 */ "temp ::=", /*  19 */ "create_table_args ::= LP columnlist conslist_opt RP", /*  20 */ "create_table_args ::= AS select", /*  21 */ "columnlist ::= columnlist COMMA column", /*  22 */ "columnlist ::= column", /*  23 */ "column ::= columnid type carglist", /*  24 */ "columnid ::= nm", /*  25 */ "id ::= ID", /*  26 */ "ids ::= ID", /*  27 */ "ids ::= STRING", /*  28 */ "nm ::= ID", /*  29 */ "nm ::= STRING", /*  30 */ "nm ::= JOIN_KW", /*  31 */ "type ::=", /*  32 */ "type ::= typename", /*  33 */ "type ::= typename LP signed RP", /*  34 */ "type ::= typename LP signed COMMA signed RP", /*  35 */ "typename ::= ids", /*  36 */ "typename ::= typename ids", /*  37 */ "signed ::= INTEGER", /*  38 */ "signed ::= PLUS INTEGER", /*  39 */ "signed ::= MINUS INTEGER", /*  40 */ "carglist ::= carglist carg", /*  41 */ "carglist ::=", /*  42 */ "carg ::= CONSTRAINT nm ccons", /*  43 */ "carg ::= ccons", /*  44 */ "carg ::= DEFAULT STRING", /*  45 */ "carg ::= DEFAULT ID", /*  46 */ "carg ::= DEFAULT INTEGER", /*  47 */ "carg ::= DEFAULT PLUS INTEGER", /*  48 */ "carg ::= DEFAULT MINUS INTEGER", /*  49 */ "carg ::= DEFAULT FLOAT", /*  50 */ "carg ::= DEFAULT PLUS FLOAT", /*  51 */ "carg ::= DEFAULT MINUS FLOAT", /*  52 */ "carg ::= DEFAULT NULL", /*  53 */ "ccons ::= NULL onconf", /*  54 */ "ccons ::= NOT NULL onconf", /*  55 */ "ccons ::= PRIMARY KEY sortorder onconf", /*  56 */ "ccons ::= UNIQUE onconf", /*  57 */ "ccons ::= CHECK LP expr RP onconf", /*  58 */ "ccons ::= REFERENCES nm idxlist_opt refargs", /*  59 */ "ccons ::= defer_subclause", /*  60 */ "ccons ::= COLLATE id", /*  61 */ "refargs ::=", /*  62 */ "refargs ::= refargs refarg", /*  63 */ "refarg ::= MATCH nm", /*  64 */ "refarg ::= ON DELETE refact", /*  65 */ "refarg ::= ON UPDATE refact", /*  66 */ "refarg ::= ON INSERT refact", /*  67 */ "refact ::= SET NULL", /*  68 */ "refact ::= SET DEFAULT", /*  69 */ "refact ::= CASCADE", /*  70 */ "refact ::= RESTRICT", /*  71 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", /*  72 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", /*  73 */ "init_deferred_pred_opt ::=", /*  74 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", /*  75 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", /*  76 */ "conslist_opt ::=", /*  77 */ "conslist_opt ::= COMMA conslist", /*  78 */ "conslist ::= conslist COMMA tcons", /*  79 */ "conslist ::= conslist tcons", /*  80 */ "conslist ::= tcons", /*  81 */ "tcons ::= CONSTRAINT nm", /*  82 */ "tcons ::= PRIMARY KEY LP idxlist RP onconf", /*  83 */ "tcons ::= UNIQUE LP idxlist RP onconf", /*  84 */ "tcons ::= CHECK expr onconf", /*  85 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", /*  86 */ "defer_subclause_opt ::=", /*  87 */ "defer_subclause_opt ::= defer_subclause", /*  88 */ "onconf ::=", /*  89 */ "onconf ::= ON CONFLICT resolvetype", /*  90 */ "orconf ::=", /*  91 */ "orconf ::= OR resolvetype", /*  92 */ "resolvetype ::= ROLLBACK", /*  93 */ "resolvetype ::= ABORT", /*  94 */ "resolvetype ::= FAIL", /*  95 */ "resolvetype ::= IGNORE", /*  96 */ "resolvetype ::= REPLACE", /*  97 */ "cmd ::= DROP TABLE nm", /*  98 */ "cmd ::= CREATE temp VIEW nm AS select", /*  99 */ "cmd ::= DROP VIEW nm", /* 100 */ "cmd ::= select", /* 101 */ "select ::= oneselect", /* 102 */ "select ::= select multiselect_op oneselect", /* 103 */ "multiselect_op ::= UNION", /* 104 */ "multiselect_op ::= UNION ALL", /* 105 */ "multiselect_op ::= INTERSECT", /* 106 */ "multiselect_op ::= EXCEPT", /* 107 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", /* 108 */ "distinct ::= DISTINCT", /* 109 */ "distinct ::= ALL", /* 110 */ "distinct ::=", /* 111 */ "sclp ::= selcollist COMMA", /* 112 */ "sclp ::=", /* 113 */ "selcollist ::= sclp expr as", /* 114 */ "selcollist ::= sclp STAR", /* 115 */ "selcollist ::= sclp nm DOT STAR", /* 116 */ "as ::= AS nm", /* 117 */ "as ::= ids", /* 118 */ "as ::=", /* 119 */ "from ::=", /* 120 */ "from ::= FROM seltablist", /* 121 */ "stl_prefix ::= seltablist joinop", /* 122 */ "stl_prefix ::=", /* 123 */ "seltablist ::= stl_prefix nm dbnm as on_opt using_opt", /* 124 */ "seltablist ::= stl_prefix LP seltablist_paren RP as on_opt using_opt", /* 125 */ "seltablist_paren ::= select", /* 126 */ "seltablist_paren ::= seltablist", /* 127 */ "dbnm ::=", /* 128 */ "dbnm ::= DOT nm", /* 129 */ "joinop ::= COMMA", /* 130 */ "joinop ::= JOIN", /* 131 */ "joinop ::= JOIN_KW JOIN", /* 132 */ "joinop ::= JOIN_KW nm JOIN", /* 133 */ "joinop ::= JOIN_KW nm nm JOIN", /* 134 */ "on_opt ::= ON expr", /* 135 */ "on_opt ::=", /* 136 */ "using_opt ::= USING LP idxlist RP", /* 137 */ "using_opt ::=", /* 138 */ "orderby_opt ::=", /* 139 */ "orderby_opt ::= ORDER BY sortlist", /* 140 */ "sortlist ::= sortlist COMMA sortitem collate sortorder", /* 141 */ "sortlist ::= sortitem collate sortorder", /* 142 */ "sortitem ::= expr", /* 143 */ "sortorder ::= ASC", /* 144 */ "sortorder ::= DESC", /* 145 */ "sortorder ::=", /* 146 */ "collate ::=", /* 147 */ "collate ::= COLLATE id", /* 148 */ "groupby_opt ::=", /* 149 */ "groupby_opt ::= GROUP BY exprlist", /* 150 */ "having_opt ::=", /* 151 */ "having_opt ::= HAVING expr", /* 152 */ "limit_opt ::=", /* 153 */ "limit_opt ::= LIMIT signed", /* 154 */ "limit_opt ::= LIMIT signed OFFSET signed", /* 155 */ "limit_opt ::= LIMIT signed COMMA signed", /* 156 */ "cmd ::= DELETE FROM nm dbnm where_opt", /* 157 */ "where_opt ::=", /* 158 */ "where_opt ::= WHERE expr", /* 159 */ "cmd ::= UPDATE orconf nm dbnm SET setlist where_opt", /* 160 */ "setlist ::= setlist COMMA nm EQ expr", /* 161 */ "setlist ::= nm EQ expr", /* 162 */ "cmd ::= insert_cmd INTO nm dbnm inscollist_opt VALUES LP itemlist RP", /* 163 */ "cmd ::= insert_cmd INTO nm dbnm inscollist_opt select", /* 164 */ "insert_cmd ::= INSERT orconf", /* 165 */ "insert_cmd ::= REPLACE", /* 166 */ "itemlist ::= itemlist COMMA expr", /* 167 */ "itemlist ::= expr", /* 168 */ "inscollist_opt ::=",

⌨️ 快捷键说明

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