易码技术论坛

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

[工具] 编译器Y2.26最终版 08/5/10更新

[复制链接]
发表于 2007-10-2 21:28:59 | 显示全部楼层
我的TC808为什么不能用啊,,一编译就出错~~~
发表于 2007-10-3 14:04:38 | 显示全部楼层
我的也是TC808呀,没什么问题呀……
LS的是哪里出错?
发上来大家探讨一下
 楼主| 发表于 2006-12-28 12:23:48 | 显示全部楼层 |阅读模式
软件名称: 编译器.lav(Y2.26正式版)
软件大小: 105KB
软件类型: 编程工具(LavaX1.0)
使用范围: Lava 6K及以上(如:TC1000(S),TC808,TC800,NC2600C,NC3000,NC2000A(C),PC2300,PC2000A(C),PC1300,NC1020(N),CC980,CC880,CC800等)
软件说明:
1.符合LeeSoft的规范
2.LavaX3.5IDE编译,通过Lava 6K认证,基本上所有的机子都可以运行
3.编译通过"勇者斗恶龙","RPG_engine","Reader2_29"等大型源代码(由于RPG_engine的宏太多了,展开了一些^_^)
4.自带丰富强大的链接库,通过链接库可以方便制作4灰度、通信等特色软件
5.集成代码编写环境,关键字自动匹配,开发软件更加方便
6.强大的优化系统,使软件更加精简
7.庞大的帮助系统和函数检索为编写软件提供方便
更新日志:
Y2.06:完善了编辑系统,增加函数检索功能
Y2.07:在编辑系统中加入中文输入功能,改善了帮助系统
Y2.08:修改了编译核心的bug,比较完善地支持引用(具体用法在345楼),在编辑系统中使用双向链表技术支持大文件编辑
Y2.10:启用资源目录,即编译器所需要的文件放在独立的文件夹/CplData里还有DllData文件夹改为LibData文件夹。y文件支持全局变量,但不完善,谨慎使用,完善了编辑系统,详情请参见程序里的帮助
Y2.11:修改链接系统的错误,支持宏管理系统的导入
Y2.12:完善了结构体,共用体,引用,可以支持复杂的数据结构,变量不一定在程序头部初始化
Y2.13:编辑器自动缩进,检索自动添加参数
Y2.14:在编辑系统中添加检索编辑功能,增加了#code,#loaddata,#start,#unstart,#skip编译命令,强化了编译系统
Y2.15:修改了编译系统的bug,增加了NC3000的4灰度链接库
Y2.16:修改了链接库系统,增加了NC2600,TC1000和TC808的4灰度链接库,在编辑系统中增加了部分全角符号输入
Y2.17:更正了链接库系统和拼音输入法的bug,增加了新型的4灰度链接库和其他库,集成了资源管理系统
Y2.18:修正了结构体,无法删除*.h的bug,增加了卸载功能,在几个系统增加了即时帮助
Y2.19:增加了#delete编译命令,把#start,#unstart改成了#begin,#end命令,#include自动检索时不换行
Y2.20:优化了预处理系统,增加了对预处理命令#if的支持,并且#if,#ifdef,#ifndef可以嵌套使用,修正了引用引起的未定义错误,所有临时文件都改为放在/CplData文件夹中,修改了拼音输入法,在编辑系统中增加了变量插入功能,在帮助中的索引里,按字母键可以跳到以该字母开头的函数
Y2.21:修改符号输入的bug,美化了程序字体,修正了文件关闭的错误,应该不会出现僵尸文件了,软件支持了多级目录了,修正了演示程序无法编译的bug,更新了gameghost的malloc的库文件。
Y2.22:修改了goto的bug,增加了优化系统和批处理系统。
Y2.23:修改了优化系统的算法和几处bug,增加编译命令#secret(详见'帮助'→'语法'→'命令'),调整了编辑系统。
Y2.24:在编辑系统中增加了时间显示,在设置中增加了几条设置,包含命令支持路径,修正了sizeof的bug(具体参见'帮助'→'语法'→'语句'),添加了对函数指针的支持(参见:/LibData/fptr.y),增加了#attr编译命令。注意:由于修改了链接库系统,所以以前制作的y库不能在使用了,请重新编译!
Y2.25:编译系统增加支持不定参数的函数,增加抽象库。
Y2.26:修正编辑系统检索的bug,修正TC800版本界面和输入的bug。
//====================================================================
复杂数据结构举例:
  1. #include <stdio.y>
  2. #include <malloc.y>
  3. struct student
  4. {
  5. char name[20];
  6. int score;
  7. struct student &next;
  8. };
  9. void main()
  10. {
  11. int i, n;
  12. struct student& p,q, head = 0;

  13. SetScreen(0);
  14. scanf("Input member:", "%2d", &n);
  15. for (i = 0; i < n; i++)
  16. {
  17.   &p = malloc(sizeof(struct student));
  18.   if (!(&p))
  19.   {
  20.    printf("内存分配失败!\n");
  21.    getchar();
  22.    return;
  23.   }
  24.   scanf("name:", "%20s", p.name);
  25.   scanf("score:", "%2d", &p.score);
  26.   if (!(&head))
  27.   {
  28.    &head = &p;
  29.   }
  30.   else//这里&p,&head都看成引用本身(本质是指针)
  31.   {
  32.    &q.next = &p;
  33.   }
  34.   &q = &p;
  35.   &p.next = NULL;
  36. }
  37. &p = &head;
  38. while (&p != NULL)
  39. {
  40.   printf("name:%s score:%d\n", p.name, p.score);
  41.   getchar();
  42.   &q = &p;
  43.   &p = p.next;
  44.   free(&q);//释放空间
  45. }
  46. }
