1pub mod range;
2
3use std::collections::HashMap;
4
5use crate::node::Node;
6use self::range::*;
7
8
9pub type RegisterType = SimpleDataType;
10
11#[derive(Debug, Clone, Copy)]
12pub enum SimpleDataType {
13 Unknown,
14 Zero,
15 NonZero,
16 Bool,
17 Pointer(Pointer),
18 I32(I32),
19 U32(U32),
20 }
22
23
24#[derive(Debug, Clone)]
25pub struct MemRecord(pub HashMap<String, MemItem>);
26
27
28#[derive(Debug, Clone)]
29pub enum MemItem {
30 Inst(Node),
31 Data(DataBlock)
32}
33
34
35#[derive(Debug, Clone)]
36pub struct DataBlock {
37 datas: Vec<Data>
39}
40
41#[derive(Debug, Clone)]
42pub struct Data(pub Vec<u8>, pub SimpleDataType);