lexer.l
来自「直接存取Access97数据库文件(MDB)的工具库源码」· L 代码 · 共 47 行
L
47 行
%{#include <string.h>#include "mdbsql.h"#include "parser.h"extern MdbSQL *g_sql;%}%%select { return SELECT; }from { return FROM; }connect { return CONNECT; }to { return TO; }list { return LIST; }where { return WHERE; }and { return AND; }tables { return TABLES; }[ \t\r] ;[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; }(\/?[A-z0-9\.]+)+ { yylval.name = strdup(yytext); return PATH; }. { return yytext[0]; }%%void yyerror(char *s){ fprintf(stderr,"Error at Line : %s near %s\n", s, yytext);}#if 0int main(int argc, char **argv){int i; g_sql = mdb_sql_init(); yyin = stdin; if (yyparse()) { fprintf(stderr, "Couldn't parse SQL\n"); exit(1); } mdb_sql_dump(g_sql); mdb_sql_exit(g_sql); }#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?