15,471
社区成员
发帖
与我相关
我的任务
分享
%option yylineno
%{
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
%}
number [-]?[0-9]+(\.[0-9]+)?
name [_a-zA-Z][_0-9a-zA-Z()\.\*]*
whitespace [ \n\t]
st (select|SELECT|Select)
fm (from|FROM|From)
wh (where|WHERE|Where)
gy (group[ ]+by|GROUP[ ]+BY|Group[ ]+By)
oy (order[ ]+by|ORDER[ ]+BY|Order[ ]+By)
terminator [;]
nsplit [,]
whsplit (and|AND|or|OR|Or|And)
define (AS|as|As|aS)
operator [<>=|(<=)|(>=)]
lborder ([ ]+\([ ]+)
rborder ([ ]+\)[ ]+)
indId (\[[a-zA-Z0-9_]{1,24}\])
%%
{indId} {
return 0;
}
{st} {
return 0;
}
{fm} {
return 0;
}
{wh} {
return 0;
}
{gy} {
return 0;
}
{oy} {
return 0;
}
{define} {
return 0;
}
{whsplit} {
return 0;
}
{operator} {
return 0;
}
{nsplit} {
return 0;
}
{lborder} {
return 0;
}
{rborder} {
return 0;
}
{name} {
return 0;
}
{number} {
return 0;
}
{terminator} {
return 0;
}
{whitespace} ;
%%
int main()
{
printf("success");
return 0;
}