VB到底可以做什么? (Viking compiler)

这是一个老生常谈的问题了,每每有人提及,总能在论坛上引发争论,今天要说的一个给本人带来极大震撼的东西:Viking compiler and IDE

在几个月以前,当我看完<<编译原理>>并由此写完sqlbroker的语法分析后,我深信VB是可以写编译器的,但是当时我没有想到真的有人可以去做到这一点,并且是生成完全的PE文件。然而这个世界上总有一些牛人存在,Viking的出现可以说是我本人至今为止看到的最震撼的VB代码。

Viking有自己的语法,并且有简单的IDE,它的语法可以说是SDK的一种扩充,但作者本人对PE格式的了解,API的调用,编译原理的掌握,实在是让人PF得不行,尤其是能够毫无保留地将代码share出来,这种精神也很可贵,虽然这个作品的没有什么实用性(至少我看不到),但这种为了兴趣而编程,因为编程而兴奋的境界,更是我等应该学习的。

如果大家对这个东西有兴趣的话,不妨去看看它的代码,作者在下面回复中说了他所参考的几处资源,不知道Viking能走多远,能发展到什么地步,但它的出现,已经是一个创新了。

转载于:https://www.cnblogs.com/progame/archive/2004/07/05/21480.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.VB是什么? VBvisual Basic的简称,即初学者通用符号代码,是很容易入门的语言,从BASIC发展而来。 2.学VB有什么用? VB是一门编程语言,所以能用VB的很多很多,基本上除了底层开发(系统软件),VB都能,而且在数据库应用方面VB也有他独到的一面。 3.如何学好VB(请详细说明) 这不是一句两句可以说清楚的。给你一个学习的过程: 3.1.入门,这段时间你应该学会VB的基本语法,基本语句和基本控件等。能够写一些简单的计算程序就算可以乐。比如写一个解1元2次方程的程序,写一个求解两数的最新公约数的程序等等。 3.2.开始VB界面的一些东西,了解控件,窗体的使用,事件,方法、过程和函数等。 3.3 开始用类设计VB程序。封装一个VB类。学会VB中类的使用方法。 3.4 学习使用API增强程序的功能。 3.5 这是转入学习C语言,不一定要很强,能懂一些语法就行,当然能够深入的话,就可以转C++乐。 3.6 有乐C的基础,就可以去学习数据结构乐。数据结构很重要,一定要学好。 3.7 开始在VB里面尝试实现数据结构,比如一个链表,vb没有指针,所以不能向c那样链表,但我想这时候你应该知道怎么乐。 3.8 开始尝试游戏,不同的程序,自己想的东西。 3.9 深入VBVB到了这个阶段,深入是很困难的了。需要API的帮助。一些窗口回调,挂钩等程序。 4.0 你已经有相当的VB经验了,这时候要确定一个方向了,比如游戏编程directx,比如大数据量的数学计算,人工智能等等。。。 4.1 等等等 5.VB可以作什么程序? VB的太多了,除不不能开发ddk程序,不能开发sys,vxd其他的基本都能。(呵呵,开发OS肯定不行了。) ,而用VB个图书管理系统,医院管理系统等毕业设计,是再快速和简便不过的了,功能也可以的非常强大,现在好多流行软件也用VB开发。当然Delphi也很好使。
这个标题,相信大家已经期待很久了。。 经过一个寒假的努力,终于完成了梦寐以求的小机专用的BBasic编译器。 配合我的小机版连接器,完全可以在小机上生成BIN文件,从而实现梦寐以求的小机编程。 再加上尘曲写的那个小机LibMaker,天狼星的MapEditor,可以完整地构成了小机专用的开发环境。 现在说明开发包里各程序的的操作方法: Name: BBCompiler.cvm Function: 编译你所写的源程序 Usage: 1.用小机上的记事本写下自己的源程序,并将其改名为“Base.txt”,无需更改目录。 2.打开cvm虚拟机,运行BBCompiler.cvm。你将看到选择界面,此时按确认键开始编译,编译完成,将在A盘Source目录下生成Test.Txt为汇编文件。 3.编译过程中若出现错误,请用电子图书打开A盘Source目录下的Reports.Txt,根据提示修改程序中的错误。 需要注意的: 1. 修改了出现在原编译器上的Put,Seek语句不支持逗号后接常量的Bug. 2.数组的各下维间必须用逗号来分隔。 3.由于生成了Temp文件,以致无法正确定位行号,各位请原谅。 4.字符串常量是直接保存到汇编文件中的,不会改变其大小写,因此你可以放心地插入汇编。 5.支持了十六进制,八进制,二进制常数,表示法为&H001(十六进制数),&O44(八进制),&B00101(二进制)。 6.支持两种流程控制语句,break(跳出该层循环)和continue(继续本次循环)。 7.一行语句总字节大小不得超过256B。 8.除INPUT语句外,(我想这个在彩屏机上也没有意义),其他语句均支持。 Name: BBLinker.cvm Function: 连接汇编码 Usage: 请看我以前的帖子,这里不再赘述。 需要注意的: 请看我以前的帖子,这里不再赘述。 Name: LibMaker.cvm Function: 创建资源文件 Usage: 1.在A盘根目录下创建一个文件夹,名字可以随意取。 2.将资源图片(*.Bmp)全部拷贝到该文件夹下,并按资源ID顺序重命名(如:1,2,3..)。 3.启动cvm虚拟机,运行LibMaker.cvm。 4.按提示输入文件夹名和资源图片数,开始生成资源文件。 5.生成完毕,将在该文件夹下创建一个与该文件夹同名的Lib文件,这就是你要的资源文件了。 需要注意的: 若不知道如何输入请参看我以前的帖子。 在此图示一下操作步骤: 编译->连接->将A:\Source目录下的Test.Bin改为你想取的名字->拷贝到BBasic文件夹下[创 建资源文件->拷贝到BBasic文件夹下]->启动BB虚拟机,调试程序。 其中[]中的内容可省略。 如果还有不懂的请跟帖或在QQ上问我。 注意一下: 1.程序均为cvm语言编写,cvm虚拟机请自行下载并安装。 2.未经原作者同意,不可随意对源码进行篡改或转载,也不允许对程序本身进行任何反向操作。 3.如有Bug请通知原作者本人。 谢谢合作。 小机编译器,连接器,LibMaker均在此,请自行下载并解压到小机根目录下以安装 下载信息 [文件大小:18.3 KB 下载次数:294] 点击浏览该文件:bbtools.rar 再此希望大家能够支持我。 谢谢。 Copyright(C)BBK club All rights reserved 2011
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值