易码技术论坛

 找回密码
 加入易码
搜索
楼主: gameghost

[工具] [原创][星端编译器1.43(增加结构指针)][2006/12/23]

[复制链接]
发表于 2007-3-5 12:49:36 | 显示全部楼层
表不改啊,我就喜欢这个简约而不简单的编译器。。。
yan那个虽然功能多,但是显得臃肿。。。
发表于 2007-3-14 17:13:51 | 显示全部楼层
引用第238楼gameghost2007-03-04 22:32发表的“”:
这个编译器的确存在很多漏洞,缺陷在于编译器结构本身.
现在我也没时间继续改了,也没什么意义了.
我还是推荐yan的编译器^_^!
不会吧.....
gameghost别放弃啊,
要不公开源代码,让大家共同开发........
 楼主| 发表于 2007-3-15 11:23:59 | 显示全部楼层
公开源代码?!
没开玩笑吧?

有人要是告我你负责?
发表于 2007-3-15 11:38:36 | 显示全部楼层
谁搞?LEE?
发表于 2007-3-23 10:33:02 | 显示全部楼层
好东西啊 可惜我不懂C++语言啊 上大学在学吧 顶一下
 楼主| 发表于 2006-10-5 14:29:31 | 显示全部楼层 |阅读模式
【软件名称】  星端编译器1.43
【最新版本】  1.43
【软件作者】  gameghost
【适用平台】  所有支持LavaX20K的文曲星
【软件说明】  可嵌入汇编的LavaX1.0编译器

这里只说明附加指令,详细内容请看上传文件里的说明:

1.#asmdef [系统函数名] [系统函数指令地址] 定义汇编入口
2.asm [变量名]{[汇编程序]}声明数组并对其初始化汇编程序,数组的长度依汇编程序长度而定
3.Callasm([地址]) 调用汇编的宏指令
4.Putasm([常量地址]){[汇编程序]} 向常量指向的地址初始化汇编程序,初始化的长度依汇编程序长度而定
5.Putdata([常量地址]){[数据]} 向常量指向的地址初始化数据,初始化的长度依数据长度而定
6._LINE_ 系统变量(调试用),代表当前程序所在源程序的行号,类型为数字
7._TIME_ 系统变量(调试用),代表编译器编译当前程序时的时间,类型为字符串
8._DATE_ 系统变量(调试用),代表编译器编译当前程序时的日期,类型为字符串
9.支持(char *),(int *),(long *)
10.支持针对结构的指针

【软件截图】
GSmaker.GIF
【更新日志】
V1.1
1.修正读文件错误
2.修正汇编指令判断错误
3.修正行号显示错误
4.修正for的错误
V1.2
1.修正变量编译错误
2.增加字符串初始化方式: char a[]="str";
V1.21
修正指针的语法判断
V1.22
修正标号问题
V1.3
1.修正变量赋值问题
2.修正内部编译问题
3.增加对结构的支持
4._TIME_变为_TIME_和_DATE_
V1.31
1.修正文件结尾判断问题,编译汇编不必在后面再加东西
2.解决'#'问题(一个手误,晕~)
V1.4
1.修正了汇编的指令写入问题
2.增加对(char *),(int *),(long *) 的支持.
V1.41
修正标号问题
V1.42
修正其他问题
V1.43
修正汇编include问题
增加对结构指针的支持

结构指针的说明:
声明方式: struct [结构名] *[指针名]
成员访问方式 [指针名]->[成员名]

用法:

struct a{
char var1;
long var2;
}b;

struct a *c;

void fun(struct a *d)
{
printf("%d",d->var1);
}

void main()
{
b.var2 = 1234;
b.var1 = 99;
c = b;
printf("%d",c->var2);
fun(b);
}

结构指针相当于一个long型的变量,可以当作long型变量使用.

本来想加上变量的指针的使用,但是要改的东西是在是多一两天搞不定,有时间再加吧.

注意char *),(int *),(long *)是专对于LavaX1.0增加的,和其他的LavaX版本不同,此语法可以在所有LavaX1.0的平台上使用!
补充一句,编译的指针使用的是数组的指令,不是用'*'组成的宏,所以比其他的方式都快.


编译器支持全角字符的变量名

编译器的内存限制:
变量名最长 15 字节,超出的会被截去
变量最多150个
标号(LavaX中)最多150个
函数最多60个
常量最多150个
标号(ASM中)最多150个
数组下标最多9维
循环嵌套深度最大15层
再说一下struct的内存限制:
struct数量*21 + 总成员数量*38 < 0x800

编译器.rar

18 KB, 下载次数: 12700

发表于 2007-11-2 18:54:11 | 显示全部楼层
厉害,LZ强
支持!!!
发表于 2007-11-8 16:57:24 | 显示全部楼层
看到lava还是这么火我还是很激动啊。。。
虽然已经不玩WQX了,
但是永远支持lava编程
 楼主| 发表于 2007-11-9 21:13:59 | 显示全部楼层
......
LS....过了几层地狱才挖出来的................
发表于 2007-12-16 13:25:25 | 显示全部楼层
   :L :L :L
发表于 2008-3-28 23:02:09 | 显示全部楼层

回复 19# 的帖子

顶000000000000000000000000
发表于 2008-3-29 21:56:25 | 显示全部楼层

LS真是强悍的挖掘机啊。。。。
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-29 15:38 , Processed in 0.013899 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表