我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 写了个编译器,放出来,大家看看 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

蜀山狂斩



性别: 保密 状态: 该用户目前不在线
等级: 希望之光
发贴: 1981
威望: 1
浮云: 1435
在线等级:
注册时间: 2004-02-27
最后登陆: 2011-11-23

5come5帮你背单词 [ count /kaunt/ vt. 数,计数,认为;vi. 计数,指望;n. 计数,总数 ]


写了个编译器,放出来,大家看看

解压后,直接"make all"就可以了

实现的语言是C-(不是C哈,文法和C相似而已),文法是kenneth c.louden给出的,实现的时候,改了一下,主要是数组做参数的时候要加方括号.

实现的时候我暂时把数组大小限定为10,每个程序允许最多20个函数,主要是我很多地方数组实现.

全局变量可以声明在所有的函数之外,也可以声明在main的里面.

程序的执行入口地址为main

salad把源文件编译为中间代码,就是tm虚拟机(由K.C.L实现,我只稍微改了一下)的汇编,我没有直接生成unix下的汇编,主要是考虑移植性,弄成java那种形式的样子,然后用虚拟机执行生成的以.tm结尾的文件,

包里面有两个例子程序.

写了10天,还是有点成就感,主要是调试了N久,汗一个,终于搞出来了.

注意,包的后缀要改为 .tar,gz 然后再解压


差点忘了,用tm执行.tm结尾的中间汇编文件的时候,会首先提示输入命令,输入g就可以了代表开始运行,比较古老哈

还有数组要声明在所有函数之外,必须为全局,同时,所有全局变量要先声明,再赋值.


[ 此贴被蜀山狂斩在2005-09-17 23:03重新编辑 ]
顶端 Posted: 2005-09-06 22:29 | [楼 主]
nicky1452



性别: 保密 状态: 该用户目前不在线
等级: 希望之光
发贴: 1951
威望: 0
浮云: 1155
在线等级:
注册时间: 2003-07-03
最后登陆: 2006-11-01

5come5帮你背单词 [ crisis /'kraisis/ n. 跛子,瘫子;vt. 使跛,使丧失生活能力 ]


顶,牛人
顶端 Posted: 2005-09-06 22:49 | [1 楼]
我来我网·5come5 Forum » Linux专区

Total 0.007668(s) query 6, Time now is:12-23 10:52, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号