port of gmdb to gnome2. lots o other stuff

This commit is contained in:
brianb
2002-12-27 15:09:02 +00:00
parent fcd99f54e0
commit 16735470a7
56 changed files with 6630 additions and 241 deletions

View File

@@ -1,7 +1,7 @@
lib_LTLIBRARIES = libmdbsql.la
libmdbsql_la_SOURCES= mdbsql.c parser.y lexer.l
INCLUDES = -I$(top_srcdir)/include `glib-config --cflags`
LIBS = `glib-config --libs`
INCLUDES = -I$(top_srcdir)/include $(GLIB_CFLAGS)
LIBS = $(GLIB_LIBS)
LDADD = ../libmdb/libmdb.la
YACC = bison -y -d

View File

@@ -1,7 +1,7 @@
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
* $Header: /Users/brian/cvs/mdbtools/mdbtools/src/sql/Attic/lexer.c,v 1.4 2002/01/24 12:34:13 brianb Exp $
* $Header: /Users/brian/cvs/mdbtools/mdbtools/src/sql/Attic/lexer.c,v 1.5 2002/12/27 15:09:02 brianb Exp $
*/
#define FLEX_SCANNER
@@ -282,19 +282,19 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
*yy_cp = '\0'; \
yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 21
#define YY_END_OF_BUFFER 22
static yyconst short int yy_accept[85] =
#define YY_NUM_RULES 22
#define YY_END_OF_BUFFER 23
static yyconst short int yy_accept[89] =
{ 0,
18, 18, 22, 20, 15, 21, 20, 19, 20, 18,
20, 20, 16, 16, 16, 16, 16, 16, 16, 16,
16, 20, 0, 17, 0, 19, 0, 19, 19, 18,
12, 13, 16, 16, 16, 16, 16, 16, 16, 16,
16, 5, 16, 0, 18, 18, 8, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 2,
14, 6, 16, 16, 16, 16, 16, 16, 16, 10,
7, 16, 16, 16, 1, 9, 3, 16, 16, 11,
16, 16, 4, 0
19, 19, 23, 21, 15, 22, 21, 21, 20, 21,
19, 21, 21, 17, 17, 17, 17, 17, 17, 17,
17, 17, 21, 0, 0, 18, 0, 20, 0, 20,
20, 19, 12, 13, 17, 17, 17, 17, 17, 17,
17, 17, 17, 5, 17, 0, 16, 0, 19, 19,
8, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 2, 14, 6, 17, 17, 17, 17,
17, 17, 17, 10, 7, 17, 17, 17, 1, 9,
3, 17, 17, 11, 17, 17, 4, 0
} ;
static yyconst int yy_ec[256] =
@@ -302,17 +302,17 @@ static yyconst int yy_ec[256] =
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 1, 1, 1, 1, 1, 1, 4, 5,
5, 1, 6, 1, 7, 8, 9, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 1, 1, 11,
12, 13, 1, 1, 14, 14, 14, 14, 15, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
15, 14, 14, 14, 14, 14, 16, 17, 18, 19,
1, 4, 1, 5, 1, 1, 1, 1, 6, 7,
7, 1, 8, 1, 9, 10, 11, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 1, 1, 13,
14, 15, 1, 1, 16, 16, 16, 16, 17, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
17, 16, 16, 16, 16, 16, 18, 19, 20, 21,
20, 21, 14, 22, 23, 14, 24, 25, 26, 27,
28, 14, 14, 29, 30, 31, 14, 14, 32, 14,
14, 14, 1, 1, 1, 33, 1, 1, 1, 1,
22, 23, 16, 24, 25, 16, 26, 27, 28, 29,
30, 16, 16, 31, 32, 33, 16, 16, 34, 16,
16, 16, 1, 1, 1, 35, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -329,116 +329,122 @@ static yyconst int yy_ec[256] =
1, 1, 1, 1, 1
} ;
static yyconst int yy_meta[34] =
static yyconst int yy_meta[36] =
{ 0,
1, 1, 2, 1, 3, 3, 1, 4, 4, 4,
1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 1
1, 1, 2, 3, 3, 1, 4, 4, 1, 5,
5, 6, 1, 1, 1, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 1
} ;
static yyconst short int yy_base[88] =
static yyconst short int yy_base[94] =
{ 0,
0, 0, 119, 279, 279, 279, 111, 29, 31, 45,
83, 75, 33, 37, 39, 48, 50, 52, 54, 57,
61, 68, 78, 73, 74, 78, 81, 86, 92, 0,
279, 279, 95, 97, 100, 102, 105, 109, 112, 114,
116, 120, 132, 62, 42, 91, 122, 135, 137, 139,
141, 145, 150, 152, 155, 160, 162, 165, 167, 169,
175, 177, 179, 182, 184, 190, 192, 197, 201, 203,
205, 208, 210, 213, 217, 220, 222, 226, 228, 233,
235, 241, 243, 279, 272, 274, 39
0, 0, 129, 295, 295, 295, 0, 116, 29, 31,
37, 104, 84, 42, 44, 46, 49, 51, 53, 55,
57, 59, 69, 85, 80, 74, 76, 79, 82, 87,
93, 0, 295, 295, 96, 98, 101, 103, 106, 110,
113, 115, 117, 121, 133, 67, 295, 46, 38, 92,
123, 136, 138, 140, 142, 146, 151, 153, 156, 161,
163, 166, 168, 170, 176, 178, 180, 183, 185, 191,
193, 198, 202, 204, 206, 209, 211, 214, 218, 221,
223, 227, 229, 234, 236, 242, 244, 295, 36, 275,
279, 282, 287
} ;
static yyconst short int yy_def[88] =
static yyconst short int yy_def[94] =
{ 0,
84, 1, 84, 84, 84, 84, 85, 86, 86, 86,
84, 84, 87, 87, 87, 87, 87, 87, 87, 87,
87, 10, 85, 85, 84, 10, 10, 10, 10, 10,
84, 84, 87, 87, 87, 87, 87, 87, 87, 87,
87, 87, 87, 84, 84, 10, 87, 87, 87, 87,
87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
87, 87, 87, 0, 84, 84, 84
88, 1, 88, 88, 88, 88, 89, 90, 91, 91,
91, 88, 88, 92, 92, 92, 92, 92, 92, 92,
92, 92, 11, 93, 90, 90, 88, 11, 11, 11,
11, 11, 88, 88, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 93, 88, 88, 88, 11,
92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 92, 92, 0, 88, 88,
88, 88, 88
} ;
static yyconst short int yy_nxt[313] =
static yyconst short int yy_nxt[331] =
{ 0,
4, 5, 6, 7, 4, 4, 4, 8, 9, 10,
11, 4, 12, 13, 13, 14, 13, 15, 16, 13,
17, 13, 13, 13, 18, 13, 13, 13, 13, 19,
20, 21, 22, 25, 25, 84, 84, 27, 28, 84,
26, 27, 33, 28, 26, 27, 26, 27, 28, 84,
84, 45, 29, 27, 30, 26, 27, 26, 27, 26,
27, 26, 27, 34, 26, 27, 35, 36, 26, 27,
37, 45, 41, 40, 39, 26, 24, 26, 38, 44,
44, 24, 43, 45, 42, 26, 32, 26, 26, 84,
26, 44, 44, 26, 31, 46, 25, 25, 26, 26,
4, 5, 6, 5, 7, 8, 4, 4, 4, 9,
10, 11, 12, 4, 13, 14, 14, 15, 14, 16,
17, 14, 18, 14, 14, 14, 19, 14, 14, 14,
14, 20, 21, 22, 23, 27, 27, 88, 88, 29,
30, 88, 24, 88, 88, 30, 31, 29, 32, 49,
30, 28, 29, 28, 29, 28, 29, 49, 28, 29,
28, 29, 28, 29, 28, 29, 28, 29, 28, 29,
38, 47, 36, 39, 43, 37, 42, 41, 28, 26,
28, 40, 45, 48, 48, 26, 44, 49, 28, 47,
28, 28, 88, 28, 48, 48, 28, 34, 50, 27,
46, 28, 26, 27, 26, 27, 28, 26, 27, 26,
27, 28, 26, 27, 24, 47, 26, 27, 84, 26,
27, 26, 27, 26, 27, 84, 48, 26, 27, 26,
27, 49, 55, 84, 50, 52, 51, 84, 54, 26,
27, 53, 26, 27, 26, 27, 26, 27, 26, 27,
84, 56, 26, 27, 58, 84, 59, 26, 27, 26,
27, 57, 26, 27, 61, 84, 60, 26, 27, 26,
27, 63, 26, 27, 26, 27, 26, 27, 84, 64,
62, 66, 26, 27, 26, 27, 26, 27, 65, 26,
27, 26, 27, 67, 68, 84, 69, 26, 27, 26,
27, 28, 28, 50, 30, 28, 29, 28, 29, 30,
28, 29, 28, 29, 30, 28, 29, 33, 51, 28,
29, 26, 28, 29, 28, 29, 28, 29, 88, 52,
28, 29, 28, 29, 53, 59, 88, 54, 56, 55,
88, 58, 28, 29, 57, 28, 29, 28, 29, 28,
29, 28, 29, 88, 60, 28, 29, 62, 88, 63,
28, 29, 28, 29, 61, 28, 29, 65, 88, 64,
28, 29, 28, 29, 67, 28, 29, 28, 29, 28,
29, 88, 68, 66, 70, 28, 29, 28, 29, 28,
29, 69, 28, 29, 28, 29, 71, 72, 88, 73,
27, 70, 84, 71, 26, 27, 84, 72, 26, 27,
26, 27, 26, 27, 73, 26, 27, 26, 27, 84,
26, 27, 84, 74, 26, 27, 78, 26, 27, 26,
27, 75, 76, 26, 27, 26, 27, 84, 77, 79,
26, 27, 26, 27, 84, 80, 84, 81, 26, 27,
26, 27, 82, 84, 84, 84, 84, 84, 84, 84,
84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
84, 83, 23, 84, 23, 23, 26, 26, 3, 84,
84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
28, 29, 28, 29, 74, 88, 75, 28, 29, 88,
76, 28, 29, 28, 29, 28, 29, 77, 28, 29,
28, 29, 88, 28, 29, 88, 78, 28, 29, 82,
28, 29, 28, 29, 79, 80, 28, 29, 28, 29,
88, 81, 83, 28, 29, 28, 29, 88, 84, 88,
85, 28, 29, 28, 29, 86, 88, 88, 88, 88,
88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
88, 88, 88, 88, 87, 25, 88, 25, 25, 25,
25, 25, 28, 28, 28, 28, 35, 35, 35, 46,
88, 88, 46, 46, 3, 88, 88, 88, 88, 88,
84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
84, 84
88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
88, 88, 88, 88, 88, 88, 88, 88, 88, 88
} ;
static yyconst short int yy_chk[313] =
static yyconst short int yy_chk[331] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 8, 8, 9, 9, 8, 8, 9,
13, 13, 87, 8, 14, 14, 15, 15, 8, 10,
10, 45, 10, 10, 10, 16, 16, 17, 17, 18,
18, 19, 19, 14, 20, 20, 15, 16, 21, 21,
16, 44, 20, 19, 18, 22, 24, 22, 17, 25,
25, 23, 21, 25, 20, 26, 12, 26, 27, 27,
27, 28, 28, 28, 11, 28, 29, 29, 46, 29,
1, 1, 1, 1, 1, 9, 9, 10, 10, 9,
9, 10, 89, 11, 11, 9, 11, 11, 11, 49,
9, 14, 14, 15, 15, 16, 16, 48, 17, 17,
18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
17, 46, 15, 17, 21, 16, 20, 19, 23, 26,
23, 18, 22, 27, 27, 25, 21, 27, 28, 24,
28, 29, 29, 29, 30, 30, 30, 13, 30, 31,
46, 29, 33, 33, 34, 34, 29, 35, 35, 36,
36, 29, 37, 37, 7, 34, 38, 38, 3, 39,
39, 40, 40, 41, 41, 0, 35, 42, 42, 47,
47, 36, 41, 0, 37, 39, 38, 0, 40, 43,
43, 39, 48, 48, 49, 49, 50, 50, 51, 51,
0, 43, 52, 52, 49, 0, 50, 53, 53, 54,
54, 48, 55, 55, 52, 0, 51, 56, 56, 57,
57, 54, 58, 58, 59, 59, 60, 60, 0, 55,
53, 57, 61, 61, 62, 62, 63, 63, 56, 64,
64, 65, 65, 58, 59, 0, 63, 66, 66, 67,
31, 50, 31, 50, 31, 35, 35, 36, 36, 31,
37, 37, 38, 38, 31, 39, 39, 12, 36, 40,
40, 8, 41, 41, 42, 42, 43, 43, 3, 37,
44, 44, 51, 51, 38, 43, 0, 39, 41, 40,
0, 42, 45, 45, 41, 52, 52, 53, 53, 54,
54, 55, 55, 0, 45, 56, 56, 53, 0, 54,
57, 57, 58, 58, 52, 59, 59, 56, 0, 55,
60, 60, 61, 61, 58, 62, 62, 63, 63, 64,
64, 0, 59, 57, 61, 65, 65, 66, 66, 67,
67, 60, 68, 68, 69, 69, 62, 63, 0, 67,
67, 64, 0, 65, 68, 68, 0, 66, 69, 69,
70, 70, 71, 71, 67, 72, 72, 73, 73, 0,
74, 74, 0, 68, 75, 75, 73, 76, 76, 77,
77, 69, 70, 78, 78, 79, 79, 0, 72, 74,
80, 80, 81, 81, 0, 78, 0, 79, 82, 82,
83, 83, 81, 0, 0, 0, 0, 0, 0, 0,
70, 70, 71, 71, 68, 0, 69, 72, 72, 0,
70, 73, 73, 74, 74, 75, 75, 71, 76, 76,
77, 77, 0, 78, 78, 0, 72, 79, 79, 77,
80, 80, 81, 81, 73, 74, 82, 82, 83, 83,
0, 76, 78, 84, 84, 85, 85, 0, 82, 0,
83, 86, 86, 87, 87, 85, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 82, 85, 0, 85, 85, 86, 86, 84, 84,
84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
0, 0, 0, 0, 86, 90, 0, 90, 90, 90,
90, 90, 91, 91, 91, 91, 92, 92, 92, 93,
0, 0, 93, 93, 88, 88, 88, 88, 88, 88,
84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
84, 84
88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
88, 88, 88, 88, 88, 88, 88, 88, 88, 88
} ;
static yy_state_type yy_last_accepting_state;
@@ -477,7 +483,7 @@ char *yytext;
#include "mdbsql.h"
#include "parser.h"
#line 481 "lex.yy.c"
#line 487 "lexer.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -630,7 +636,7 @@ YY_DECL
#line 26 "lexer.l"
#line 634 "lex.yy.c"
#line 640 "lexer.c"
if ( yy_init )
{
@@ -681,13 +687,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 85 )
if ( yy_current_state >= 89 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 279 );
while ( yy_base[yy_current_state] != 295 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -791,36 +797,45 @@ YY_RULE_SETUP
case 16:
YY_RULE_SETUP
#line 42 "lexer.l"
{ yylval.name = strdup(yytext); return NAME; }
{
yylval.name = strdup(&yytext[1]);
yylval.name[strlen(yylval.name)-1]='\0';
return IDENT;
}
YY_BREAK
case 17:
YY_RULE_SETUP
#line 43 "lexer.l"
{ yylval.name = strdup(yytext); return STRING; }
#line 47 "lexer.l"
{ yylval.name = strdup(yytext); return NAME; }
YY_BREAK
case 18:
YY_RULE_SETUP
#line 44 "lexer.l"
#line 49 "lexer.l"
{ yylval.name = strdup(yytext); return STRING; }
YY_BREAK
case 19:
YY_RULE_SETUP
#line 50 "lexer.l"
{
yylval.name = strdup(yytext); return NUMBER;
}
YY_BREAK
case 19:
YY_RULE_SETUP
#line 47 "lexer.l"
{ yylval.name = strdup(yytext); return PATH; }
YY_BREAK
case 20:
YY_RULE_SETUP
#line 48 "lexer.l"
{ return yytext[0]; }
#line 53 "lexer.l"
{ yylval.name = strdup(yytext); return PATH; }
YY_BREAK
case 21:
YY_RULE_SETUP
#line 49 "lexer.l"
#line 54 "lexer.l"
{ return yytext[0]; }
YY_BREAK
case 22:
YY_RULE_SETUP
#line 55 "lexer.l"
ECHO;
YY_BREAK
#line 824 "lex.yy.c"
#line 839 "lexer.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1112,7 +1127,7 @@ static yy_state_type yy_get_previous_state()
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 85 )
if ( yy_current_state >= 89 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1147,11 +1162,11 @@ yy_state_type yy_current_state;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 85 )
if ( yy_current_state >= 89 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 84);
yy_is_jam = (yy_current_state == 88);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -1701,7 +1716,7 @@ int main()
return 0;
}
#endif
#line 49 "lexer.l"
#line 55 "lexer.l"
int yywrap()

View File

@@ -39,7 +39,13 @@ describe { return DESCRIBE; }
(>=) { return GTEQ; }
like { return LIKE; }
[ \t\r] ;
\"[A-z][A-z0-9 ]*\" {
yylval.name = strdup(&yytext[1]);
yylval.name[strlen(yylval.name)-1]='\0';
return IDENT;
}
[A-z][A-z0-9]* { yylval.name = strdup(yytext); return NAME; }
'.*' { yylval.name = strdup(yytext); return STRING; }
([0-9]+|([0-9]*\.[0-9+)([eE][-+]?[0-9]+)?) {
yylval.name = strdup(yytext); return NUMBER;

View File

@@ -41,7 +41,7 @@ static MdbSQL *g_sql;
%token <name> NAME PATH STRING NUMBER
%token <name> IDENT NAME PATH STRING NUMBER
%token SELECT FROM WHERE CONNECT DISCONNECT TO LIST TABLES WHERE AND
%token DESCRIBE TABLE
%token LTEQ GTEQ LIKE
@@ -112,6 +112,7 @@ database:
table:
NAME { mdb_sql_add_table(_mdb_sql(NULL), $1); free($1); }
| IDENT { mdb_sql_add_table(_mdb_sql(NULL), $1); free($1); }
;
column_list:
@@ -122,6 +123,7 @@ column_list:
column:
NAME { mdb_sql_add_column(_mdb_sql(NULL), $1); free($1); }
| IDENT { mdb_sql_add_column(_mdb_sql(NULL), $1); free($1); }
;
%%