首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

编撰最简单的SQL解析程序(原理演示)

2013-03-10 
编写最简单的SQL解析程序(原理演示)如何写一个SQL解析器呢?这里先抛出第一步:单词切分。下面举个简单例子:s

编写最简单的SQL解析程序(原理演示)

如何写一个SQL解析器呢?这里先抛出第一步:单词切分。下面举个简单例子:

select.l 文件:



注意:

写lex文件规则的时候,严格的规则必须写在松散的规则前面。下面是一个错误的例子:

[a-zA-Z_]+ {  if (state == (COLUMN - 1) || state == (TABLE - 1))    state++;  printf("any word state=%d\n", state);}FROM {    if (state == (FROM - 1))          state++;  printf("from state=%d\n", state);}
因为FROM这个永远都走不到,全部都被[a-zA-Z_]拦住了。

================================================================

5年前写过的关于lex yacc的文章:

VC与YACC、LEX集成 

一个简单的C语言词法分析与语法分析器【原】



热点排行