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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? parser.y

?? bonddb 是一個(gè)源于PostgreSQL封裝包的對象。它是一個(gè)由C/C++編寫的快速數(shù)據(jù)提取層應(yīng)用軟件
?? Y
字號:
%{#include <stdlib.h>#include <stdio.h>#include <glib.h>#include <string.h>#include "sql_parser.h"#include "sql_tree.h"#include "mem.h"int sqlerror (char *);int sqllex ();extern sql_statement *sql_result;%}%union{void *v;char *str;int i;GList *list;sql_field *f;sql_field_item *fi;sql_table *t;sql_condition *c;sql_where *w;}%token L_SELECT L_FROM L_WHERE L_AS L_JOIN L_ON L_ORDER L_BY L_ORDER_ASC L_ORDER_DSC%token L_DISTINCT L_BETWEEN L_IN L_GROUP L_INSERT L_INTO L_VALUES L_UPDATE L_SET%token L_DOT L_STAR L_COMMA L_NULL L_LBRACKET L_RBRACKET%token L_IDENT%token L_EQ L_IS L_LIKE L_GT L_LT L_GEQ L_LEQ%token L_NOT L_AND L_OR%token L_MINUS L_PLUS L_TIMES L_DIV%token L_STRING%type <v> select_statement insert_statement update_statement%type <str> L_IDENT opt_table_as L_STRING%type <list> fields_list tables_list field_name dotted_name opt_orderby opt_groupby opt_fields_list set_list%type <f> field%type <fi> field_raw%type <t> table table_simple%type <i> logic_operator condition_operator field_op opt_distinct%type <w> where_list opt_where%type <c> where_item set_item%left L_AND L_OR%left L_PLUS L_MINUS%left L_TIMES L_DIV%%statement: select_statement	{sql_result = sql_statement_build (SQL_select, $1);}	| insert_statement 	{sql_result = sql_statement_build (SQL_insert, $1);}	| update_statement	{sql_result = sql_statement_build (SQL_update, $1);}	;	select_statement: L_SELECT opt_distinct fields_list L_FROM tables_list opt_where opt_orderby opt_groupby			{$$ = sql_select_statement_build ($2, $3, $5, $6, $7, $8);}	;insert_statement: L_INSERT L_INTO table opt_fields_list L_VALUES L_LBRACKET fields_list L_RBRACKET			{$$ = sql_insert_statement_build ($3, $4, $7);}	;update_statement: L_UPDATE table L_SET set_list opt_where			{$$ = sql_update_statement_build ($2, $4, $5);}	;set_list: set_item					{$$ = g_list_append (NULL, $1);}	| set_item L_COMMA set_list	{$$ = g_list_prepend ($3, $1);}	;opt_fields_list: L_LBRACKET fields_list L_RBRACKET {$$ = $2;}	|																{$$ = NULL;}	;opt_distinct: L_DISTINCT	{$$ = 1;}	|			{$$ = 0;}	;opt_where: L_WHERE where_list	{$$ = $2;}	| 			{$$ = NULL;}	;opt_orderby: L_ORDER L_BY fields_list	{$$ = $3;}	|				{$$ = NULL;}	;opt_groupby: L_GROUP L_BY fields_list 	{$$ = $3;}	|				{$$ = NULL;}	;fields_list: field			{$$ = g_list_append (NULL, $1);}	| field L_COMMA fields_list	{$$ = g_list_prepend ($3, $1);}	;tables_list: table			{$$ = g_list_append (NULL, $1);}	| table L_COMMA tables_list	{$$ = g_list_prepend ($3, $1);}	;field: field_raw			{$$ = sql_field_build ($1);}	| field_raw L_AS L_IDENT	{$$ = sql_field_set_as (sql_field_build ($1), $3);}	;dotted_name: L_IDENT			{$$ = g_list_append (NULL, memsql_strdup ($1)); memsql_free ($1);}	| L_IDENT L_DOT dotted_name	{$$ = g_list_prepend ($3, memsql_strdup ($1)); memsql_free ($1);}	;field_name: dotted_name			{$$ = $1;}	| L_STAR			{$$ = g_list_append (NULL, memsql_strdup ("*"));}	| L_NULL			{$$ = g_list_append (NULL, memsql_strdup ("null"));}	| L_STRING			{$$ = g_list_append (NULL, $1);}	;field_op: L_MINUS			{$$ = SQL_minus;}	| L_PLUS			{$$ = SQL_plus;}	| L_TIMES			{$$ = SQL_times;}	| L_DIV				{$$ = SQL_div;}	;field_raw: field_name			{$$ = sql_field_item_build ($1);}	| field_raw field_op field_raw	{$$ = sql_field_item_build_equation ($1, $3, $2);}	| select_statement		{$$ = sql_field_item_build_select ($1);}	| L_LBRACKET field_raw L_RBRACKET	{$$ = $2;}	| L_IDENT L_LBRACKET fields_list L_RBRACKET	{$$ = sql_field_build_function($1, $3); }	;table: table_simple opt_table_as		{$$ = sql_table_set_as ($1, $2);}	;opt_table_as: L_AS L_IDENT	{$$ = $2;}	|			{$$ = NULL;}	;table_simple: L_IDENT				{$$ = sql_table_build ($1); memsql_free ($1);}	| table L_JOIN table_simple L_ON where_item	{$$ = sql_table_build_join ($1, $3, $5); }	| select_statement		{$$ = sql_table_build_select ($1);}	| L_LBRACKET table_simple L_RBRACKET	{$$ = $2;}	;logic_operator: L_AND			{$$ = SQL_and;}	| L_OR				{$$ = SQL_or;}	;where_list: where_item			{$$ = sql_where_build_single ($1);}	| L_NOT where_list		{$$ = sql_where_build_negated ($2);}	| where_list logic_operator where_list					{$$ = sql_where_build_pair ($1, $3, $2);}	| L_LBRACKET where_list L_RBRACKET	{$$ = $2;}	;set_item: field L_EQ field		{$$ = sql_build_condition ($1, $3, SQL_eq);} 	;condition_operator: L_EQ		{$$ = SQL_eq;}	| L_IS				{$$ = SQL_is;}	| L_NOT				{$$ = SQL_not;}	| L_IN				{$$ = SQL_in;}	| L_NOT L_IN			{$$ = SQL_notin;}	| L_LIKE			{$$ = SQL_like;}	| L_GT			{$$ = SQL_gt;}	| L_LT			{$$ = SQL_lt;}	| L_GEQ			{$$ = SQL_geq;}	| L_LEQ			{$$ = SQL_leq;}	;where_item: field condition_operator field			{$$ = sql_build_condition ($1, $3, $2);}	| field L_BETWEEN field L_AND field			{$$ = sql_build_condition_between ($1, $3, $5);}	;%%

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av午夜一区麻豆| 亚洲欧美综合另类在线卡通| 国产一区二区调教| 亚洲国产另类av| 亚洲天天做日日做天天谢日日欢| 欧美激情综合在线| 国产精品女上位| 日韩理论在线观看| 精品一区二区三区视频在线观看 | 久久久久久久久久久久久久久99 | 国产福利一区二区三区视频| 国产成人欧美日韩在线电影 | 色婷婷综合在线| 欧美在线观看视频一区二区| 91黄色激情网站| 欧美精三区欧美精三区| 欧美日韩国产经典色站一区二区三区| 欧美三级电影一区| 日韩一区二区三区电影| 欧美mv日韩mv国产网站app| 欧美一卡在线观看| 久久久精品免费网站| 久久精品国产精品亚洲精品| 成人一区二区视频| 在线亚洲+欧美+日本专区| 国产精品成人免费精品自在线观看| 中文字幕日韩av资源站| 国产v综合v亚洲欧| 欧美日韩美女一区二区| 亚洲欧美另类小说视频| 日韩av高清在线观看| 国产一区二区精品在线观看| 精品久久人人做人人爽| 青娱乐精品视频| 91国模大尺度私拍在线视频| 一区二区三区免费看视频| 日本免费在线视频不卡一不卡二| 欧美欧美欧美欧美| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日本乱人伦aⅴ精品| 1000精品久久久久久久久| 9i看片成人免费高清| 亚洲美女屁股眼交3| 欧美在线视频日韩| 丝袜美腿亚洲一区二区图片| 成人久久视频在线观看| 亚洲女女做受ⅹxx高潮| 欧美日韩一区国产| 久久精品噜噜噜成人88aⅴ| 久久精品在线免费观看| 日韩电影在线看| 精品国产精品网麻豆系列| 亚洲老司机在线| 国产激情偷乱视频一区二区三区| 久久久久国产精品人| 91美女在线观看| 国产亚洲一本大道中文在线| 99精品视频一区二区| 国产精品久久久久一区二区三区 | 久久99国产精品久久| 久久久91精品国产一区二区三区| 91在线视频免费91| 午夜精品久久久久久久99樱桃| 91日韩精品一区| 日日欢夜夜爽一区| 国产清纯在线一区二区www| 精品亚洲免费视频| 最新中文字幕一区二区三区| 555夜色666亚洲国产免| 亚洲成人一区二区| 精品视频在线看| 国产在线精品一区二区| 亚洲自拍偷拍九九九| 在线视频一区二区三区| 韩国精品主播一区二区在线观看| 日韩欧美国产一区二区在线播放 | 欧美另类变人与禽xxxxx| 韩日av一区二区| 亚洲欧美色图小说| 2024国产精品视频| 国产麻豆视频精品| 亚洲国产一区二区视频| 欧美高清在线一区| 日韩欧美色电影| 欧美伊人精品成人久久综合97| 一区二区三区精品视频| 国产视频一区在线观看| 91麻豆精品91久久久久同性| 91丨九色丨黑人外教| 精品亚洲欧美一区| 日产国产高清一区二区三区| ●精品国产综合乱码久久久久| 精品免费99久久| 欧美精品乱码久久久久久按摩 | 亚洲视频免费观看| 精品国产乱码久久久久久久久| 欧美最新大片在线看| 成人三级伦理片| 国产一区二区中文字幕| 久久超碰97人人做人人爱| 亚洲国产中文字幕| 亚洲精品第一国产综合野| 国产精品欧美一区喷水| 国产精品欧美极品| 欧美国产97人人爽人人喊| xnxx国产精品| 精品88久久久久88久久久| 91精品在线麻豆| 欧美精品自拍偷拍动漫精品| 欧美少妇性性性| 欧美色图在线观看| 欧美少妇一区二区| 欧美精品色一区二区三区| 91成人在线精品| 欧美日韩一区在线观看| 欧美日韩一区视频| 91精品久久久久久久久99蜜臂| 欧美精品一卡二卡| 日韩女优视频免费观看| 精品伦理精品一区| 精品国产伦一区二区三区免费| 26uuu国产在线精品一区二区| 精品国产免费久久| 欧美激情一二三区| 亚洲视频狠狠干| 亚洲电影中文字幕在线观看| 日韩av不卡在线观看| 精品一区在线看| 国产精品123区| 91在线视频播放| 欧美色大人视频| 日韩一区二区在线播放| 久久久久久久久久看片| 国产精品福利在线播放| 亚洲一区在线观看免费| 人人精品人人爱| 东方欧美亚洲色图在线| 91免费看视频| 欧美一区二区视频观看视频| 久久久久久久久久久久久女国产乱 | 一本大道久久a久久精二百| 日本久久电影网| 日韩亚洲欧美在线| 欧美国产97人人爽人人喊| 亚洲福利国产精品| 国产毛片精品视频| 91福利国产成人精品照片| 日韩午夜小视频| 亚洲视频一区二区在线| 日本不卡一区二区| 成人av网址在线观看| 国产麻豆9l精品三级站| 色视频一区二区| 国产亚洲精久久久久久| 亚洲愉拍自拍另类高清精品| 韩国女主播一区| 欧美日韩日日骚| 国产精品女主播在线观看| 性感美女极品91精品| 成人美女视频在线观看18| 91精品国产一区二区三区蜜臀| 国产精品毛片久久久久久| 男女性色大片免费观看一区二区| 成人高清视频在线| 欧美一二三四区在线| 亚洲视频 欧洲视频| 国产福利精品一区二区| 7777精品伊人久久久大香线蕉 | 99久久99久久精品免费观看| 日韩免费看的电影| 亚洲一区二区美女| 国产成人免费网站| 日韩欧美一区电影| 亚洲综合av网| 色香蕉成人二区免费| 国产丝袜在线精品| 精品一区二区综合| 欧美高清视频一二三区 | 国产精品888| 成人美女视频在线看| 日韩午夜小视频| 亚欧色一区w666天堂| 91国产视频在线观看| 亚洲欧美在线另类| 国产成人亚洲综合色影视| 欧美大片一区二区三区| 日本成人在线网站| 欧美色大人视频| 一区二区三区四区亚洲| 99精品国产视频| 国产日韩欧美麻豆| 国产在线精品一区二区夜色 | 亚洲免费观看视频| av电影一区二区| 国产精品国产馆在线真实露脸| 国产乱码精品一区二区三区忘忧草 | 欧美精品久久一区二区三区| 亚洲午夜精品17c| 欧美日韩一区三区| 无吗不卡中文字幕|