Stamon 文档站

回到首页
回到上一级

2023/08/25 工作日志

1. 提交了一些漏洞修复

  1. 修改了AnonClass节点(这些漏洞比较难解释,你可以通过对比源码来了解我更改了哪些地方)
  2. 修复了部分依赖库(ArrayList.hpp和Stack.hpp)
  3. 修复了AST代码,在原本的AST代码当中,将子节点的存储方式从值存储变成指针存储(详见src/ast下的源码)
  4. 修复了文档的一些病句(详细请对比20230812.md)

2. 更新了依赖库

我添加了NumberMap,它和StringMap相似,是一个以整数为键的Map。
如果你要了解NumberMap的用法或实现,请阅读NumberMap.hpp。
当然,目前的NumberMap仍然是临时的,我会在后续做出改动。

此外,我也稍加改动了其他依赖库,让它在后续更容易改动

3. 数据类型定义的代码已经全部完工

代码位于src/data_type。
如果你想要直接引用所有数据类型定义,请直接引用DataType.hpp。
注意,所有的数据类型定义都存放在stamon::datatype这个命名空间里,所以如果你要使用数据类型定义,可以写以下代码

#include"DataType.hpp"   //引用DataType.hpp
using namespace stamon::datatype;    //引用数据类型定义的命名空间

4. 数据类型定义的设计

数据类型定义的设计比Ast节点的设计要简单得多(详见20230812.md):
有一个基类DataType,所有的具体数据类型都需要继承DataType。

接下来我们来简单介绍一下目录结构。

data_type
|-DataType.hpp  //在这里存放基类的定义
|-NullType.hpp  //空值数据类型定义
|-NumberType.hpp    //数字数据类型定义,具体定义了整数、单精度浮点数、双精度浮点数
|-StringType.hpp    //字符串数据类型定义
|-SequenceType.cpp  //数列数据类型定义
|-MethodType.cpp    //方法数据类型定义
|-ClassType.cpp     //类数据类型定义
|-ObjectType.cpp    //类对象数据类型定义


如果你想要阅读数据类型定义的源码,建议按照以下顺序阅读

  1. DataType.hpp
  2. NullType.hpp
  3. NumberType.hpp
  4. StringType.hpp
  5. SequenceType.cpp
  6. MethodType.cpp
  7. ClassType.cpp
  8. ObjectType.cpp

5. 接下来要做的事

  1. 完成STVM的内部数据结构
  2. 对代码进行测试


查看该文件的提交记录