我添加了NumberMap,它和StringMap相似,是一个以整数为键的Map。
如果你要了解NumberMap的用法或实现,请阅读NumberMap.hpp。
当然,目前的NumberMap仍然是临时的,我会在后续做出改动。
此外,我也稍加改动了其他依赖库,让它在后续更容易改动
代码位于src/data_type。
如果你想要直接引用所有数据类型定义,请直接引用DataType.hpp。
注意,所有的数据类型定义都存放在stamon::datatype这个命名空间里,所以如果你要使用数据类型定义,可以写以下代码
```C++
using namespace stamon::datatype; //引用数据类型定义的命名空间 ```
数据类型定义的设计比Ast节点的设计要简单得多(详见20230812.md):
有一个基类DataType,所有的具体数据类型都需要继承DataType。
接下来我们来简单介绍一下目录结构。
C++
data_type
|-DataType.hpp //在这里存放基类的定义
|-NullType.hpp //空值数据类型定义
|-NumberType.hpp //数字数据类型定义,具体定义了整数、单精度浮点数、双精度浮点数
|-StringType.hpp //字符串数据类型定义
|-SequenceType.cpp //数列数据类型定义
|-MethodType.cpp //方法数据类型定义
|-ClassType.cpp //类数据类型定义
|-ObjectType.cpp //类对象数据类型定义
如果你想要阅读数据类型定义的源码,建议按照以下顺序阅读