📄 sql语法.c
字号:
X ;
X
Xrollback:
X ROLLBACK work
X | ROLLBACK SYNC
X ;
X
Xrollforward:
X ROLLFORWARD path FROM path roll_op
X ;
X
Xroll_op:
X |TO STRING time
X ;
X
Xtime:
X |STRING
X ;
X
Xsync:
X SYNC
X ;
X
Xwork:
X |WORK
X ;
X/*
XAcess management
X*/
X
X
Xclose:
X CLOSE dbname
X ;
X
Xopen:
X OPEN dbname password
X ;
X
X
Xpassword:
X |IDENTIFIER
X ;
X/*
XDataBase Maintaince and Configuration
X*/
Xaudit:
X AUDIT into_clause path_list
X from_clause where_clause /* Set audit flag */
X ;
X
Xcheck:
X CHECK
X ;
X
Xdump:
X DUMP DATABASE dbname to_clause
X | DUMP TABLE dbname to_clause
X ;
X
Xrepair:
X REPAIR
X ;
X
Xrestore:
X RESTORE DATABASE dbname rfrom_clause
X | RESTORE TABLE dbname rfrom_clause
X ;
X
Xto_clause:
X |TO filename
X ;
X
Xrfrom_clause:
X |FROM filename
X ;
X
Xset:
X SET option_list
X ;
X
Xwhere_clause:
X | WHERE predicate
X ;
X
Xfrom_clause:
X | FROM path_list
X ;
X/*
XCONSTRAND IDENTIFIERS
X*/
Xmode:
X IDENTIFIER
X/* check
X SHARE | EXCLUSIVE | OFF
X*/
X ;
X
Xpriv_name:
X IDENTIFIER
X | ALTER | CREATE | DELETE | DUMP | RESTORE
X | DROP | INSERT | LOCK | SELECT | UPDATE
X/* check
X | CREATE_TABLE | CREATE_DATABASE
X | CREATE_INDEX | ALL
X*/ ;
X
Xs_control:
X IDENTIFIER
X ;
X/*
XIDENTIFIERS
X*/
Xalias: IDENTIFIER;
Xconstr_name: IDENTIFIER;/* Constraint Name */
Xday1: IDENTIFIER;
Xday2: IDENTIFIER;
Xdbtype: PARM | IDENTIFIER;/* Database type */
Xdbname: PARM | IDENTIFIER;/* Database name */
Xdomain_name: IDENTIFIER;
Xfield: IDENTIFIER;
Xfilename: PARM | IDENTIFIER; /* File name */
Xfname: IDENTIFIER; /* FUNCTION NAME */
Xf_key: IDENTIFIER;
Xhname: IDENTIFIER;
Xparm_name: IDENTIFIER;
X/* Field or Record path element */
Xpath_element: IDENTIFIER {strcat(path_name,$1);};
Xprog_name: IDENTIFIER;
Xrecord: IDENTIFIER;
Xsyn_name: IDENTIFIER;
Xtty: IDENTIFIER;
Xtime1: IDENTIFIER;
Xtime2: IDENTIFIER;
Xuser: PARM | IDENTIFIER;
X/*
Xrange_num: IDENTIFIER | INTEGER;
X*/
X%%
X#include "lex.yy.c"
END_OF_dsl.y
if test 17429 -ne `wc -c <dsl.y`; then
echo shar: \"dsl.y\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f ed0 -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"ed0\"
else
echo shar: Extracting \"ed0\" \(53 characters\)
sed "s/^X//" >ed0 <<'END_OF_ed0'
Xed lex.yy.c > ed0.out <<EOF
X/output/
X.,.+2 d
Xw
Xq
XEOF
END_OF_ed0
if test 53 -ne `wc -c <ed0`; then
echo shar: \"ed0\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f ed1 -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"ed1\"
else
echo shar: Extracting \"ed1\" \(122 characters\)
sed "s/^X//" >ed1 <<'END_OF_ed1'
Xed y.tab.h > ed1.out <<EOF
X/ALLFIELDS/
X.,$ d
X/BBEGIN/
X.s/BBEGIN/BEGIN/
X/NULLN/
X.s/NULLN/NULL/
X1
X/extern/
X1,.d
Xw y.h
Xq
XEOF
END_OF_ed1
if test 122 -ne `wc -c <ed1`; then
echo shar: \"ed1\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f ed2 -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"ed2\"
else
echo shar: Extracting \"ed2\" \(244 characters\)
sed "s/^X//" >ed2 <<'END_OF_ed2'
Xset -x
Xecho $1>nt
Xed rwords >ed2.out <<EOF
X\$
X. s/, \$//
Xw
Xq
XEOF
Xed rnums >>ed2.out <<EOF
X\$
X. s/, \$//
Xw
Xq
XEOF
Xed tmprws.h >>ed2.out <<EOF
X/RWORDS/
X.s/[0-9][0-9]//
X.r nt
X-
X.,.+1j
X/\~\~/
X. d
X-
X. r rwords
X/\~\~/
X. d
X-
X. r rnums
Xw parser.h
Xq
XEOF
END_OF_ed2
if test 244 -ne `wc -c <ed2`; then
echo shar: \"ed2\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f gtok.h -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"gtok.h\"
else
echo shar: Extracting \"gtok.h\" \(782 characters\)
sed "s/^X//" >gtok.h <<'END_OF_gtok.h'
X/*
XGenarate tokens for parse tree
XDDF Version 1.00
XBy Leroy G. Cain
XCopywrite 1986
X*/
X
X/* Tokens */
X/* expressions */
X#define T_EQ 0201
X#define T_NE 0202
X#define T_GT 0203
X#define T_NGT 0225
X#define T_GE 0204
X#define T_LT 0205
X#define T_NLT 0226
X#define T_LE 0206
X#define T_AND 0210
X#define T_OR 0211
X#define T_ADD 0212
X#define T_NEG 0101
X#define T_SUB 0213
X#define T_MUL 0214
X#define T_DIV 0215
X#define T_MOD 0221
X
X/* Constaints and varibles */
X#define T_FCHAR 0047
X#define T_PCHAR 0054
X#define T_CHAR 0057
X#define T_VAR 0050
X#define T_INT4 0070
X#define T_FLT8 0074
X
X/* Struct tokens */
X#define T_ROOT 0264
X#define T_ENDCOMMAND 0220
X#define T_AGHEAD 0217
X#define T_RESDOM 0200
X#define T_TLEND 0001
X#define T_QLEND 0002
END_OF_gtok.h
if test 782 -ne `wc -c <gtok.h`; then
echo shar: \"gtok.h\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f parser.c -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"parser.c\"
else
echo shar: Extracting \"parser.c\" \(2255 characters\)
sed "s/^X//" >parser.c <<'END_OF_parser.c'
X/*
XParser
XVersion 1.0
X1986 Columbia Union College
XBy Leroy G. Cain
X*/
X
X# include "ddf.h"
X# include <stdio.h>
X# define U(x) x
X
Xstatic char *par_buf;
Xstatic char *par_sbuf;
X
Xextern char *yysptr, yysbuf[];
Xextern int yytchar;
Xextern int yylineno;
Xextern int ddf_err;
X
Xstatic unsigned char ptree[4096];
Xstatic unsigned char *ptree_ptr;
X
Xparse ( ddf_run, str )
XDDFRUN *ddf_run;
Xchar *str;
X{
Xregister int preturn;
Xint fd;
X
X par_buf = str;
X par_sbuf = str;
X ptree_ptr = ptree;
X preturn = yyparse();
X ddf_run->par_buf = ptree;
X ddf_run->buf_len = ptree_ptr-ptree;
X return !preturn;
X /*
X if( (preturn=ddf_parser()) && type >0 )
X pcovert(ptree,type);
X return preturn;
X */
X}
X
Xinput()
X{
X return
X (
X ( ( yytchar = ( yysptr > yysbuf ? U(*--yysptr) : *par_buf++
)
)
X == 10 ? (yylineno++, yytchar) : yytchar) == '\0' ? 0 :
yytchar
X );
X}
X
Xunput(c)
Xint c;
X{
X yytchar = c;
X if (yytchar=='\n') yylineno--;
X *yysptr++ = yytchar;
X}
X
Xoutput(c)
Xint c;
X{
X}
X
Xparerror(err)
Xint err;
X{
X ddf_err=err;
X}
X
Xputvar(s)
Xchar *s;
X{
Xint x;
X
X *ptree_ptr++ = strlen(s);
X for(;*s;*ptree_ptr++ = *s++);
X}
X
Xputstr(s)
Xchar *s;
X{
Xint x;
X
X *ptree_ptr++ = x = strlen(s)-2;
X *(s+x+1)= '\0';
X for(s++;*s;*ptree_ptr++ = *s++);
X}
X
Xputtok(n)
Xint n;
X{
X *ptree_ptr++ = n;
X}
X
Xputint(s)
Xchar *s;
X{
Xunion
X{
X long num;
X unsigned char n[4];
X} cludge;
X
X cludge.num = atoi(s);
X *ptree_ptr++ = cludge.n[0];
X *ptree_ptr++ = cludge.n[1];
X *ptree_ptr++ = cludge.n[2];
X *ptree_ptr++ = cludge.n[3];
X}
X
Xputreal(s)
Xchar *s;
X{
Xunion
X{
X double num;
X unsigned char n[8];
X} cludge;
X
X cludge.num = atof(s);
X *ptree_ptr++ = cludge.n[0];
X *ptree_ptr++ = cludge.n[1];
X *ptree_ptr++ = cludge.n[2];
X *ptree_ptr++ = cludge.n[3];
X *ptree_ptr++ = cludge.n[4];
X *ptree_ptr++ = cludge.n[5];
X *ptree_ptr++ = cludge.n[6];
X *ptree_ptr++ = cludge.n[7];
X}
X
X/* supplied by KMW */
X
Xyyerror (s)
Xchar *s;
X{
X fprintf (stderr, "%s\n", s);
X}
END_OF_parser.c
if test 2255 -ne `wc -c <parser.c`; then
echo shar: \"parser.c\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f phm.c -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"phm.c\"
else
echo shar: Extracting \"phm.c\" \(432 characters\)
sed "s/^X//" >phm.c <<'END_OF_phm.c'
X#include <stdio.h>
X
Xmain()
X{
Xchar st[256];
Xchar j0, j1[32];
Xchar token[32];
Xint num;
Xint n=0;
XFILE *words;
XFILE *nums;
X
X words=fopen("rwords","w");
X nums=fopen("rnums","w");
X while ( gets(st)!=NULL)
X {
X sscanf(st,"%c %s %s %d ",&j0,j1,token,&num);
X fprintf(words,"\"%s\"%s",token,(n==5)? ",\n": ", ");
X fprintf(nums,"%d%s",num,(n==5)? ",\n": ", ");
X n=(n==5) ? 0 : ++n;
X }
X fprintf(words,"\n");
X fprintf(nums,"\n");
X exit(0);
X}
END_OF_phm.c
if test 432 -ne `wc -c <phm.c`; then
echo shar: \"phm.c\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f rwsearch.c -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"rwsearch.c\"
else
echo shar: Extracting \"rwsearch.c\" \(637 characters\)
sed "s/^X//" >rwsearch.c <<'END_OF_rwsearch.c'
X# include <ctype.h>
Xrwsearch( str )
Xchar *str;
X{
Xint x;
Xint mid;
Xint low=0;
Xint high=RWORDS - 1;
X
X upshift(str);
X while(low <= high)
X {
X mid = (low+high)/2;
X if( !(x=strcmp(str, rwords[mid])) )
X return(rnums[mid]);
X else if( x<0 ) /* if lesser */
X high = mid-1;
X else if( x>0 ) /* if greater */
X low = mid+1;
X }
X return(IDENTIFIER);
X}
X
Xupshift(str)
Xchar *str;
X{
X for(;*str;str++)
X *str = (isupper(*str))? *str : toupper(*str);
X}
END_OF_rwsearch.c
if test 637 -ne `wc -c <rwsearch.c`; then
echo shar: \"rwsearch.c\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f testpar -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"testpar\"
else
echo shar: Extracting \"testpar\" \(17 characters\)
sed "s/^X//" >testpar <<'END_OF_testpar'
Xtf <vtest2 |tpar
END_OF_testpar
if test 17 -ne `wc -c <testpar`; then
echo shar: \"testpar\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f tf.l -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"tf.l\"
else
echo shar: Extracting \"tf.l\" \(17 characters\)
sed "s/^X//" >tf.l <<'END_OF_tf.l'
X%%
X#[0-9]+# ;
X%%
END_OF_tf.l
if test 17 -ne `wc -c <tf.l`; then
echo shar: \"tf.l\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f tmprws.h -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"tmprws.h\"
else
echo shar: Extracting \"tmprws.h\" \(95 characters\)
sed "s/^X//" >tmprws.h <<'END_OF_tmprws.h'
X#define RWORDS 71
X#define FTOKEN 257
X
Xchar *rwords [] =
X{
X~~
X};
X
Xint rnums [] =
X{
X~~
X};
END_OF_tmprws.h
if test 95 -ne `wc -c <tmprws.h`; then
echo shar: \"tmprws.h\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f tpar.c -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"tpar.c\"
else
echo shar: Extracting \"tpar.c\" \(2018 characters\)
sed "s/^X//" >tpar.c <<'END_OF_tpar.c'
X#include <ctype.h>
X#include <stdio.h>
X#include "ddf.h"
X
Xint ddf_err;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -