
编译器开发
pankun
这个作者很懒,什么都没留下…
展开
-
今天看到二个"编译器",有感.
作为一个立志研究编译器技术的IT从业人员,国人自已的编译器相关的东西比较少.今天在优快云上看到二条与编译器有关的新闻,我很是感兴趣,点进去一看,却是大失所望.先是第一个,题目是"中国人自已的编译器"根据链接进去一看,却是一个汉化了的ASM.我实在不知道开发语言非要和汉语扯上关系,然后就是中国人自已的了,更不要说汉化了的汇编语言?例如"mov eax, 0" 难道我敲成 "移动数据 数据寄存器,原创 2006-04-10 22:31:00 · 4769 阅读 · 22 评论 -
开始吧
从去年开始,一直想实现一个开源的,纯面向对象的开发语言,做为练手用.但是因为工作忙,一直抽不出来时间.最近闲下来了,准备开始着手设计这个东东 :-) 以我目前的水平和对各种不同类型语言的了解,还远远不能够对主流开发语言的语法,语义,抽象程度等方面做出好的创新.所以决定模仿一个成熟的开发语言,呵呵,还没走好当然不敢跑啦. 我的目标是实现一个语法类似于C#的语言,编译成自己定义的原创 2006-05-03 17:26:00 · 1939 阅读 · 2 评论 -
预处理器,词法分析器完成
预处理器,词法分析器完成,不过这二个只算是编译器中最简单的部分,前路漫漫呐.预处理器很简单,就是去注释.如果打算加上宏或编译指令支持的话,也不大难.词法分析器以前做过PASCAL语言的,这次实现的是一个类C#语言的,需要加上对字符串中转义符的支持.做编译器的好处是,能自己得到很多以前不了解的知识,比如一个语言为什么要这样设计,有的是技术上的限制,有的是语法语义上的考虑,这些都是书上学不到的东西.打原创 2006-05-10 18:08:00 · 2577 阅读 · 2 评论 -
Saipan编译器结构
我开发中的编译器名字暂时叫"Saipan" ,就是塞班岛的意思,那是个美丽的地方.目前它分为已下几个模块预处理->词法分析->语法分析->语义分析->字节码生成 以及 符号管理,类型系统,属性管理,错误处理 等几个部分,并在语法分析和语义分析中完成一些属性的计算.各个模块大概功能如下:预处理: 目前只是简单的去注释 (已完成)词法分析: 将源代码拆分成一个个的标识符原创 2006-05-19 23:46:00 · 2207 阅读 · 1 评论 -
编译器开发: 利用图的拓扑排序算法,计算源代码文件之间的依赖关系
我们平常所使用的主流编译器,都具有多源代码文件支持.例如把一些类定义在相应的文件中,要使用到这些类时,需要包含定义这个类的文件(如C++),或引用类所在的名字空间(如JAVA),或将这个文件作为单元引用(如Object Pascal) 当我们自己要实现一个支持多源代码文件的编译器时,需要在编译某个源代码文件之前,先编译这个源代码所引用到的文件.例如有一个源文件 a.src,里面定义了原创 2006-05-22 23:10:00 · 4589 阅读 · 0 评论