易码技术论坛

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

[原创](文曲星端 lav版)LAVAX1.0编译器-横空出世

[复制链接]
 楼主| 发表于 2005-8-29 10:49:00 | 显示全部楼层
以下是引用柯南波特在2005-8-29 10:47:00的发言:[BR]yan,既然你都来了……能否考虑一下我的建议呢?
可以用lava直接编辑txt文件么~加入一些规范~类似说像void main等主函数自动输入~可以么??

这个...不是说不可以。是时间问题。
如果我要做编辑器来搭配我的编译器的话,我一定会采纳你的建议的。
发表于 2005-8-29 16:26:00 | 显示全部楼层
那个字符到底怎么用?给个方法!我在星星上就是不成功!

还有,不知道是不是BUG:
我在使用WriteBlock 函数时,会出现“没有声明......”错误信息,
我对照LAVA的帮助检查了N遍,仍然没找到错误,但编译器就显示出错,我没办法啊!

还有,提个建议,与“柯南波特”的意见差不多,
我编译时,把一个函数的大写字母写成了小写字母后,编译器就显示出错,我晕,那么长的代码我还得一个个找错误,麻烦啊,
我希望弄一个自动更正内部函数的系统,像VB的一样,
还有一个简单的且不符合实际的想法,就是取消大小写!

希望改正,期待!
[em02][em02][em02]
[此贴子已经被作者于2005-8-30 8:33:29编辑过]

发表于 2005-8-29 20:00:00 | 显示全部楼层
我的机是NC3K
void main(){
int i;
int j;
i=0;
for(j=0;j<=100;j++){
i=i+j;
}
printf("%d",i);
}

以上程序不能用,且在NC26上也不行,NC3上会死机,在NC26会乱码。
不知为什么,在NC3上,只要用了FOR好像就出问题
发表于 2005-8-29 21:41:00 | 显示全部楼层
补充一下,现在才发现我发的问题不全,
这样的程序是可以编译的,但是运行时会死机
两台机都会死机(NC26,NC3K)
NC2K坏了,所以没有办法试。
请大家试一试会不会啊,
发表于 2005-8-29 21:44:00 | 显示全部楼层
回101楼,WrintBlock
这个涵数是真的不存在的咧,
WriteBlock才存在,嘿嘿,
发表于 2005-8-29 21:50:00 | 显示全部楼层
我希望弄一个自动更正内部函数的系统,像VB的一样,
还有一个简单的且不符合实际的想法,就是取消大小写!

上面是引用,101楼
不会吧,这样都行吗?不过,如果是内部函数全部换成小写就好了,这样在星星上写代码就不用换来换去,真的是好差劲
不过,不要取消大小写,否则有时定义也不方便。如变量定义时,有时会有问题,不好,不支持他。
只支持内部函数全部小写。
发表于 2005-8-30 08:41:00 | 显示全部楼层
sorry,我打错了字母,已改正!
向YAN汇报一个BUG,就是不能用字符数组的问题,今天我测试了一遍,发现编译器遇到单引号就显示"出现非法"字符,所以包括单引号的语句都不能用,包括putchar('a');语句都不能用,显示出错,希望YAN改正!
发表于 2005-8-30 08:44:00 | 显示全部楼层
以下是引用zfuwen在2005-8-29 21:41:00的发言:[BR]
我的机是NC3K
void main(){
int i;
int j;
i=0;
for(j=0;j<=100;j++){
i=i+j;
}
printf("%d",i);
}

以上程序不能用,且在NC26上也不行,NC3上会死机,在NC26会乱码。
不知为什么,在NC3上,只要用了FOR好像就出问题补充一下,现在才发现我发的问题不全,
这样的程序是可以编译的,但是运行时会死机
两台机都会死机(NC26,NC3K)
NC2K坏了,所以没有办法试。
请大家试一试会不会啊,

你确认你的编译器是1.01版???????
用用这个试试
void main()
{
int i;
int j;
i=0;
for(j=1;j<=100;j++){
i=i+j;
}
printf("%d",i);
}
发表于 2005-8-30 14:20:00 | 显示全部楼层
帮忙看一下这个程序,问题出在哪儿:
void main()
{
char fun(a,b);
char a[20],b[10],*p,*q;
int i;
printf ("input 1th string:");
getc(a);
printf ("input 2th string:");
getc(b);
printf ("%s",fun(a,b));
}
char *fun (char *s,char *t)
{
int i,j;
for(i=0;s!='\0';i++);
for(j=0;t[j]!='\0';j++);
if (i<=j) return s;
else return t;
}
发表于 2005-8-30 14:40:00 | 显示全部楼层
LavaX中没有指针类型,所以类似
char *p,*q;

的语句是错误的.
发表于 2005-8-30 15:48:00 | 显示全部楼层
可问题不是这个,在星星上编译时提示:
         出现未知错误
发生在for(i=0;s!=0;i++);for(j=0;t[j]!=0
发表于 2005-8-30 15:53:00 | 显示全部楼层
先把指针类型的错误改正再查其他错误.
发表于 2005-8-30 17:18:00 | 显示全部楼层
lava里面为何不写一个与C语言中的scanf语句相同的函数,
那在输入时岂不会简单很多!!
发表于 2005-8-30 18:18:00 | 显示全部楼层
汗……取消大小写的呼声都出来了...-_-b
发表于 2005-8-31 20:37:00 | 显示全部楼层
太棒了~太棒了~
发表于 2005-9-1 15:26:00 | 显示全部楼层
楼主现在进展如何了,正式的什么时候就能出来?
期待.....
发表于 2005-9-1 18:55:00 | 显示全部楼层
已经确认了,是1。01(里面有说是支持sizeof的),NC3K,
3.2内核,不能用,所有循环都不能用,包括goto
要不就是乱码,要不就是死机,要不就是跳到别的地方。
请问一下,是不是别人都不会咧?
NC26也不能用。
发表于 2005-9-1 19:05:00 | 显示全部楼层
经验证,不管是NC26还是NC3,LAVA1和LAVA1。01所有循坏(包括goto)都能编译,但不能使用,运行会出错。不知别人的机会不会,
强烈要求作者首先更新此问题,
void mian(){
int i;
for(i=0;i<=10;i++){
printf("%d",i);
}
i=0;
while(i<10){
printf("%d",i);
i++
}
i=0;
ppk:
printf("%d",i);
if(i<=10){goto ppk;}
}
用以上代码试试,强烈支持作者!!!!!!!!
发表于 2005-9-1 19:23:00 | 显示全部楼层
真倒霉,我编了个菜单程序,用了N行!
竟然不支持elseif语句!!!!!!!
发表于 2005-9-3 07:48:00 | 显示全部楼层
以下是引用yan在2005-8-29 10:47:00的发言:[BR])
怪怪的。int是整形,要声明一个整形变量的格式为:int a;字符串int与变量a之间要有空格,声明已分号结束。

第二个  "int h"后也没分号!
[em01]
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2024-3-29 17:47 , Processed in 0.011550 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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