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

📄 parse.c

📁 一个小型嵌入式数据库SQLite的源码,C语言
💻 C
📖 第 1 页 / 共 5 页
字号:
  "VIRTUAL",       "REINDEX",       "RENAME",        "CTIME_KW",      "ANY",           "OR",            "AND",           "IS",            "BETWEEN",       "IN",            "ISNULL",        "NOTNULL",       "NE",            "EQ",            "GT",            "LE",            "LT",            "GE",            "ESCAPE",        "BITAND",        "BITOR",         "LSHIFT",        "RSHIFT",        "PLUS",          "MINUS",         "STAR",          "SLASH",         "REM",           "CONCAT",        "UMINUS",        "UPLUS",         "BITNOT",        "STRING",        "JOIN_KW",       "CONSTRAINT",    "DEFAULT",       "NULL",          "PRIMARY",       "UNIQUE",        "CHECK",         "REFERENCES",    "COLLATE",       "AUTOINCR",      "ON",            "DELETE",        "UPDATE",        "INSERT",        "SET",           "DEFERRABLE",    "FOREIGN",       "DROP",          "UNION",         "ALL",           "EXCEPT",        "INTERSECT",     "SELECT",        "DISTINCT",      "DOT",           "FROM",          "JOIN",          "USING",         "ORDER",         "BY",            "GROUP",         "HAVING",        "LIMIT",         "WHERE",         "INTO",          "VALUES",        "INTEGER",       "FLOAT",         "BLOB",          "REGISTER",      "VARIABLE",      "CASE",          "WHEN",          "THEN",          "ELSE",          "INDEX",         "ALTER",         "TO",            "ADD",           "COLUMNKW",      "error",         "input",         "cmdlist",       "ecmd",          "cmdx",          "cmd",           "explain",       "transtype",     "trans_opt",     "nm",            "create_table",  "create_table_args",  "temp",          "ifnotexists",   "dbnm",          "columnlist",    "conslist_opt",  "select",        "column",        "columnid",      "type",          "carglist",      "id",            "ids",           "typetoken",     "typename",      "signed",        "plus_num",      "minus_num",     "carg",          "ccons",         "term",          "expr",          "onconf",        "sortorder",     "autoinc",       "idxlist_opt",   "refargs",       "defer_subclause",  "refarg",        "refact",        "init_deferred_pred_opt",  "conslist",      "tcons",         "idxlist",       "defer_subclause_opt",  "orconf",        "resolvetype",   "raisetype",     "ifexists",      "fullname",      "oneselect",     "multiselect_op",  "distinct",      "selcollist",    "from",          "where_opt",     "groupby_opt",   "having_opt",    "orderby_opt",   "limit_opt",     "sclp",          "as",            "seltablist",    "stl_prefix",    "joinop",        "on_opt",        "using_opt",     "seltablist_paren",  "joinop2",       "inscollist",    "sortlist",      "sortitem",      "collate",       "exprlist",      "setlist",       "insert_cmd",    "inscollist_opt",  "itemlist",      "likeop",        "escape",        "between_op",    "in_op",         "case_operand",  "case_exprlist",  "case_else",     "expritem",      "uniqueflag",    "idxitem",       "plus_opt",      "number",        "trigger_decl",  "trigger_cmd_list",  "trigger_time",  "trigger_event",  "foreach_clause",  "when_clause",   "trigger_cmd",   "database_kw_opt",  "key_opt",       "add_column_fullname",  "kwcolumn_opt",  "create_vtab",   "vtabarglist",   "vtabarg",       "vtabargtoken",  "lp",            "anylist",     };#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 */ "cmdx ::= cmd", /*   4 */ "ecmd ::= SEMI", /*   5 */ "ecmd ::= explain cmdx SEMI", /*   6 */ "explain ::=", /*   7 */ "explain ::= EXPLAIN", /*   8 */ "explain ::= EXPLAIN QUERY PLAN", /*   9 */ "cmd ::= BEGIN transtype trans_opt", /*  10 */ "trans_opt ::=", /*  11 */ "trans_opt ::= TRANSACTION", /*  12 */ "trans_opt ::= TRANSACTION nm", /*  13 */ "transtype ::=", /*  14 */ "transtype ::= DEFERRED", /*  15 */ "transtype ::= IMMEDIATE", /*  16 */ "transtype ::= EXCLUSIVE", /*  17 */ "cmd ::= COMMIT trans_opt", /*  18 */ "cmd ::= END trans_opt", /*  19 */ "cmd ::= ROLLBACK trans_opt", /*  20 */ "cmd ::= create_table create_table_args", /*  21 */ "create_table ::= CREATE temp TABLE ifnotexists nm dbnm", /*  22 */ "ifnotexists ::=", /*  23 */ "ifnotexists ::= IF NOT EXISTS", /*  24 */ "temp ::= TEMP", /*  25 */ "temp ::=", /*  26 */ "create_table_args ::= LP columnlist conslist_opt RP", /*  27 */ "create_table_args ::= AS select", /*  28 */ "columnlist ::= columnlist COMMA column", /*  29 */ "columnlist ::= column", /*  30 */ "column ::= columnid type carglist", /*  31 */ "columnid ::= nm", /*  32 */ "id ::= ID", /*  33 */ "ids ::= ID|STRING", /*  34 */ "nm ::= ID", /*  35 */ "nm ::= STRING", /*  36 */ "nm ::= JOIN_KW", /*  37 */ "type ::=", /*  38 */ "type ::= typetoken", /*  39 */ "typetoken ::= typename", /*  40 */ "typetoken ::= typename LP signed RP", /*  41 */ "typetoken ::= typename LP signed COMMA signed RP", /*  42 */ "typename ::= ids", /*  43 */ "typename ::= typename ids", /*  44 */ "signed ::= plus_num", /*  45 */ "signed ::= minus_num", /*  46 */ "carglist ::= carglist carg", /*  47 */ "carglist ::=", /*  48 */ "carg ::= CONSTRAINT nm ccons", /*  49 */ "carg ::= ccons", /*  50 */ "carg ::= DEFAULT term", /*  51 */ "carg ::= DEFAULT LP expr RP", /*  52 */ "carg ::= DEFAULT PLUS term", /*  53 */ "carg ::= DEFAULT MINUS term", /*  54 */ "carg ::= DEFAULT id", /*  55 */ "ccons ::= NULL onconf", /*  56 */ "ccons ::= NOT NULL onconf", /*  57 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", /*  58 */ "ccons ::= UNIQUE onconf", /*  59 */ "ccons ::= CHECK LP expr RP", /*  60 */ "ccons ::= REFERENCES nm idxlist_opt refargs", /*  61 */ "ccons ::= defer_subclause", /*  62 */ "ccons ::= COLLATE id", /*  63 */ "autoinc ::=", /*  64 */ "autoinc ::= AUTOINCR", /*  65 */ "refargs ::=", /*  66 */ "refargs ::= refargs refarg", /*  67 */ "refarg ::= MATCH nm", /*  68 */ "refarg ::= ON DELETE refact", /*  69 */ "refarg ::= ON UPDATE refact", /*  70 */ "refarg ::= ON INSERT refact", /*  71 */ "refact ::= SET NULL", /*  72 */ "refact ::= SET DEFAULT", /*  73 */ "refact ::= CASCADE", /*  74 */ "refact ::= RESTRICT", /*  75 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", /*  76 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", /*  77 */ "init_deferred_pred_opt ::=", /*  78 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", /*  79 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", /*  80 */ "conslist_opt ::=", /*  81 */ "conslist_opt ::= COMMA conslist", /*  82 */ "conslist ::= conslist COMMA tcons", /*  83 */ "conslist ::= conslist tcons", /*  84 */ "conslist ::= tcons", /*  85 */ "tcons ::= CONSTRAINT nm", /*  86 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", /*  87 */ "tcons ::= UNIQUE LP idxlist RP onconf", /*  88 */ "tcons ::= CHECK LP expr RP onconf", /*  89 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", /*  90 */ "defer_subclause_opt ::=", /*  91 */ "defer_subclause_opt ::= defer_subclause", /*  92 */ "onconf ::=", /*  93 */ "onconf ::= ON CONFLICT resolvetype", /*  94 */ "orconf ::=", /*  95 */ "orconf ::= OR resolvetype", /*  96 */ "resolvetype ::= raisetype", /*  97 */ "resolvetype ::= IGNORE", /*  98 */ "resolvetype ::= REPLACE", /*  99 */ "cmd ::= DROP TABLE ifexists fullname", /* 100 */ "ifexists ::= IF EXISTS", /* 101 */ "ifexists ::=", /* 102 */ "cmd ::= CREATE temp VIEW ifnotexists nm dbnm AS select", /* 103 */ "cmd ::= DROP VIEW ifexists fullname", /* 104 */ "cmd ::= select", /* 105 */ "select ::= oneselect", /* 106 */ "select ::= select multiselect_op oneselect", /* 107 */ "multiselect_op ::= UNION", /* 108 */ "multiselect_op ::= UNION ALL", /* 109 */ "multiselect_op ::= EXCEPT|INTERSECT", /* 110 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", /* 111 */ "distinct ::= DISTINCT", /* 112 */ "distinct ::= ALL", /* 113 */ "distinct ::=", /* 114 */ "sclp ::= selcollist COMMA", /* 115 */ "sclp ::=", /* 116 */ "selcollist ::= sclp expr as", /* 117 */ "selcollist ::= sclp STAR", /* 118 */ "selcollist ::= sclp nm DOT STAR", /* 119 */ "as ::= AS nm", /* 120 */ "as ::= ids", /* 121 */ "as ::=", /* 122 */ "from ::=", /* 123 */ "from ::= FROM seltablist", /* 124 */ "stl_prefix ::= seltablist joinop", /* 125 */ "stl_prefix ::=", /* 126 */ "seltablist ::= stl_prefix nm dbnm as on_opt using_opt", /* 127 */ "seltablist ::= stl_prefix LP seltablist_paren RP as on_opt using_opt", /* 128 */ "seltablist_paren ::= select", /* 129 */ "seltablist_paren ::= seltablist", /* 130 */ "dbnm ::=", /* 131 */ "dbnm ::= DOT nm", /* 132 */ "fullname ::= nm dbnm", /* 133 */ "joinop ::= COMMA|JOIN", /* 134 */ "joinop ::= JOIN_KW JOIN", /* 135 */ "joinop ::= JOIN_KW nm JOIN", /* 136 */ "joinop ::= JOIN_KW nm nm JOIN", /* 137 */ "on_opt ::= ON expr", /* 138 */ "on_opt ::=", /* 139 */ "using_opt ::= USING LP inscollist RP", /* 140 */ "using_opt ::=", /* 141 */ "orderby_opt ::=", /* 142 */ "orderby_opt ::= ORDER BY sortlist", /* 143 */ "sortlist ::= sortlist COMMA sortitem collate sortorder", /* 144 */ "sortlist ::= sortitem collate sortorder", /* 145 */ "sortitem ::= expr", /* 146 */ "sortorder ::= ASC", /* 147 */ "sortorder ::= DESC", /* 148 */ "sortorder ::=", /* 149 */ "collate ::=", /* 150 */ "collate ::= COLLATE id", /* 151 */ "groupby_opt ::=", /* 152 */ "groupby_opt ::= GROUP BY exprlist", /* 153 */ "having_opt ::=", /* 154 */ "having_opt ::= HAVING expr", /* 155 */ "limit_opt ::=", /* 156 */ "limit_opt ::= LIMIT expr", /* 157 */ "limit_opt ::= LIMIT expr OFFSET expr", /* 158 */ "limit_opt ::= LIMIT expr COMMA expr", /* 159 */ "cmd ::= DELETE FROM fullname where_opt", /* 160 */ "where_opt ::=", /* 161 */ "where_opt ::= WHERE expr", /* 162 */ "cmd ::= UPDATE orconf fullname SET setlist where_opt", /* 163 */ "setlist ::= setlist COMMA nm EQ expr", /* 164 */ "setlist ::= nm EQ expr", /* 165 */ "cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP itemlist RP", /* 166 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", /* 167 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", /* 168 */ "insert_cmd ::= INSERT orconf", /* 169 */ "insert_cmd ::= REPLACE", /* 170 */ "itemlist ::= itemlist COMMA expr", /* 171 */ "itemlist ::= expr", /* 172 */ "inscollist_opt ::=", /* 173 */ "inscollist_opt ::= LP inscollist RP", /* 174 */ "inscollist ::= inscollist COMMA nm", /* 175 */ "inscollist ::= nm", /* 176 */ "expr ::= term", /* 177 */ "expr ::= LP expr RP", /* 178 */ "term ::= NULL", /* 179 */ "expr ::= ID", /* 180 */ "expr ::= JOIN_KW", /* 181 */ "expr ::= nm DOT nm", /* 182 */ "expr ::= nm DOT nm DOT nm", /* 183 */ "term ::= INTEGER|FLOAT|BLOB", /* 184 */ "term ::= STRING", /* 185 */ "expr ::= REGISTER", /* 186 */ "expr ::= VARIABLE", /* 187 */ "expr ::= CAST LP expr AS typetoken RP", /* 188 */ "expr ::= ID LP distinct exprlist RP", /* 189 */ "expr ::= ID LP STAR RP", /* 190 */ "term ::= CTIME_KW", /* 191 */ "expr ::= expr AND expr", /* 192 */ "expr ::= expr OR expr", /* 193 */ "expr ::= expr LT|GT|GE|LE expr", /* 194 */ "expr ::= expr EQ|NE expr", /* 195 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", /* 196 */ "expr ::= expr PLUS|MINUS expr", /* 197 */ "expr ::= expr STAR|SLASH|REM expr", /* 198 */ "expr ::= expr CONCAT expr", /* 199 */ "likeop ::= LIKE_KW", /* 200 */ "likeop ::= NOT LIKE_KW", /* 201 */ "likeop ::= MATCH", /* 202 */ "likeop ::= NOT MATCH", /* 203 */ "escape ::= ESCAPE expr", /* 204 */ "escape ::=", /* 205 */ "expr ::= expr likeop expr escape", /* 206 */ "expr ::= expr ISNULL|NOTNULL", /* 207 */ "expr ::= expr IS NULL", /* 208 */ "expr ::= expr NOT NULL", /* 209 */ "expr ::= expr IS NOT NULL", /* 210 */ "expr ::= NOT|BITNOT expr", /* 211 */ "expr ::= MINUS expr", /* 212 */ "expr ::= PLUS expr", /* 213 */ "between_op ::= BETWEEN", /* 214 */ "between_op ::= NOT BETWEEN", /* 215 */ "expr ::= expr between_op expr AND expr", /* 216 */ "in_op ::= IN", /* 217 */ "in_op ::= NOT IN",

⌨️ 快捷键说明

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