上一页 1 ··· 51 52 53 54 55 56 57 58 59 ··· 104 下一页
摘要: 如果我开一个psql窗口,来输入sql文,它在数据库的何处被解析?在何处被"真正"处理?postgres.c 的intPostgresMain(int argc, char *argv[], const char *username)函数中,在PostgresMain 的 for 循环中,调用 static void exec_simple_query(const char *query_string),来构建语法树,并完成SQL 处理。 “纯”语法树由pg_parse_query 来生成,生成后,由 exec_simple_query的其它部分来利用执行访问数据库。调用 阅读全文
posted @ 2013-05-21 17:36 健哥的数据花园 阅读(629) 评论(0) 推荐(0)
摘要: 小例子:定义一个宏:#define mysleep(_sec) fprintf(stderr,"sleep AT line:%d\n",__LINE__);sleep(_sec);fprintf(stderr,"after sleep\n");然后,在程序中使用:mysleep(10);....mysleep(10); 阅读全文
posted @ 2013-05-21 15:59 健哥的数据花园 阅读(480) 评论(0) 推荐(0)
摘要: 接前面的例子:程序中,调用Bison和Flex结合的小例子要做出存储语法树结构的全局变量: 1 [root@lex ~]# cd /soft/total 2 [root@lex total]# ls 3 lexer.l lex.yy.c myparser myparser.c myparser.h parser.y y.tab.c y.tab.h 4 [root@lex total]# cat myparser.h 5 typedef struct ABlock{ 6 int left; 7 int right; 8 }AB; 9 10 typedef struct MB... 阅读全文
posted @ 2013-05-18 17:18 健哥的数据花园 阅读(2386) 评论(0) 推荐(0)
摘要: 接着前面的 <程序中,调用Bison和Flex结合的小例子> 那一篇,再来整点新东西:http://www.cnblogs.com/gaojian/archive/2013/05/17/3083662.html我想,实际的工作中,绝对不会像逆波兰式计算器那样简单,直接就在语法分析器里完成计算。常常需要构造一颗语法树,然后把它传出来!例如各种数据库系统处理SQL文就是这样子。上程序: 1 [root@lex total]# cat lexer.l 2 %{ 3 4 #include "y.tab.h" 5 #include <stdio.h> 6 7 阅读全文
posted @ 2013-05-17 16:57 健哥的数据花园 阅读(872) 评论(0) 推荐(0)
摘要: 网上的很多程序,对初次接触Bison和Flex的人而言,都有点复杂,看最简单的例子更好些:http://stackoverflow.com/questions/1920604/how-to-make-yy-input-point-to-a-string-rather-than-stdin-in-lex-yacc-solaris我稍微修改一下,说说自己的理解,也作为一个备忘:Flex程序: 1 [root@lex total]# cat lexer.l 2 %{ 3 4 #include "y.tab.h" 5 #include <stdio.h> 6 7 8 # 阅读全文
posted @ 2013-05-17 15:13 健哥的数据花园 阅读(3541) 评论(0) 推荐(0)
摘要: 网上很多例子,都是yacc和lex结合的。而我想找一个单纯使用 lex的例子。而且可以从我的主程序来调用它。上程序:第一步,编写 flex 文件:example.flex从网上找到的,其功能是对行数和字符数计数。 1 [root@cop01 tst]# cat example.flex 2 /* name: example.flex */ 3 %option noyywrap 4 %{ 5 int num_lines =0, num_chars=0; 6 %} 7 %% 8 9 \n ++num_lines; ++num_chars;10 . ++num_chars;11 12 %%13 1. 阅读全文
posted @ 2013-05-17 12:03 健哥的数据花园 阅读(1053) 评论(2) 推荐(0)
摘要: yum remove --nodeps 的 --nodeps 一定要记住。否则,可能会连Linux中原有的一些系统库都会被删除。 阅读全文
posted @ 2013-02-12 12:56 健哥的数据花园 阅读(286) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/tralonzhang/article/details/7773824 阅读全文
posted @ 2013-02-07 16:51 健哥的数据花园 阅读(162) 评论(0) 推荐(0)
摘要: 看例子: -perm 后面不带 + 也 不带 - ,就是 完全匹配。 -perm 后面带 -, 就是说 包含了此mode的(比它宽泛的),例如 6600 包含了 6000。 -perm 后面带 +,就是此mode,或者被此mode包含的。 例如 6000,拆为二进制后变成:110 000 000 0 阅读全文
posted @ 2013-01-25 09:45 健哥的数据花园 阅读(2953) 评论(0) 推荐(2)
摘要: 备忘http://www.cnblogs.com/vamei/archive/2012/10/07/2713023.html[root@localhost ~]# ps -o pid,pgid,ppid,sid,tty,comm PID PGID PPID SID TT COMMAND 4508 4508 4504 4508 pts/1 bash 4616 4616 4508 4508 pts/1 ps再来:[root@localhost ~]# ps -o pid,pgid,ppid,sid,tty,comm|cat PID PGID PP... 阅读全文
posted @ 2013-01-10 16:44 健哥的数据花园 阅读(233) 评论(0) 推荐(0)
上一页 1 ··· 51 52 53 54 55 56 57 58 59 ··· 104 下一页