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

📄 sql语法.c

📁 语言的语法,格式严紧,对于处理yacc,lex有帮助!
💻 C
📖 第 1 页 / 共 4 页
字号:
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 + -