-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathClasses.cs
81 lines (70 loc) · 1.77 KB
/
Classes.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ElfParser
{
class Module
{
public string Name { get; }
public List<Variable> VariableList { get; }
public Module(string name)
{
Name = name;
VariableList = new List<Variable>();
}
public void AddVariable(Variable var)
{
VariableList.Add(var);
}
}
class Variable
{
public string Name { get; }
public string Type { get; set; }
public int Address { get; set; }
public int[] ArraySize { get; set; }
public int ByteSize { get; set; }
public List<Variable> VariableList { get; }
public Variable(string name)
{
Name = name;
Type = "";
Address = 0;
ArraySize = new int[2] { 1, 1 };
ByteSize = 0;
VariableList = new List<Variable>();
}
public void AddVariable(Variable var)
{
VariableList.Add(var);
}
}
class Typedef
{
public string Name { get; }
public List<Member> MemberList { get; }
public Typedef(string name)
{
Name = name;
MemberList = new List<Member>();
}
public void AddMember(Member member)
{
MemberList.Add(member);
}
}
class Member
{
public string Name { get; }
public string TypeName { get; }
public int RelAddress { get; }
public Member(string name, string typeName, int relAddress)
{
Name = name;
TypeName = typeName;
RelAddress = relAddress;
}
}
}