无论是 lua_dostring 或者是 lua_dofile,都调用了语法分析 lua_parse。 在 lua 里面语法分析器是用 yacc 生成的,就是y.tab.c 文件,lua.stx 就是 yacc 的输入文件。 这里说的东西基本上编译原理书里都有介绍,如...
分类:
其他好文 时间:
2014-09-14 01:28:16
阅读次数:
434
编译过程就是把预处理的文件进行一系列此法分析,语法分析,语义分析以及优化后生产相应的汇编代码文件。主要分为5部分,分别是:词法分析、语法分析、语义分析、中间语言生产和目标代码生产与优化。本文图示介绍编译原理的整个过程。...
分类:
其他好文 时间:
2014-09-11 23:58:02
阅读次数:
543
Prepare的好处 Prepare SQL产生的原因。首先从mysql服务器执行sql的过程开始讲起,SQL执行过程包括以下阶段词法分析->语法分析->语义分析->执行计划优化->执行。词法分析->语法分析这两个阶段我们称之为硬解析。词法分析识别sql中每个词,语法分析解析SQL语句是否符合sq....
分类:
数据库 时间:
2014-08-18 20:06:32
阅读次数:
500
最近发现一款文法分析神器,看完官网(http://goldparser.org/)的介绍后感觉很犀利的样子,于是就拿来测试了一番,写了一个数学表达式分析的小程序,支持的数学运算符如下所示:常规运算:+ - * / ^ sqrt sqrt2(a,b) pow2(a) pow(a,b)三角函数:si.....
分类:
其他好文 时间:
2014-08-14 20:24:49
阅读次数:
372
在php运行期间,php引擎要对php源码进行处理,(词法分析,语法分析等)然后生成opcode。然后再运行。在这个阶段可以把opcode缓存起来,当下次需要运行这段程序的时候,就避免了再次 进行词法分析,语法分析,直接拿opcode来用。eAccelerator就是这样的程序。用vld查看php的...
分类:
Web程序 时间:
2014-08-13 18:20:26
阅读次数:
260
题目链接:uva 11291 - Smeech
题目大意:就是有一个脑残,又发明了一种机器语言,语言有两种,一种直接就是一个值,一种就是三元式(p e1 e2),有p的概率为e1+e2,1-p的概率为e1-e2.三元式的值即为期望。给定一个语句,求值。注意语句可以嵌套的。
解题思路:期望很容易求,主要是因为语句有嵌套,所以用类似语法分析的方法处理,具体看代码。
#include
#...
分类:
其他好文 时间:
2014-08-12 00:49:43
阅读次数:
296
由于老师要求,最近在做oceanbase存储过程的实现,在oceanbase 0.4以前是不支持存储过程的。实现的主要步骤主要包括
1、语法解析
2、词法解析
3、具体执行语法树的步骤
现在先来说说语法解析吧,在这一块主要是使用的flex( 词法分析器生成工具) 和bison(语法分析器生成器) 这两个是对用户输入的存储过程语句进行解析的
来具体说说该怎么实现对sql语句的分析吧
...
分类:
数据库 时间:
2014-08-06 14:59:51
阅读次数:
468
Mysql 查询运行过程 大致分为4个阶段吧:语法分析(sql_parse.cc)>>sql_resolver.cc # JOIN.prepare生成逻辑查询plan(sql_optimizer.cc)>># JOIN.optimize生成物理查询plan(sql_planner.cc)run th...
分类:
数据库 时间:
2014-08-02 12:28:33
阅读次数:
239
SAX的特点:是基于事件的 API在一个比 DOM 低的级别上操作为您提供比 DOM 更多的控制几乎总是比 DOM 更有效率但不幸的是,需要比 DOM 更多的工作基于对象和基于事件的接口您可能已经知道语法分析器有两类接口 - 基于对象的(如:DOM)和基于事件(如:SAX)的接口。DOM是基于对象的...
分类:
编程语言 时间:
2014-07-30 00:21:12
阅读次数:
443
PHP:脚本编程语言,php解释器WebApp:面向对象的特性Zend:第一段:词法分析、语法分析、编译为Opcode;opcode放置于内存中第二段:执行opcode;php分两段的好处,当用户第二次请求的时候,就直接执行这个OPCODE即可。这样之后速度也会快些,但是在不同的进程之间是不能共享opc..
分类:
其他好文 时间:
2014-07-22 18:18:42
阅读次数:
362