2009/05/25 | basic编译器与解释器,vc6源码,basic ARM解释器源码开发成功啦
类别(开心灌吧) | 评论(0) | 阅读(521) | 发表于 09:31

basic mybas 编译环境与编译环境,用于windows,同时也可用于嵌入式系统!

做该软的原因:


    目前正在研究PLC方面的工作,需要一个编译器与解释器,所以在网上google了一下,发现VmBeta这个basic解释器,
感觉作者写的很不错,于是想把它放到嵌入式设备中运行,就简单的研究了一下!他把basic编译成汇编指令,然后
用虚拟机的形式来运行,可惜代码较大,在嵌入式系统中应用不太可行,于是我将汇编整理成bin码,在代码体积上
算是缩小了点,可是感觉仍是很大!于是我在我的basIDE环境中加了USE命令,把用到的函数和库文件用use
加入到工程,这样就相对的减小了代码!同时我想,如果不同用户写的函数或程序能为大家所用岂不是应用性就更强了呢?
于是,我把标准库函数和用户函数形成两个文件夹,用户可以随意修改和增减用户文件夹中的文件,然后在使用时通过
use命令即可调用,我增加了一个PLOT函数,用于画点和线的函数,这样用户可以做一些函数仿真,对于运行结果可以观测!
不管那么多了,在windows上实现后,我想在嵌入式板子上实现,于是我在ARM上实验了一下,没想到还真run了,不过效率不是太高!总之感觉还可以啦!

实现该软件的目的:

   我想对于一个控制系统,如果在windows上开发的程序经过仿真运行后得到的算法,能下载到嵌入式ARM上运行而得到相同的控制效果。
就能大大减轻用户的嵌入式开发工作量!做这个软件就是想达到这一效果,经过几天的努力,终于实现了自己的想法!在basic IDE 环境
中,编译后的文件有两大运行模式,一个是p run,就是在windows上运行仿真,一个是e run,就是在在windows上仿真嵌入式运行,
如果都没有问题了,生成的bin代码就可以下载到嵌入式目标机中运行,完成相应算法的自动控制!

 
bas:\stdlib           标准库函数,SIN!什么的,增加了PLOT!(x!,y!,max_x!,max_Y!)
bas:\function         用户函数,用户写的函数必须放到该文件夹下,才可以用use调用
bas:\examples         例子程序,有原来用户的函数和游戏,也有我增加的use函数调用例子,用户可在这里写上你自己的游戏或函数,这样大家都可以用了!

bas:\mybas.exe   basic IDE 环境,目前还不是很完善
bas:\vmbete.exe       basic  解释器


语法说明:参考 作者:林伟 skywindt@yeah.net

支持整型X,字符串型X$ 和浮点型X!等三种运算,
实现了数组,支持供函数和过程,行号并没有得到支持,
BASIC语法版本很多大概语法和DOS下的QBASIC那个版本差
不多,实现的语句有IF/GOTO/GOSUB/RETURN/SUB/FUNCTION
PRINT/THEN/ELSE/DIM/WHILE/WEND。注意,没有实现FOR
循环,如果你要循环自己用WHILE代替吧:-)

扩展:字符串可以无限长,是虚拟机做特殊支持的。支持
灵活的类型转化:
  B$ ="100"+"5"
  A=B$
  B$ =A+5
结果是A=1005,B$ ="1010"这样比原来的BASIC更具有灵活的
字符串处理能力。bool运算更加灵活0代表假,所有非零的
代表真,比如 A=(5+10*10=105)那么此时A的值是真,这也
是以前的Basic没有的地方。

具体的用法可以参考例子程序,有问题可以联系我

欢迎到下面网址浏览详细内容

http://shop57513653.taobao.com/

 

 
0

评论Comments