1

因此,作为 10 年级卓越中心的学生,我们需要为自己购买 TI-84+ 计算器。这是德州仪器的计算器。该公司创建了一种名为TI-BASIC的高级编程语言(在快速谷歌之后,它源自原始语言 BASIC。)现在,我一直在网上筛选,但我想我只是达到了表面。我觉得我什至没有打过粘土,这就是我认为我在这个话题上的模糊程度。在那张纸条上,如果我的语言不正确,我很抱歉。:/

我设法遇到了许多编译器,它们将纯文本文档 (.txt) 直接编译为 TI 8 系列程序文档 (.8Xp)。所以我的问题是:

  • 如何创建自己的编译器?
  • 计算器读取什么低级语言?
  • 转换时我知道我需要使用正则表达式,但我应该将它转换成什么?
  • 最后,我是否只是将其写入 TI-BASIC 并将其插入计算器?

在这一点上,事情似乎让我非常困惑。这个话题只是浮现在我脑海中的表面。

4

2 回答 2

2

如果你真的想为计算机创建一个 TI-BASIC “编译器”,你需要看看所有东西都有什么标记。TI-BASIC 的理念是,像If,Disp实际上都是 1 或 2 字节的标记,在计算器运行时会被计算器解析,解析意味着它们每个都实时执行一系列指令,这是一个相对较慢的过程(比如脚本)。这是令牌列表。因此,实际上只需将所有内容转换为各自的代币即可。过去我真的不知道 .8xp 文件结构是如何格式化的,你必须用谷歌搜索(很多人都这样做过,像Omnimaga这样的计算器表格可以帮助你)。

如果您只想在计算机上使用一个而不是制作一个,您可以使用TokenIDE,我认为它是最好的之一,但还有其他的。

此外,正如评论所说,计算器的基础语言实际上是 Z80 汇编(因为 CPU 是 Z80 才有意义),并且有一些语言实际上从计算器令牌变成了编译的汇编,有点像 C++,最流行和令人惊讶设计了一个是Axe Parser。如果您想在不完全学习汇编的情况下使用计算器的更多低级功能,这很有帮助,但它确实需要您学习 Ax 语言,如果您不熟悉指针和数据的存储方式,这可能会很棘手在记忆中。真正的汇编可以以 .8xp 格式直接传输到计算器,但格式不同,因此它知道数据实际上是操作码而不是令牌,并允许您使用Asm(命令运行它。

希望有帮助。

于 2014-02-13T09:37:50.763 回答
1

如今,您可以使用TI Connect CE对TI-84+ 程序进行编码并将其轻松传输到您的计算器,因此对独立编译器的需求减少了。

但是我一直在寻找一种方法来预处理我的一些程序以去除注释,提供一些额外的语法糖,并优化文件大小。

在这种情况下,需要一个命令行 8XP 编译器。我发现了几个尝试这样做的项目,但没有一个项目看起来真的很强大:

从头开始编写编译器将涉及:

  1. 了解 8XP 文件格式,请参见此处

  2. 将相关文本字符串转换为二进制“令牌”。这些 页面 解释了令牌和用于每个令牌的十六进制字节。

如果其他人有更多信息,在此处记录会很有用。

于 2022-02-25T03:09:04.183 回答