这个链接上有点介绍,可以了解个大概:http://blog.imaginea.com/mysql-query-parsing/
关键点:
1. SQL解析包括语法分析器和词法分析器。
简便的做法是用bison/flex组合。不过MySQL的词法分析器是手工打造的。
语法分析器的入口函数是MYSQLparse,词法分析器的入口函数是MYSQLlex。
2. 词法分析中...
分类:
数据库 时间:
2014-06-19 10:03:35
阅读次数:
302
文本符号化:Fslex
文本符号化(Tokenizing,有时也叫词法分析,lexical analysis 或 lexing),其基本意思是把文本分成可管理的块(lump),或符号(token)。要用到工具fslex.exe,它本身就是创建词法分析器(有时也叫扫描器,scanner),进行文本符号化的程序或模块的特定域语言。fslex.exe 是命令行程序,接收参数是表示词法分析器的文本...
分类:
其他好文 时间:
2014-06-14 06:55:46
阅读次数:
390
自己之前一直以为目标文件是经过汇编生成.s之后编译生成的,好菜。
源程序到可执行程序过程:预处理 编译 汇编 链接预处理:
展开宏定义,处理条件预编译指令,插入头文件,删除注释,添加行号和文件名标示,保留#pragma编译器指令.编译:
词法分析:词法扫描器按照词法规则产生记号,根据记号放...
分类:
其他好文 时间:
2014-06-09 13:34:12
阅读次数:
204
前言和导读
“得心应手的工具在初学时的困难程度往往超过那些容易上手的工具。”比较认同这句话。我至今觉得自己其实还是个刚入了门的初学者。
第一章 “词法”陷阱
由于之前学过编译原理,对编译器词法分析(主要是符号识别过程)比较了解,理解起来不困难。
在讲到"="和"=="、"|"和"||"、"&"和"&&"时,联想起以前见过一些程序中出现了类似...
分类:
其他好文 时间:
2014-06-08 17:12:04
阅读次数:
263
上次在公司内部讲《词法分析——使用正则文法》是一次失败的尝试——上午有十几个人在场,下午就只来了四个听众。本来我还在构思如何来讲“语法分析”的知识呢,但现在看来已不太可能。这个课程没有预想中的受欢迎,其原因可能是:1.课程内容相对复杂,听众知识背景与基础差异比较大。2.授课技巧不够,不能把复杂的知识...
分类:
其他好文 时间:
2014-06-02 19:40:08
阅读次数:
286
1.形式语言:是用来精确地描述语言(包括人工语言和自然语言)及其结构的手段。形式语言学
也称代数语言学。 2.自动机:识别器是有穷地表示无穷语言的另一种方法。每一个语言的句子都能被一定的识别器所接受。 *有限状态转换机(FST)
除了前面提到的单词拼写检查、词法分析、词性标注...
分类:
其他好文 时间:
2014-05-31 15:18:10
阅读次数:
631
本文出自:http://blog.csdn.net/svitter
一开始做这个实验真是觉得各种简单- -就是一张状态转换图不停的跳来跳去。。后来发现我太天真了。。一个搞来搞去搞不清楚的bug是因为老师给的状态转换图坑了 - - 当然这肯定不怪老师因为我一开始做的时候居然没发现= =。
状态转换图我就暂且不贴了,另外两篇文章的地址如下:
Compiler_词法分析_表驱动法
C...
分类:
其他好文 时间:
2014-05-22 11:27:59
阅读次数:
273
Javascript
的词法分析过程:1、先分析参数2、再分析变量声明3、分析函数声明具体步骤:1、函数运行前的瞬间,生成 Active Object
(AO)2、函数声明的参数,形成AO的属性,值全部是 undefined3、分析变量声明,如 var arg, 如果AO上还没有这个arg的属性,....
分类:
编程语言 时间:
2014-05-19 14:30:22
阅读次数:
444
前沿:词法分析器是将一段程序的代码按照类别分开.一般来说是将关键字, 变量名 , 常数
运算符( + _ * / )和界符分类词法分析算是编译的基础把今天上编译原理的实验课, 看了看 老师给的代码
添加了一些注释大致的流程是这样的:规定关键字的符号是10数字的符号是数字本身+ - * = 这些符号代...
分类:
其他好文 时间:
2014-05-19 12:58:04
阅读次数:
257
DFA:
使用了表驱动法;
构造的表如下:
表驱动
num
.
E
+/-
other
0
1
6
-
-
-
1
1
2
5
-
-
2
2
-
3
-
-
3
-
-
-
4
--
4
5
-
-
-
-
5
5...
分类:
其他好文 时间:
2014-05-18 09:11:43
阅读次数:
264