亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? parse.y

?? sqlite庫
?? Y
?? 第 1 頁 / 共 3 頁
字號:
%ifndef SQLITE_OMIT_VIEWcmd ::= CREATE(X) temp(T) VIEW nm(Y) dbnm(Z) AS select(S). {  sqlite3CreateView(pParse, &X, &Y, &Z, S, T);}cmd ::= DROP VIEW ifexists(E) fullname(X). {  sqlite3DropTable(pParse, X, 1, E);}%endif // SQLITE_OMIT_VIEW//////////////////////// The SELECT statement ///////////////////////////////////cmd ::= select(X).  {  sqlite3Select(pParse, X, SRT_Callback, 0, 0, 0, 0, 0);  sqlite3SelectDelete(X);}%type select {Select*}%destructor select {sqlite3SelectDelete($$);}%type oneselect {Select*}%destructor oneselect {sqlite3SelectDelete($$);}select(A) ::= oneselect(X).                      {A = X;}%ifndef SQLITE_OMIT_COMPOUND_SELECTselect(A) ::= select(X) multiselect_op(Y) oneselect(Z).  {  if( Z ){    Z->op = Y;    Z->pPrior = X;  }  A = Z;}%type multiselect_op {int}multiselect_op(A) ::= UNION(OP).             {A = @OP;}multiselect_op(A) ::= UNION ALL.             {A = TK_ALL;}multiselect_op(A) ::= EXCEPT|INTERSECT(OP).  {A = @OP;}%endif // SQLITE_OMIT_COMPOUND_SELECToneselect(A) ::= SELECT distinct(D) selcollist(W) from(X) where_opt(Y)                 groupby_opt(P) having_opt(Q) orderby_opt(Z) limit_opt(L). {  A = sqlite3SelectNew(W,X,Y,P,Q,Z,D,L.pLimit,L.pOffset);}// The "distinct" nonterminal is true (1) if the DISTINCT keyword is// present and false (0) if it is not.//%type distinct {int}distinct(A) ::= DISTINCT.   {A = 1;}distinct(A) ::= ALL.        {A = 0;}distinct(A) ::= .           {A = 0;}// selcollist is a list of expressions that are to become the return// values of the SELECT statement.  The "*" in statements like// "SELECT * FROM ..." is encoded as a special expression with an// opcode of TK_ALL.//%type selcollist {ExprList*}%destructor selcollist {sqlite3ExprListDelete($$);}%type sclp {ExprList*}%destructor sclp {sqlite3ExprListDelete($$);}sclp(A) ::= selcollist(X) COMMA.             {A = X;}sclp(A) ::= .                                {A = 0;}selcollist(A) ::= sclp(P) expr(X) as(Y).     {   A = sqlite3ExprListAppend(P,X,Y.n?&Y:0);}selcollist(A) ::= sclp(P) STAR. {  A = sqlite3ExprListAppend(P, sqlite3Expr(TK_ALL, 0, 0, 0), 0);}selcollist(A) ::= sclp(P) nm(X) DOT STAR. {  Expr *pRight = sqlite3Expr(TK_ALL, 0, 0, 0);  Expr *pLeft = sqlite3Expr(TK_ID, 0, 0, &X);  A = sqlite3ExprListAppend(P, sqlite3Expr(TK_DOT, pLeft, pRight, 0), 0);}// An option "AS <id>" phrase that can follow one of the expressions that// define the result set, or one of the tables in the FROM clause.//%type as {Token}as(X) ::= AS nm(Y).    {X = Y;}as(X) ::= ids(Y).      {X = Y;}as(X) ::= .            {X.n = 0;}%type seltablist {SrcList*}%destructor seltablist {sqlite3SrcListDelete($$);}%type stl_prefix {SrcList*}%destructor stl_prefix {sqlite3SrcListDelete($$);}%type from {SrcList*}%destructor from {sqlite3SrcListDelete($$);}// A complete FROM clause.//from(A) ::= .                                 {A = sqliteMalloc(sizeof(*A));}from(A) ::= FROM seltablist(X).               {A = X;}// "seltablist" is a "Select Table List" - the content of the FROM clause// in a SELECT statement.  "stl_prefix" is a prefix of this list.//stl_prefix(A) ::= seltablist(X) joinop(Y).    {   A = X;   if( A && A->nSrc>0 ) A->a[A->nSrc-1].jointype = Y;}stl_prefix(A) ::= .                           {A = 0;}seltablist(A) ::= stl_prefix(X) nm(Y) dbnm(D) as(Z) on_opt(N) using_opt(U). {  A = sqlite3SrcListAppend(X,&Y,&D);  if( Z.n ) sqlite3SrcListAddAlias(A,&Z);  if( N ){    if( A && A->nSrc>1 ){ A->a[A->nSrc-2].pOn = N; }    else { sqlite3ExprDelete(N); }  }  if( U ){    if( A && A->nSrc>1 ){ A->a[A->nSrc-2].pUsing = U; }    else { sqlite3IdListDelete(U); }  }}%ifndef SQLITE_OMIT_SUBQUERY  seltablist(A) ::= stl_prefix(X) LP seltablist_paren(S) RP                    as(Z) on_opt(N) using_opt(U). {    A = sqlite3SrcListAppend(X,0,0);    A->a[A->nSrc-1].pSelect = S;    if( Z.n ) sqlite3SrcListAddAlias(A,&Z);    if( N ){      if( A && A->nSrc>1 ){ A->a[A->nSrc-2].pOn = N; }      else { sqlite3ExprDelete(N); }    }    if( U ){      if( A && A->nSrc>1 ){ A->a[A->nSrc-2].pUsing = U; }      else { sqlite3IdListDelete(U); }    }  }    // A seltablist_paren nonterminal represents anything in a FROM that  // is contained inside parentheses.  This can be either a subquery or  // a grouping of table and subqueries.  //  %type seltablist_paren {Select*}  %destructor seltablist_paren {sqlite3SelectDelete($$);}  seltablist_paren(A) ::= select(S).      {A = S;}  seltablist_paren(A) ::= seltablist(F).  {     A = sqlite3SelectNew(0,F,0,0,0,0,0,0,0);  }%endif // SQLITE_OMIT_SUBQUERY%type dbnm {Token}dbnm(A) ::= .          {A.z=0; A.n=0;}dbnm(A) ::= DOT nm(X). {A = X;}%type fullname {SrcList*}%destructor fullname {sqlite3SrcListDelete($$);}fullname(A) ::= nm(X) dbnm(Y).  {A = sqlite3SrcListAppend(0,&X,&Y);}%type joinop {int}%type joinop2 {int}joinop(X) ::= COMMA|JOIN.              { X = JT_INNER; }joinop(X) ::= JOIN_KW(A) JOIN.         { X = sqlite3JoinType(pParse,&A,0,0); }joinop(X) ::= JOIN_KW(A) nm(B) JOIN.   { X = sqlite3JoinType(pParse,&A,&B,0); }joinop(X) ::= JOIN_KW(A) nm(B) nm(C) JOIN.                                       { X = sqlite3JoinType(pParse,&A,&B,&C); }%type on_opt {Expr*}%destructor on_opt {sqlite3ExprDelete($$);}on_opt(N) ::= ON expr(E).   {N = E;}on_opt(N) ::= .             {N = 0;}%type using_opt {IdList*}%destructor using_opt {sqlite3IdListDelete($$);}using_opt(U) ::= USING LP inscollist(L) RP.  {U = L;}using_opt(U) ::= .                        {U = 0;}%type orderby_opt {ExprList*}%destructor orderby_opt {sqlite3ExprListDelete($$);}%type sortlist {ExprList*}%destructor sortlist {sqlite3ExprListDelete($$);}%type sortitem {Expr*}%destructor sortitem {sqlite3ExprDelete($$);}orderby_opt(A) ::= .                          {A = 0;}orderby_opt(A) ::= ORDER BY sortlist(X).      {A = X;}sortlist(A) ::= sortlist(X) COMMA sortitem(Y) collate(C) sortorder(Z). {  A = sqlite3ExprListAppend(X,Y,C.n>0?&C:0);  if( A ) A->a[A->nExpr-1].sortOrder = Z;}sortlist(A) ::= sortitem(Y) collate(C) sortorder(Z). {  A = sqlite3ExprListAppend(0,Y,C.n>0?&C:0);  if( A && A->a ) A->a[0].sortOrder = Z;}sortitem(A) ::= expr(X).   {A = X;}%type sortorder {int}%type collate {Token}sortorder(A) ::= ASC.           {A = SQLITE_SO_ASC;}sortorder(A) ::= DESC.          {A = SQLITE_SO_DESC;}sortorder(A) ::= .              {A = SQLITE_SO_ASC;}collate(C) ::= .                {C.z = 0; C.n = 0;}collate(C) ::= COLLATE id(X).   {C = X;}%type groupby_opt {ExprList*}%destructor groupby_opt {sqlite3ExprListDelete($$);}groupby_opt(A) ::= .                      {A = 0;}groupby_opt(A) ::= GROUP BY exprlist(X).  {A = X;}%type having_opt {Expr*}%destructor having_opt {sqlite3ExprDelete($$);}having_opt(A) ::= .                {A = 0;}having_opt(A) ::= HAVING expr(X).  {A = X;}%type limit_opt {struct LimitVal}%destructor limit_opt {  sqlite3ExprDelete($$.pLimit);  sqlite3ExprDelete($$.pOffset);}limit_opt(A) ::= .                     {A.pLimit = 0; A.pOffset = 0;}limit_opt(A) ::= LIMIT expr(X).        {A.pLimit = X; A.pOffset = 0;}limit_opt(A) ::= LIMIT expr(X) OFFSET expr(Y).                                        {A.pLimit = X; A.pOffset = Y;}limit_opt(A) ::= LIMIT expr(X) COMMA expr(Y).                                        {A.pOffset = X; A.pLimit = Y;}/////////////////////////// The DELETE statement ///////////////////////////////cmd ::= DELETE FROM fullname(X) where_opt(Y). {sqlite3DeleteFrom(pParse,X,Y);}%type where_opt {Expr*}%destructor where_opt {sqlite3ExprDelete($$);}where_opt(A) ::= .                    {A = 0;}where_opt(A) ::= WHERE expr(X).       {A = X;}////////////////////////// The UPDATE command //////////////////////////////////cmd ::= UPDATE orconf(R) fullname(X) SET setlist(Y) where_opt(Z).    {sqlite3Update(pParse,X,Y,Z,R);}%type setlist {ExprList*}%destructor setlist {sqlite3ExprListDelete($$);}setlist(A) ::= setlist(Z) COMMA nm(X) EQ expr(Y).    {A = sqlite3ExprListAppend(Z,Y,&X);}setlist(A) ::= nm(X) EQ expr(Y).   {A = sqlite3ExprListAppend(0,Y,&X);}////////////////////////// The INSERT command ///////////////////////////////////cmd ::= insert_cmd(R) INTO fullname(X) inscollist_opt(F)         VALUES LP itemlist(Y) RP.            {sqlite3Insert(pParse, X, Y, 0, F, R);}cmd ::= insert_cmd(R) INTO fullname(X) inscollist_opt(F) select(S).            {sqlite3Insert(pParse, X, 0, S, F, R);}%type insert_cmd {int}insert_cmd(A) ::= INSERT orconf(R).   {A = R;}insert_cmd(A) ::= REPLACE.            {A = OE_Replace;}%type itemlist {ExprList*}%destructor itemlist {sqlite3ExprListDelete($$);}itemlist(A) ::= itemlist(X) COMMA expr(Y).  {A = sqlite3ExprListAppend(X,Y,0);}itemlist(A) ::= expr(X).                    {A = sqlite3ExprListAppend(0,X,0);}%type inscollist_opt {IdList*}%destructor inscollist_opt {sqlite3IdListDelete($$);}%type inscollist {IdList*}%destructor inscollist {sqlite3IdListDelete($$);}inscollist_opt(A) ::= .                       {A = 0;}inscollist_opt(A) ::= LP inscollist(X) RP.    {A = X;}inscollist(A) ::= inscollist(X) COMMA nm(Y).  {A = sqlite3IdListAppend(X,&Y);}inscollist(A) ::= nm(Y).                      {A = sqlite3IdListAppend(0,&Y);}/////////////////////////// Expression Processing ///////////////////////////////%type expr {Expr*}%destructor expr {sqlite3ExprDelete($$);}%type term {Expr*}%destructor term {sqlite3ExprDelete($$);}expr(A) ::= term(X).             {A = X;}expr(A) ::= LP(B) expr(X) RP(E). {A = X; sqlite3ExprSpan(A,&B,&E); }term(A) ::= NULL(X).             {A = sqlite3Expr(@X, 0, 0, &X);}expr(A) ::= ID(X).               {A = sqlite3Expr(TK_ID, 0, 0, &X);}expr(A) ::= JOIN_KW(X).          {A = sqlite3Expr(TK_ID, 0, 0, &X);}expr(A) ::= nm(X) DOT nm(Y). {  Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &X);  Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &Y);  A = sqlite3Expr(TK_DOT, temp1, temp2, 0);}expr(A) ::= nm(X) DOT nm(Y) DOT nm(Z). {  Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &X);  Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &Y);  Expr *temp3 = sqlite3Expr(TK_ID, 0, 0, &Z);  Expr *temp4 = sqlite3Expr(TK_DOT, temp2, temp3, 0);  A = sqlite3Expr(TK_DOT, temp1, temp4, 0);}term(A) ::= INTEGER|FLOAT|BLOB(X).      {A = sqlite3Expr(@X, 0, 0, &X);}term(A) ::= STRING(X).       {A = sqlite3Expr(@X, 0, 0, &X);}expr(A) ::= REGISTER(X).     {A = sqlite3RegisterExpr(pParse, &X);}expr(A) ::= VARIABLE(X).     {  Token *pToken = &X;  Expr *pExpr = A = sqlite3Expr(TK_VARIABLE, 0, 0, pToken);  sqlite3ExprAssignVarNumber(pParse, pExpr);}%ifndef SQLITE_OMIT_CASTexpr(A) ::= CAST(X) LP expr(E) AS typetoken(T) RP(Y). {  A = sqlite3Expr(TK_CAST, E, 0, &T);  sqlite3ExprSpan(A,&X,&Y);}%endif // SQLITE_OMIT_CASTexpr(A) ::= ID(X) LP distinct(D) exprlist(Y) RP(E). {  A = sqlite3ExprFunction(Y, &X);  sqlite3ExprSpan(A,&X,&E);  if( D && A ){    A->flags |= EP_Distinct;  }}expr(A) ::= ID(X) LP STAR RP(E). {  A = sqlite3ExprFunction(0, &X);  sqlite3ExprSpan(A,&X,&E);}term(A) ::= CTIME_KW(OP). {  /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are  ** treated as functions that return constants */  A = sqlite3ExprFunction(0,&OP);  if( A ) A->op = TK_CONST_FUNC;  }expr(A) ::= expr(X) AND(OP) expr(Y).            {A = sqlite3Expr(@OP, X, Y, 0);}expr(A) ::= expr(X) OR(OP) expr(Y).             {A = sqlite3Expr(@OP, X, Y, 0);}expr(A) ::= expr(X) LT|GT|GE|LE(OP) expr(Y).    {A = sqlite3Expr(@OP, X, Y, 0);}expr(A) ::= expr(X) EQ|NE(OP) expr(Y).          {A = sqlite3Expr(@OP, X, Y, 0);}expr(A) ::= expr(X) BITAND|BITOR|LSHIFT|RSHIFT(OP) expr(Y).                                                {A = sqlite3Expr(@OP, X, Y, 0);}expr(A) ::= expr(X) PLUS|MINUS(OP) expr(Y).     {A = sqlite3Expr(@OP, X, Y, 0);}expr(A) ::= expr(X) STAR|SLASH|REM(OP) expr(Y). {A = sqlite3Expr(@OP, X, Y, 0);}expr(A) ::= expr(X) CONCAT(OP) expr(Y).         {A = sqlite3Expr(@OP, X, Y, 0);}%type likeop {struct LikeOp}likeop(A) ::= LIKE_KW(X).     {A.eOperator = X; A.not = 0;}likeop(A) ::= NOT LIKE_KW(X). {A.eOperator = X; A.not = 1;}%type escape {Expr*}%destructor escape {sqlite3ExprDelete($$);}escape(X) ::= ESCAPE expr(A). [ESCAPE] {X = A;}escape(X) ::= .               [ESCAPE] {X = 0;}expr(A) ::= expr(X) likeop(OP) expr(Y) escape(E).  [LIKE_KW]  {  ExprList *pList;  pList = sqlite3ExprListAppend(0, Y, 0);  pList = sqlite3ExprListAppend(pList, X, 0);  if( E ){    pList = sqlite3ExprListAppend(pList, E, 0);  }  A = sqlite3ExprFunction(pList, &OP.eOperator);  if( OP.not ) A = sqlite3Expr(TK_NOT, A, 0, 0);  sqlite3ExprSpan(A, &X->span, &Y->span);}expr(A) ::= expr(X) ISNULL|NOTNULL(E). {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合色在线| 欧美日韩国产乱码电影| 色域天天综合网| 欧美日韩一级二级| 日韩一区二区三区电影 | 精品欧美乱码久久久久久 | 国产经典欧美精品| 色综合久久中文综合久久97| 欧美日韩一区 二区 三区 久久精品| 日韩欧美另类在线| 亚洲欧美精品午睡沙发| 久久99久久99小草精品免视看| 福利视频网站一区二区三区| 欧美日韩在线综合| 亚洲国产精品黑人久久久| 亚洲国产日韩av| 懂色av一区二区三区免费看| 欧美高清www午色夜在线视频| 日韩三区在线观看| 亚洲第一在线综合网站| 成人毛片老司机大片| 欧美精品久久天天躁| 亚洲色欲色欲www| 丁香婷婷综合激情五月色| 在线电影国产精品| 国产精品不卡一区二区三区| 精品一区二区成人精品| 欧美人与z0zoxxxx视频| 亚洲欧洲国产专区| 韩国成人在线视频| 久久久亚洲国产美女国产盗摄| 亚洲最大的成人av| 91丨porny丨首页| 国产精品嫩草影院av蜜臀| 老司机精品视频导航| 欧美一区二区三区人| 偷拍一区二区三区| 欧美日韩一区久久| 偷拍与自拍一区| 欧美日韩高清一区二区| 亚洲成人av一区二区三区| 欧美日韩午夜精品| 久久99精品网久久| 久久综合狠狠综合| 成人一区二区视频| √…a在线天堂一区| 91亚洲精品久久久蜜桃网站| 有码一区二区三区| 7777精品伊人久久久大香线蕉最新版| 爽爽淫人综合网网站| 91麻豆精品国产91久久久久久| 男女男精品视频网| 国产视频一区在线观看| 97国产一区二区| 天天做天天摸天天爽国产一区 | 欧美日韩中文一区| 国产一区亚洲一区| 免费观看在线色综合| 欧美吞精做爰啪啪高潮| 午夜精品久久久久久| 欧美日韩激情一区二区| 精品一区二区免费在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲午夜久久久| 日韩一区二区在线观看视频| 国产精品1区2区| 亚洲国产cao| 国产精品二三区| 在线91免费看| 欧美视频在线观看一区二区| 国产一区 二区| 亚洲在线观看免费| 欧美高清一级片在线观看| 欧美美女喷水视频| 91亚洲男人天堂| 风间由美一区二区三区在线观看 | 亚洲国产aⅴ成人精品无吗| 国产日韩av一区二区| 欧美日韩一区二区三区四区| 成人高清视频免费观看| 中文字幕在线不卡一区| 欧美日本国产一区| 日韩欧美国产一区在线观看| 日韩欧美在线影院| 国产精品国产三级国产a| 中文字幕免费一区| 欧美激情一区二区三区蜜桃视频| 精品国产sm最大网站| 久久先锋影音av| 国产亚洲精品精华液| 国产亚洲一本大道中文在线| 欧美mv日韩mv国产网站| 日韩视频免费直播| 精品国产91洋老外米糕| 国产欧美一二三区| 中文字幕va一区二区三区| 亚洲视频一二三| 亚洲午夜在线观看视频在线| 日日欢夜夜爽一区| 国产高清亚洲一区| 国产一区二区三区综合| 高清不卡在线观看av| 91在线观看成人| 欧美日韩免费观看一区二区三区 | 欧美精品三级在线观看| 8x8x8国产精品| 国产亚洲视频系列| ...av二区三区久久精品| 亚洲成av人片www| 国产精品88888| 欧美影视一区在线| 欧美一区二区三区不卡| 国产欧美综合在线| 亚洲国产精品影院| 丁香五精品蜜臀久久久久99网站| 色婷婷久久一区二区三区麻豆| 91精品在线免费观看| 亚洲三级久久久| 国产麻豆一精品一av一免费| 91麻豆精品久久久久蜜臀| 亚洲午夜久久久久久久久电影网| 懂色一区二区三区免费观看| 欧美成人综合网站| 精油按摩中文字幕久久| 成人永久aaa| 欧美日韩视频在线一区二区 | 日本道免费精品一区二区三区| 8v天堂国产在线一区二区| 中文字幕乱码一区二区免费| 日本成人在线一区| 欧美中文字幕亚洲一区二区va在线 | 天天色天天操综合| 国产91精品一区二区麻豆亚洲| 欧美午夜不卡视频| 亚洲伦理在线精品| 成人久久18免费网站麻豆 | 国产精品原创巨作av| 欧美精选午夜久久久乱码6080| 国产精品激情偷乱一区二区∴| 激情图区综合网| 日韩免费福利电影在线观看| 亚洲午夜在线电影| 欧美综合久久久| 亚洲高清在线精品| 欧美日韩久久不卡| 午夜在线成人av| 欧美肥胖老妇做爰| 免费的成人av| 精品久久久久久综合日本欧美 | 成人三级在线视频| 亚洲视频网在线直播| 97久久精品人人做人人爽| 中文字幕一区免费在线观看 | 99久久99久久免费精品蜜臀| 亚洲色图制服诱惑| 一色屋精品亚洲香蕉网站| 成人午夜av电影| 亚洲精品国产a| 欧美日韩大陆一区二区| 久久精品国产网站| 一区在线观看视频| 欧美三级电影网站| 久久精品国产网站| 亚洲国产精品激情在线观看| 91色porny| 蜜臀av性久久久久av蜜臀妖精| 337p日本欧洲亚洲大胆精品| 成人中文字幕在线| 午夜精品在线视频一区| 国产欧美精品一区aⅴ影院| 91在线观看污| 美女一区二区久久| 中文字幕一区视频| 精品99久久久久久| 99国产精品久久久| 蜜臀精品久久久久久蜜臀 | 国模套图日韩精品一区二区| 中文字幕日本不卡| 精品奇米国产一区二区三区| 99亚偷拍自图区亚洲| 蜜桃一区二区三区在线| 一区二区三区不卡视频在线观看| 欧美一级高清大全免费观看| 95精品视频在线| 激情图片小说一区| 日韩和的一区二区| 一区二区三区四区高清精品免费观看| 久久综合国产精品| wwwwxxxxx欧美| 日韩三级.com| 欧美一级视频精品观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 午夜精品123| 中文字幕佐山爱一区二区免费| 精品久久人人做人人爱| 日韩三级在线观看| 91精品国产91久久久久久最新毛片| 色狠狠桃花综合| 日本精品裸体写真集在线观看 | 亚洲最新视频在线观看|