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

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

蜀山狂斩



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

5come5帮你背单词 [ break /breik/ 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 | [楼 主]
u0u0



资源小王子奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 韩剧主力(曾经),FreeBSD fans
等级: 荣誉会员
发贴: 4710
威望: 6
浮云: 578
在线等级:
注册时间: 2003-11-22
最后登陆: 2011-01-13

5come5帮你背单词 [ sufficient /sə'fiənt/ a. 足够的,充分的 ]


我的编程技术。。。唉!!!
明天编译看看,有bug我提交上了。
顶端 Posted: 2005-09-06 22:57 | [1 楼]
u0u0



资源小王子奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 韩剧主力(曾经),FreeBSD fans
等级: 荣誉会员
发贴: 4710
威望: 6
浮云: 578
在线等级:
注册时间: 2003-11-22
最后登陆: 2011-01-13

5come5帮你背单词 [ threshold /'θrehəuld/ n. 起点,开端,门槛 ]


helloworld编译不过。

Quote:

#include<stdio.h>
int main()
{
     printf("%s\n","hello world");
     return 0;
}


#./salad hello.c

然后就是无限循环
>>> Syntax error at line 1: unexpected token -> ERROR: #
顶端 Posted: 2005-09-07 15:03 | [2 楼]
u0u0



资源小王子奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 韩剧主力(曾经),FreeBSD fans
等级: 荣誉会员
发贴: 4710
威望: 6
浮云: 578
在线等级:
注册时间: 2003-11-22
最后登陆: 2011-01-13

5come5帮你背单词 [ mainly /'meinli/ ad. 主要地 ]


C-啊!
没听说过。
顶端 Posted: 2005-09-08 08:36 | [3 楼]
u0u0



资源小王子奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 韩剧主力(曾经),FreeBSD fans
等级: 荣誉会员
发贴: 4710
威望: 6
浮云: 578
在线等级:
注册时间: 2003-11-22
最后登陆: 2011-01-13

5come5帮你背单词 [ practical /'præktikəl/ a. 实际的,实用的 ]


用简单的来树立信心是必要的^_^

最近被gtk弄得头大,连个fileselecter都搞不定,看了一些软件的源码,好像都是用glib实现的。
glib->gdk->gtk
3个都要看,崩溃求。
顶端 Posted: 2005-09-08 11:25 | [4 楼]
u0u0



资源小王子奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 韩剧主力(曾经),FreeBSD fans
等级: 荣誉会员
发贴: 4710
威望: 6
浮云: 578
在线等级:
注册时间: 2003-11-22
最后登陆: 2011-01-13

5come5帮你背单词 [ tortoise /'to:təs/ n. 乌龟 ]


Quote:
下面是引用rockins于2005-09-08 11:55发表的:
楼上的为什么不用pygtk之类包装过的呢

我学c写,不是学python。
顶端 Posted: 2005-09-08 12:24 | [5 楼]
u0u0



资源小王子奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 韩剧主力(曾经),FreeBSD fans
等级: 荣誉会员
发贴: 4710
威望: 6
浮云: 578
在线等级:
注册时间: 2003-11-22
最后登陆: 2011-01-13

5come5帮你背单词 [ mug /mΛg/ n. (有柄的)大杯 ]


latex是不是写科学文档那个东东?
也是很牛B的。
今天简单的装了个abiword,结果输入中文显示是圈圈,有待解决。

还有今天为了安装最新的gimp,升级了一下libexif,结果gnome就进不来了,提示找不到linexif.so.10
郁闷半天,最后这样解决了
ln -s linexif.so.12 linexif.so.10
顶端 Posted: 2005-09-08 12:30 | [6 楼]
u0u0



资源小王子奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 韩剧主力(曾经),FreeBSD fans
等级: 荣誉会员
发贴: 4710
威望: 6
浮云: 578
在线等级:
注册时间: 2003-11-22
最后登陆: 2011-01-13

5come5帮你背单词 [ stare /st/ə/ vi. & n. 瞪眼,盯,凝视 ]


刚看了google记录
http://172.24.17.1/bbs/read.php?tid=185241&toread=1&fpage=1

这个公司太巴实了。
顶端 Posted: 2005-09-08 12:54 | [7 楼]
我来我网·5come5 Forum » Linux专区

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