复制代码

遇到bug时,要说明是哪种机型,bug描述要详细点,不然会让我摸不着头脑。
在制作4灰度软件时,注意在源程序的结束处加SetGraphMode(1);切换到黑白模式,否则系统无法正常显示。
目前的4灰度库不支持printf,putchar,Circle,Ellipse函数。printf可以用TextOut函数代替。

问题1:对于无法找到程序目录或编译生成的lav文件不在虚拟机目录里,解决的方法是删除除了虚拟机目录以外的程序目录,虚拟机目录有/LAVA,/LAVA2,/GVmaker三种,如果你的虚拟机目录是/GVmaker,那么请删除/LAVA和/LAVA2,以此类推。再次进入程序,程序会自动存储该目录了。


[ 本帖最后由 yan 于 2008-5-10 11:05 编辑 ]
noname.jpg
noname1.jpg
noname2.jpg
noname3.jpg
noname4.jpg
noname5.jpg
noname6.jpg
noname7.jpg

手动安装包.rar

338.62 KB, 下载次数: 769

手动安装包

自动安装包.rar

209.25 KB, 下载次数: 964

自动安装包

编译器工程包.part1.rar

500 KB, 阅读权限: 1, 下载次数: 1069

包括编译器所有的代码和库代码,供大家学习和借鉴,不可使用于商业...

编译器工程包.part2.rar

409.17 KB, 阅读权限: 1, 下载次数: 992

包括编译器所有的代码和库代码,供大家学习和借鉴,不可使用于商业...

评分

参与人数 15小红花 +86 收起 理由
wcxbo + 5 精品文章
星柠檬 + 5 好东西 呵呵
emrocky + 5 什么也不用说。
BlackInk + 5 yan是好人。。。
CJJR + 5 啥也不说了

查看全部评分

 楼主| 发表于 2007-10-8 13:13:13 | 显示全部楼层
更新了,可能是最后一更了。
 楼主| 发表于 2007-10-8 13:15:17 | 显示全部楼层
这次开放了源代码,允许修改和发布,但是必须保留声明部分和不能用于商业用途!
发表于 2007-10-8 16:33:29 | 显示全部楼层
这么经典的东西收藏了.
发表于 2007-10-8 16:41:15 | 显示全部楼层
很好很好~~~~爽哉
发表于 2007-10-8 18:05:50 | 显示全部楼层
支持!!!

源碼很有研究價值呀!!!
发表于 2007-10-8 19:43:59 | 显示全部楼层
应该把“2.09正式版”改为“YAN最终版”
发表于 2007-10-8 20:09:35 | 显示全部楼层
工程包解压后有3M多
  巨大的工程啊``````````
  到此为止了
  看上传去的状况,以后也不会有什么DIY版了
发表于 2007-10-13 22:38:57 | 显示全部楼层
郁闷啊,刚刚发现最后两页一模一样,砍掉一页后居然两页一起消失了…………
发表于 2007-10-14 10:22:06 | 显示全部楼层
感觉已经好久没来了。刚来就见到这个最终版。相当长的更新过程啊,终于终结了?
还有连源码也一起……感动的不知说什么好了。虽然不一定看的懂。还是要支持。
发表于 2007-10-14 14:33:00 | 显示全部楼层
回帖竟然被砍了!
只好再顶一帖了~
支持!
永远支持yan!
发表于 2007-10-14 14:48:33 | 显示全部楼层
如此巨大的工程终于迎来了最终版...
这个东西使我和其它许多星迷们在WQX上编译程序成为可能...
它甚至提供了比PC端编译器更强大的功能...
十分感谢yan,向yan表示敬意!

[ 本帖最后由 Lumj 于 2007-10-14 14:50 编辑 ]
发表于 2007-10-14 17:04:26 | 显示全部楼层
致敬,向伟大的光荣的yan致敬。
yan是我的偶像。
永远的偶像。
为了yan,我决定更加努力的学习编程
发表于 2007-10-15 17:37:47 | 显示全部楼层
最终版~~~~~~

支持个

还开源了~

绝对支持
发表于 2007-10-19 22:34:37 | 显示全部楼层

大牛啊

牛。。。。。

还有。。。为什么老是提示函数过多,然后就神秘挂掉(TC800,1.2内核)

hello world都通不过,诡异。

(就是用的编译器集成的那段hello world代码,首先提示函数过多,然后编译时机子直接挂掉,具体表现为屏幕上出现竖着的斑马纹。。。。)

[ 本帖最后由 人民 于 2007-10-19 22:52 编辑 ]
发表于 2007-10-21 11:14:50 | 显示全部楼层
完美的终结
发表于 2007-10-21 12:57:19 | 显示全部楼层
支持```````````````````~~~~~~~~~~~~~~~~~~~~~~~~~~
发表于 2007-10-22 13:05:49 | 显示全部楼层
不知道YAN还常来易码吗?
我目前正在制作一个软件,在这过程中我确认这个编译器在编译含有结构体的代码时存在bug,具体一点说,是在编译具有较多结构体的代码时会出现"未定义的变量"的错误提示,而被指出的变量明显是定义过的.于是我的软件做不下去了,因为这个软件中结构体实在是太重要了.
我无法在这个帖子里用一个简单的测试程序来演示这个bug,但我有一段代码可以演示,我会在本周末上传(我现在在学校),不知YAN是否能来看看?

[ 本帖最后由 Lumj 于 2007-10-22 13:08 编辑 ]
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2025-5-14 06:36 , Processed in 0.021477 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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