编译器
imxiangzi
这个作者很懒,什么都没留下…
展开
-
手把手教你编写一个具有基本功能的shell(已开源)
刚接触Linux时,对shell总有种神秘感;在对shell的工作原理有所了解之后,便尝试着动手写一个shell。下面是一个从最简单的情况开始,一步步完成一个模拟的shell(我命名之为wshell)的过程。这个所谓的shell和主流的shell还是有不少区别的,最大的区别是它本身不能执行shell脚本、也不能对一些复杂的命令行进行分析——原因很简单,我没有写相应的解释器。如果想自己实现一个简化的转载 2016-03-05 11:46:24 · 731 阅读 · 0 评论 -
lex和yacc 入门-- 计算器
lex 是自动生成词法分析器的工具,通过输入扩展名为.l的文件,输出词法分析器的C 语言代码。 flex是增强版的lex。 yacc是自动生成语法分析器的工具,通过输入扩展名为.y的文件,输出语法分析器的C语言代码。 bison是GNU项目所发布的yacc的功能扩充版。 myclac.l myclac.y 以上代码来之《自制编转载 2016-03-05 12:23:30 · 1313 阅读 · 0 评论 -
实现代码编辑器
上一次曾经发布过一篇如何实现一个代码编辑器。今年工作中得空,所以对这个编辑器进一步做了些更新,把名字改成了从CuteC改成了CEditor。主要是重写了软件的界面(最终还原朴素),重写了编辑控件语法高亮的着色方式,还有增加了一个简单的SSH客户端和SFTP文件编辑的功能。感觉基本的功能已经实现了,所以再次写点东西记录一下。并且发布一下编辑控件的源代码,有兴趣的可下载下来看看,虽然代码写得比较乱。转载 2016-03-05 12:24:12 · 1099 阅读 · 0 评论 -
C语言解释器的实现--序(零)
在写CuteC文本编辑器的同时,为了使之有脚本执行能力。特意实现了一个简易的C语言解释器,所谓的解释器,就是它是解析执行脚本文件的,并不产生可执行的目标代码。它具备了C语言的几乎全部的语法。随着时间的推移,我打算把它作为一个独立的项目来开发了。在这个过程中,自己也学到了不少的知识,所以也打算跟大家分享。写这些东西,虽然是重复发明轮子的事,但也不至于是在浪费生命。程序员嘛,我总觉得应该是要理解我们每转载 2016-03-05 12:24:55 · 2875 阅读 · 0 评论