前几天刚和prolj兄在google code上开了个项目,取了个很自恋的名字RPC
(Run and Prolj's Compiler,不是Remote Procedure Call)。
我们打算完成一个支持C99标准的Compiler,说实话感觉心里挺没底的,C99标准文档四五百页的E文,看得有点晕,一些文法和语义的细节看起来挺复杂的,语法树啊符号表啊什么的具体实现也还没想清楚。
还好prolj兄比较小强,特别对后端优化算法比较熟悉,鲸书都快被他啃烂了。最让我佩服的prolj兄大学英语没去上几次课,靠啃E版的《编程艺术》,六级就很Easy的Pass掉了。小强果然就是小强啊!
现在看了几个简单的Compiler的源码,发现语法分析的Function都是调用词法分析的过程,一个一个的获得Token,然后构建语法树。
今天早上起来上WC,突然脑子里面冒出来一个想法:这不是个典型的生产者-消费者问题么?若是在多线程环境下,起两个线程分别跑词法分析和语法分析的Function,再建个缓冲的Buffer,这样前端分析的效率会不会有所提升呢?
欢迎各位拍砖
花了两天时间终于把VIM写C的环境搞起来了,功能之强大,绝不逊色于任何一个IDE。终于不用再自己在Vi中跳来跳去。小show一下:
非常感谢CSDN上Easwy的文章:
http://blog.csdn.net/easwy/category/234641.aspx
昨天花半天时间玩了一下VI,刚开始的时候看着黑黑的屏幕和稀奇古怪的命令,真是恐怖,这是人玩的东西吗!
慢慢熟悉了感觉功能还真的是很强呢。
VI说道底也就是在三种模式间切换,完成文本编辑的操作。命令模式,插入模式,可视模式。
当你不知道是在什么模式的时候,狂按ESC就肯定进到命令模式了:)
命令模式也主要就做些文件保存退出;光标移动(左右,上下,单词,行,段);查找替换;删除等操作
在命令模式下,i,a,o 三个命令进入插入模式,才能编辑文件。
命令模式下,v进入可视模式,选择区域后,y是复制,d是剪切,回到命令模式后p就贴上了
除此之外,再就是VIMRC文件内一些乱七八糟的配置, ...
GCC笔记 (来源cu)
2007-07-09 07:14
The History of GCC
1984年,Richard Stallman发起了自由软件运动,GNU (Gnu's Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第一款可移植、可优化、支持ANSI C的开源C编译器。
GCC最初的全名是GNU ...
HTTP是一项应用于分布协同,超媒体信息传输的应用层协议.它是一个通用的无状态协议,不仅能应用于超文本传输,通过扩展其请求方法,错误码和头信息可建立Name Server和分布对象管理系统(distributed object management systems).HTTP的一个特点是the typing and negotiation of data representation,allowing systems to be built independently of the data being transferred. HTTP从1990年以来就应用于WWW.这份规范定义的是HTTP ...
- 浏览: 40675 次
- 性别:

- 来自: 武汉

- 详细资料
搜索本博客
我的相册
vim-ide
共 4 张
共 4 张
最近加入圈子
最新评论
-
大学时候收到信
有一个真理:世上没有真理
-- by yanshiyi -
Linux C中也有“ThreadLo ...
int pthread_setspecific(pthread_key_t ke ...
-- by 七猫 -
Linux C中也有“ThreadLo ...
这里面主要是fs这个后来引入的寄存器造成的。linux有关nptl的设计文档里提 ...
-- by 七猫 -
Linux C中也有“ThreadLo ...
这个东东有一定的历史,说起来话长,高效TLS的设计在以前硬件不支持的时候比较麻烦 ...
-- by 七猫 -
Linux C中也有“ThreadLo ...
刚刚看到boost::asio里有一段用posix API 来实现thread ...
-- by fredzhang






评论排行榜