BASIC语言到C语言的转换
ASTOC就是从BASIC语言到C语言的转换程序。其中BASIC语言可以是IBMPC BASIC、BASICA或者GWBASIC,转换后产生Microsoft C4.0版本的C语言。BASTOC可以将BASIC源程序直接转换成C语言的源程序代码,这尤其适用于熟悉BASIC语言而又希望进一步学习C语言的用户,也可以把BASIC源程序直接变成可执行文件,类似于一种新的BASIC编译程序。通过BASTOC转换的可执行文件的运行速度可提高1~2个数量级,并可克服BASIC语言数据和程序限制在64K的规定,甚至可以占用整个内存,从而大大地提高效率。
BASTOC包括了转换程序和由多种函数支持的运行态程序库。转换程序有MBAS.EXE和MBASC.EXE两种,前者适用于建立小内存模式的转换,数据地址空间限制在64K内,速度快效率高;后者适用于建立大内存模式的转换。一般的情况下只要程序不发生内存溢出,使用MBAS.EXE为好。运行态程序库有四种,分别支持不同的内存模式,其中MBS.LIB为小模式,编译标志是/AS;MBM.LIB为中模式,编译标志是/AM;MBC.LIB为紧凑模式,编译标志是/AC;MBL.LIB为大模式,编译标志是/AL。
安装好BASTOC后,可以十分方便地将某个BASIC程序转换成C语言源程序,并编译产生成可执行的EXE文件,例如:
MBAS [-标志] NAME.BAS NAME.C
其中NAME.BAS必须以ASCII码形式存盘,在BASIC下执行SAVE “NAME”,A即可。
MSC NAME.C[/编译选择]
LINK NAME,NEMA,[内存模式选择项]
如果不需要将BASIC源程序转换成C语言代码,而直接编译使用,可使用命令:
MBB[-标志]NAME.BAS[内存模式选择项]
尽管BASTOC能够迅速地将BASIC源程序自动转换成相应的C语言程序或编译成EXE文件,但是在某些命令上仍有所限制,主要有:CHAIN、COMMON、LOCK、PEEK、POKE、RUN、SHELL、SPOOL、UNLOCK、VARPTR、USR等,其中有的命令不影响转换工作但不产生相应的C代码,有的命令在某些内存模式下不支持,有的必须改写成相同功能的程序后才能被转换,详细的说明可参阅BASTOC使用指南。