我的第一个系统软件:SNL语言编译器
这五一的三天一直在忙SNL语言编译器的中间代码/目标代码生成器。到现在这个时候,终于完成了V8.0发布版了。这三天没日没夜地干,真是一个字:爽!
编译器是一种系统软件,对于软件开发起着至关重要的基础作用。很难想像,发果计算机没有一个成熟的编译器的话,那么电脑用起来还能这么得心应手吗?甚至的可以说,微软之所以成功,一是其实现了操作系统操作的傻瓜化,二是其实现了可视化编程(VC、VB系统编译器,乃至到了现在的VS2008集成开发环境)。简便易用又强大的编程环境意味着能制造大量的应用软件,从而使计算机真正地为我们服务。而不是我们为它们服务!微软没有这些简化开发又功能强大的编译器,微软能拥有垄断到现在是不可想像的。 我现在实现的这个编译器,虽然只能对一个简单的教学语言(SNL语言)进行编译执行。不过到底说明了我已经能做系统软件了。这就是一个进步啊。呵呵。想想当年,在 1970年代,还在 哈佛大学读书的盖茨与伙伴保罗·艾伦一起为 Altair 8800电脑设计 Altair BASIC解译器。历史虽然已经是历史。但历史终究是人创造的。我们不是正在创造着历史吗?嗯,我喜欢创造! SNL语言说明:我们学校为了方便编译原理实验的教学而自定义的一门类pascal编程语言。这门语言主要特点是支持过程的嵌套声明,支持纪录(类似于C中的结构体),支持数组类型,支持字符类型,支持无符号整数类型。有基本的条件判断语句,循环语句。对于过程而言,定义了传址类型的参数(类似于C++的引用类型)。 以上谈到的功能我都实现了。说起来还是不错的。唯一的缺点就是我没谈到的---过程的递归调用。由于我的内存管理属于静态的,对于递归这种动态的变量容量申请无法满足。不过不要紧,对于一门编程语言来说,实现了上述的基本特点,对比汇编语言已经是相当高级了。 下载链接请看: http://lauo1188.download.csdn.net/ (源代码 及 可视化版SNL语言编译器程序) |
我的第一个系统软件:SNL语言编译器
最新推荐文章于 2021-03-10 22:11:51 发布
我的第一个系统软件:SNL语言编译器 |