![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码
文章平均质量分 81
albani
这个作者很懒,什么都没留下…
展开
-
thrift的编译器(1)
thrift的编译器作用是把thrift文件编译成各种目标语言的代码,编译器的代码目录在thrift-0.8.0/compiler/cpp/src/下。 main函数一开始解析各种参数,主要的是编译的目标语言及输出的目录和thrift文件的path。没有用到库函数,自己解析的。 以下代码就是解析参数,记录目标语言和输出的目录,其它的一些参数就省略了 for (i = 1;原创 2012-03-03 23:07:34 · 2362 阅读 · 0 评论 -
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 · 1087 阅读 · 0 评论 -
thrift编译器3
这一篇看看thrift是如何生成语法树的(词法语法解析用到flex和bison),以找到include文件为例。Triftl.ll 文件(这是个flex文件)135行"include" { return tok_include; }定义了include词法符号。literal_begin (['\"]) // 这是个正则表达式原创 2012-03-24 11:20:20 · 733 阅读 · 0 评论 -
2014校招 Google在线测试第二场题解 B
B. Meet and party题意简要是:在平面上住着一些人,家都是在整数坐标。现在邀请一些人来参加聚会,聚会的地点在这些人中的某一个家。两点的距离为,from (x1, y1) to (x2, y2) is |x1 - x2| + |y1 - y2|.假设聚会地点选定了,如何计算所有人到这的距离呢?最直观的就是遍历所有的人,每个都计算一原创 2013-10-13 21:20:02 · 1319 阅读 · 0 评论 -
2014校招 Google在线测试第二场题解 C
C. Hex题意简要是:两人玩游戏,判断当前状态。有四种状态:不可能的出现的状态、红赢、蓝赢、还没人赢。棋盘的格子是六边形,看原题有图。红、蓝轮流下子,红下红子,蓝下篮子,随机先手。红色如果把从上到下连通了,则赢。蓝色如果把从左到右连通了,则赢。一旦有人赢棋局就结束了。判断连通性,可以转化成图来思考。通过遍历就能知道。分别看一下四种状态如何判断。1、不可能出现的状态:原创 2013-10-13 21:22:58 · 872 阅读 · 0 评论 -
2014校招 Google在线测试第二场题解 A
A. Sudoku Checker题意简要是:给定一个N^2 * N^2的矩阵,判断矩阵是否为数独。这题根据数独的定义检查这个矩阵,即:每行和每一列、N^2个矩阵,是不是包含1-N^2。有一点就是输入的数可能不在1-N^2的范围。代码如下import java.io.BufferedReader;import java.io.BufferedWriter;im原创 2013-10-13 21:18:08 · 867 阅读 · 0 评论 -
2014校招 Google在线测试第二场题解 D
D. Dragon Maze题意简要是:在一个矩阵中,每个格子有一个整数,非负数表示能量值,-1表示不能去的格子。求起点到终点,最短路径中收集能量最多是多少?无法到达终点则输出"Mission Impossible."最短路径,边长都是1的图中,可以用bfs求解。并保存到达该节点的最短路径值和能收集到的能力最大值。代码如下:import java.io原创 2013-10-15 21:12:38 · 687 阅读 · 0 评论 -
2014校招 Google在线测试第二场题解 E
E. Ignore all my comments题意简要是:去掉文本中的 注释, /* */ 之间的为注释。和括号一样,有可能注释中包含注释。使用栈解,当遇到/*时入栈,遇到*/时,出栈,并且删掉之间的字符。代码如下:import java.io.BufferedReader;import java.io.BufferedWriter;import原创 2013-10-15 21:19:24 · 867 阅读 · 0 评论