最后结果和文件在 http://gist.github.com/zhuzhenpeng/5939304c8f298c82352bGCC、Clang、llvm概念和关系 编译器分前端和后端 前端主要进行语法和语义分析,输入是源代码,输出是一棵抽象的语法树,平时大家说的parser就是指编译器的前...
分类:
系统相关 时间:
2014-12-30 16:59:57
阅读次数:
2052
对同一个sql语句,使用3种解析器解析出ast语法树(这是编译原理上的说法,在sql解析式可能就是解析器自定义的statement类型),执行1100万次的时间对比。...
分类:
数据库 时间:
2014-12-23 21:14:03
阅读次数:
754
atitit.自己动手开发编译器and解释器(2) ------语法分析,语义分析,代码生成--attilax总结
1. 建立AST 抽象语法树 Abstract Syntax Tree,AST) 1
2. 建立AST 语法树----递归下降(recursive descent)法 2
3. 语法分析概念 2
3.1. 上下文无关语言,非终结符(nonterminal symbol)...
分类:
其他好文 时间:
2014-12-01 22:31:25
阅读次数:
430
Atitit. 构造ast 语法树的总结attilax oao
1. 能那更加有意义的名字来命名ast节点。。。 1
2. 如何命名表达式名称。。使用实际对象名称,而不是操作符号表达式更好 1
2.1. 参考在的ast view 一类的实现... 1
3. ast view (自是个160k的jar )
2
3.1. 多条语句ast结构 2
3.2. 变量定义 int b,c...
分类:
其他好文 时间:
2014-11-30 20:07:23
阅读次数:
225
这个函数用来编译一段字符串的源码,结果可以生成字节码或者AST(抽像语法树),字节码可以使用函数exec()来执行,而AST可以使用eval()来继续编译。参数source是一串字符串的源码,或者是AST对象数组。参数filename是读取字符串的文件对象,如果不是从文件里读取源码来编译,那么这里可以放一些用来标识这些代码的字符串。参数mode是用来指明那种表示的源码类型;如果是exec类型,表示...
分类:
编程语言 时间:
2014-11-12 21:19:50
阅读次数:
295
以前我一直不能理解LISP里引用的作用,感觉引用和字符串没什么区别。比如:> (define (func) 'ok)> (func)'ok这里把引用ok当做了函数func的返回值。但是我在实现函数式汉语编程的时候,我把代码构造成了一个多叉的语法树,这时候对某一段代码的引用,就是不对代码Eval,直....
分类:
其他好文 时间:
2014-11-07 23:24:31
阅读次数:
322
自己实现一个SQL解析引擎功能:将用户输入的SQL语句序列转换为一个可运行的操作序列,并返回查询的结果集。 SQL的解析引擎包含查询编译与查询优化和查询的执行,主要包含3个步骤:查询分析: 制定逻辑查询计划(优化相关) 制定物理查询计划(优化相关) 查询分析: 将SQL语句表示成某种实用的语法树. ...
分类:
数据库 时间:
2014-11-07 18:39:45
阅读次数:
461
二叉树属于数据结构中层次性的数据关系,他又祖先——后代,上级——下属,整体——部分以及其他类似的关系,树结构在计算机领域中有着广泛的应用,例如在编译程序中庸语法树来表示元程序的语言结构,在数据挖掘中庸决策树来进行数据分类等等。在我的前一个博客中也有提到就是二叉树的相关知识重点。不清楚的同行可以参考我的文章。其中若有不妥之处,还请大家指点。
下面是我在学习二叉树的时候编写的二叉树的几个常见的功能的...
分类:
编程语言 时间:
2014-11-02 22:38:43
阅读次数:
372
最近20天都在写这个...终于完工了(走向无尽的重构道路...)...感谢VC聚聚的博文和RE2作者的博客指导,感谢VC聚聚的源码参考.非常感谢!启发很大.vc聚聚的正则语法树遍历部分的方案.真是精妙!之前我虽然知道用Visitor模式遍历异构树,但是不知道怎么写vistor的框架满足需求.用的时候...
分类:
其他好文 时间:
2014-10-26 01:39:00
阅读次数:
273
如果对'a + 3 * b'进行解释,当中a=2,b=5代码非常easy,就不再进行具体的解释了。Num = lambda env, n: nVar = lambda env, x: env[x]Add = lambda env, a, b:_eval(env, a) + _eval(env, b)...
分类:
编程语言 时间:
2014-10-06 15:02:30
阅读次数:
196