Gambas是一个基于BASIC解释器的全功能对象语言和开发环境。
它是在GNU通用公共许可证下发布的。
它的架构很大程度上受Java的启发。因此Gambas由以下组成:
- 编译器。
- 解释器。
- 存档程序。
- 一个脚本编写者。
- 一个开发环境。
- 许多扩展组件。
编译器是用C编写的快速小可执行文件:
- 它在我自己的Core2 Duo @ 2.33GHz上一秒钟内编译了大约500000条非空行。此速度允许快速编码/编译/测试增量开发过程。
- 它目前几乎没有进行任何优化,依赖于解释器在运行时执行此任务。
- 它使用GNU gettext工具管理和编译字符串翻译。
解释器是一个小的可执行文件,也用C编写,在64位系统上大约为508 Kb。
- 它通过间接访问几乎所有POSIX glibc功能,提供该语言的所有本机功能。
- 它按需加载类,在第一次运行时优化字节码。
- 类之间的链接完全在运行时完成。这是尽可能晚地完成的。因此, 即使是大型可执行文件也能快速启动。
最后,归档程序是一个从Gambas项目目录创建Gambas可执行文件的程序。
请注意,Gambas可执行文件只是项目的未压缩存档。它可以包括任何类型的文件,而不仅仅是编译的字节码,它可以由解释器在内部访问,就像文件系统一样。