易码技术论坛

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

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

[复制链接]
发表于 2005-9-16 14:37:00 | 显示全部楼层
对了,那个遇到单引号就出错的BUG修正了没?
 楼主| 发表于 2005-9-16 18:32:00 | 显示全部楼层
以下是引用cassius在2005-9-16 11:50:00的发言:[BR]编译器里自已添加上的宏定义不能调用??
那有什么用啊??
要写到 内置中??


可以调用自己添加上的宏定义!“内置”这个文件夹只是系统预先装好的,里面含有常用定义,如NULL,SEEK_SET,EOF等,如果你不需要,也可以删除的。

使用文件夹是为了方便管理宏定义,使得类似的宏定义可以放在同一个文件夹,用以区别其他的宏定义,但本质上是一样的。
 楼主| 发表于 2005-9-16 18:41:00 | 显示全部楼层
以下是引用chenyanyi在2005-9-16 14:37:00的发言:[BR]对了,那个遇到单引号就出错的BUG修正了没?


从来就没有这个bug啊,我用1.00版及以上版本都没有出现这个bug,我看了你发的帖子,也编译了一遍,没有出现你所说的bug。
发表于 2005-9-16 18:58:00 | 显示全部楼层
如果多个#include  编出来的文件会出现乱码
 楼主| 发表于 2005-9-16 19:29:00 | 显示全部楼层
对于#include命令,限制比较多,与c语言的语法不怎么相同。

比如:#include"y.h"

int a;

void main(){......}

那么程序将y.h文件打开并插入到主程序中。假设y.h中的代码是:int a;void c(int e){......}

那么经过预处理后便是:int a;void c(int e){......}int a;void main(){......}。这样在编译是编译系统就会报错[变量重复定义]。所以必须将#include命令放在全局变量之后。最好在头文件里不包含全局变量,因为;假设a.h中的代码是:int a;void e(){......}。g.h中的代码是:char i;long o(){......}。主程序是#include"a.h"

#include"g.h"

void main(){......}

那么经过预处理后便是:int a;void e(){......}char i;long o(){......}void main(){......}。这样也是错误的。

所以使用#include要注意,不应该在头文件里定义全局变量,定义全局宏。以免造成不必要的错误。
发表于 2005-9-17 09:26:00 | 显示全部楼层
不会吧,我在星星编了好多次,只要遇到单引号就出现“非法字符”的信息,

你编译怎么会没事?难道是TC800机器缘故????郁闷
发表于 2005-9-17 09:39:00 | 显示全部楼层
兄弟。请别贴那么大的图,浏览起来不爽啊

 楼主| 发表于 2005-9-17 09:40:00 | 显示全部楼层
不是吧!我在TC800,NC2600C及电脑上的虚拟机都正常编译啊。
发表于 2005-9-17 09:55:00 | 显示全部楼层
你在星星上输入的单引号是什么样的?

是这样么?

char a={'a'};
 楼主| 发表于 2005-9-17 10:19:00 | 显示全部楼层
数组才可以这样写的吧。char a[]={'a'};变量只能这样写:char a='a';

还有文曲星的符号集里有两个很像单引号的,后面一个才是单引号。别输错了。
发表于 2005-9-17 10:35:00 | 显示全部楼层
呵呵,楼主变成LAVA老师了...
 楼主| 发表于 2005-9-17 10:44:00 | 显示全部楼层
不得已啊。
发表于 2005-9-17 11:21:00 | 显示全部楼层
哦,我用的是前面的[em04][em04][em04]谢谢拉
发表于 2005-9-17 11:22:00 | 显示全部楼层
对了,字符串能用{}么?
 楼主| 发表于 2005-9-17 11:47:00 | 显示全部楼层
比如:char a[][10]={"oien","asdfe"};
发表于 2005-9-17 15:27:00 | 显示全部楼层
是原先在ggv大奖赛的那个吗?

太好了  

你证明他了  加油改进吧

特别是宏定义的那块 最好能把他改成字符串替换的方式 我最近也在写编译器

表达式一定要优化哦要是1+2+3+4+5还不翻译成15的话就....太憋屈了 
 楼主| 发表于 2005-9-17 19:55:00 | 显示全部楼层
宏定义是用字符串替换的方式。不过表达式没有优化的^_^!
发表于 2005-9-18 10:47:00 | 显示全部楼层
哦,明白了,多个字符串就用多维数组,


对了,我在编的时候,

在设置里设置了宏,可是在程序里它不替换!显示未定义!WHY?
 楼主| 发表于 2005-9-18 11:11:00 | 显示全部楼层
你是怎么操作的?(我分析一下)
发表于 2005-9-19 17:55:00 | 显示全部楼层
呵呵,发现本软件最大特点之一,就是速度~~~SO SLOW~~~

还好,现在方便多了。
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2024-4-29 10:05 , Processed in 0.012587 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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