最近心血来潮写了一个小型编译器,同时设计了一种小型的高级语言,支持字符型和整型两种变量类型,支持函数,支持条件语句,循环语句等某些高级语言共有的特性;并设计了一种简单的汇编语言,编译器通过扫描源文件,产生这种相应的汇编代码。最后虚拟机执行这种中间代码,显示程序运行结果。 因为自己的底子本来就不好,加之是第一次写没什么经验,编译器和虚拟机的缺陷很多,代码也写得不好。例如,支持的语言特性不够丰富,对变量的嵌套作用域(符号表)的处理太粗略,产生的中间代码没有优化,虚拟机对于内存申请的操作不够细化,等等。 编译器和虚拟机用标准c++写,在vc6和gcc编译通过。对这方面话题有兴趣的朋友可以来信交流相关技术。我的邮箱:
shadow_1331_zyw@163.com
另注:此前曾有朋友向本人索取源代码,本人如其所愿,但这些朋友连最起码的谢谢也不会,更别提交流,因此本人很失望。本人希望真诚的交流,而不是单纯的来信索取。如果我们都是热爱编译器这份技术,我仍然期待你的来信。
如果单纯是为了完成编译原理的课程设计,那么你要问问你自己,当初有没有认真去学。这种情况我是不会发送源代码的,请自重。