【问题标题】:QBasic language specQBasic 语言规范
【发布时间】:2011-05-27 12:18:29
【问题描述】:

我受到朋友的挑战,要在 QBasic 中编写 QBasic 编译器。

在哪里可以找到该语言最新版本的语言规范?

【问题讨论】:

  • 您是指 QBasic 1.1 还是 QuickBasic 4.5?
  • 挑战说明了早期版本的 Windows 附带的 QBasic 解释器。编译器必须在该版本的 QBasic 上运行,并且必须能够自行编译。我想这意味着 QBasic 1.1。
  • 你面临着相当大的挑战,因为 QBasic 是一种解释性语言,实际上不能编译代码。
  • 有趣的是,MS-DOS 附带的 QBasic 只是 QuickBASIC(IIRC 4.0,可能是 4.5)的精简版,它删除了编译器、二进制工具和“quicklib”支持。
  • 为了减少混淆,不,QBasic/QuickBasic 没有/没有在现有的传统实现中编译,但归根结底,没有理由不能在其中编译 QBasic 代码如果有人为它编写编译器,任何代码都可以被编译。

标签: specifications basic qbasic


【解决方案1】:

QB64QBasic 的一个很好的克隆/扩展,它有一个 wiki,其中包含一个非常详细的 language reference,按字母顺序、用法或 syntactically 排序。

注意:带有下划线 ('_') 前缀的关键字是不属于经典 QBasic 语言的扩展。

【讨论】:

    【解决方案2】:

    Microsoft 的 QBasic IDE 带有相当完整的语言文档和提供的例程。据我所知,这几乎是你能找到的最完整的规范,但除了未记录的 DOS 特定 peek/poke 魔法之外,它应该足以为(大部分)语言编写编译器。

    【讨论】:

    • 是的,QBasic 帮助文件包含所有命令的完整描述。
    • 也许也有用:在这里您还可以找到 QuickBASIC 3.0 的完整文档:ousob.com/ng/qbasic/ng320.php
    【解决方案3】:

    QuickBasic 4.5 可以编译成*.exe

    【讨论】:

      【解决方案4】:

      您只需在浏览器中输入以下内容即可找到最新版本:QB64 - 这就是现在称为/重做版本的 QBasic 的方式,具有更大的机会。他们有自己的论坛YT频道,甚至还有Discord

      【讨论】: