- 博客(4)
- 收藏
- 关注
原创 thrift编译器3
这一篇看看thrift是如何生成语法树的(词法语法解析用到flex和bison),以找到include文件为例。Triftl.ll 文件(这是个flex文件)135行"include" { return tok_include; }定义了include词法符号。literal_begin (['\"]) // 这是个正则表达式
2012-03-24 11:20:20 727
原创 thrift的编译器2
main函数中调用了两个非常重要的函数,parse()和generate(),parse()解析thrift文件,生产语法树,即全局变量g_program。generate()通过这棵语法树,生产具体的语言代码。具体看看这两个函数。thrift的词法解析和语法解析用了flex和bison。void parse(t_program* program, t_program* parent_pr
2012-03-24 11:07:06 1066
原创 thrift的编译器(1)
thrift的编译器作用是把thrift文件编译成各种目标语言的代码,编译器的代码目录在thrift-0.8.0/compiler/cpp/src/下。 main函数一开始解析各种参数,主要的是编译的目标语言及输出的目录和thrift文件的path。没有用到库函数,自己解析的。 以下代码就是解析参数,记录目标语言和输出的目录,其它的一些参数就省略了 for (i = 1;
2012-03-03 23:07:34 2339
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人