Qubic状态更新报告-2018年10月3日

Qubic状态更新报告-2018年10月3日

九月份的工作全部是关于测试Qubic编程语言Abra并创建Abra编写的初始支持库。在创建支持库时,需要验证各种想法。这引起了一个平行的项目,即使用Java创建了一个简单的Abra语言解析器。解析器允许我们在运行Abra编译器之前对代码运行语法完整性检查。为了便于构建解析器,我们为Abra语言创建了一个EBNF语法图

直接构建此解析器的过程会对Abra语言语法进行一些更改,从而更容易解析和分析语言。此外,在构建支持库时,很明显由于Abra trit(三字节)矢量数据类型的固定大小性质,存在大量重复编程。这导致添加了类似模板的功能,允许我们创建通用函数,然后将它们实例化为所需的trit(三字节)矢量大小。

与此同时,我们的一位Discord社区成员ben75设法使用EBNF语法图在IntelliJ IDEA平台上为Abra实现了一个非常棒的语法高亮指示这对我们创建支持库代码来说是一个很大的帮助。这个社区永远总是给我惊喜。

一旦解析器/分析器正常工作,就决定将它作为解释器快速实用的运行Abra代码。这允许我们可以在没完成针对特定平台编译的基础上,运行Abra代码并对其进行测试。它还允许我们通过在执行Abra代码时逐步调试Java解释器代码来支持库代码。

我们很高兴地报告说,大多数基本库函数完全按照设计工作,只需要修复一些小细节。在这个阶段发生的最令人惊讶的事情是,到目前为止,我们写的最复杂的函数,即整数乘法函数,完美地完成了bat!令人惊讶的是,当我们编写此代码时,只能在我们脑海中试运行。

虽然我们尚未创建相应的整数除法函数,但实现算术,逻辑和条件运算的函数已经证明在我们可以使用它们实现多个测试函数的正常工作。支持库中最令人印象深刻的部分可能是我们可以将这些函数定制为任何所需的trit向量大小的方式,这允许我们拥有大多数其他编程语言无法比拟的大量整数范围上的本地执行整数运算。例如,我们定义了一个整数数据类型,我们命名为Huge,它是一个tits向量81 trits long,可以表示从负到正的221,713,244,121,518,884,974,124,815,309,574,946,401范围内的值!我们甚至测试了6561 trit数据类型,该数据类型应该包含IOTA签名,并且发现它可以表示长度高达3131位的整数。并且整数运算函数将适用于所有这些函数!对解析器的进一步工作将允许它生成Abra代码的三进制表示,准备包含在通过缠结发送的Qubic消息中,并将该三元代码转换回可由解释器运行的原始表示。

这可以证明非常有助于加快获得Qubic的工作概念证明的过程,直到可以完成更强大的端到端功能版本。

有关Qubic计算模型的文档库进展很顺利。它的规模已经变得非常大,因此我们决定将它分成多个部分。前两部分目前正在审核中,第三部分预计将在10月的第一周准备就绪。

目前计划以下部分:

  1. Abra处理模型的概念性概述。
  2. Abra中基本实体的概述。
  3. Abra编程结构的概述。
  4. Abra的一些包含有关其工作方式的详细信息示例。
  5. Qubic Dispatcher及其与Abra的互动。

对我们来说,最终看到本月第一个正在运行的Abra项目非常令人兴奋!我们希望能够尽快与社区分享文档和编译器,以便您可以开始使用它并为我们的Abra工作做出贡献。

福利:
Abra Syntax Diagram

单击上面的链接可查看Abra语言的语法图。

原文链接:https://blog.iota.org/qubic-status-update-october-3rd-2018-1cb7db5c850d

tigermumu

专栏作者:tigermumu

个人简介:坚定不移的贯彻以推广和普及IOTA为核心一百年不动摇

作者邮箱 作者主页 Ta的文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注