forked from MichaelRFairhurst/wake-compiler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtablefilespec.txt
37 lines (35 loc) · 2.85 KB
/
tablefilespec.txt
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
file = namelength (1 byte) | name | Properties | 0x00 | Inheritances | 0x00 | Parameters
where
Inheritance = parentnamelength (1 byte) | parentname | Bool extends (1 byte)
Properties = propertynamelength (1 byte) | propertyname | casinglength | casing | flags (1 byte) | Type
Types = Type*
Type = ClassType or LambdaType or ParameterizedType
ClassType = 0x01 | classnamelength (1 byte) | classname | shadow (1 byte int) | TypeCommon
LambdaType = 0x02 | ReturnType | Types | 0x00 | TypeCommon
ParameterizedType = 0x03 | labellength | label | (Type upper OR 0x00) | (Type lower OR 0x00) | shadow | typecommon
ReturnType = (0x01 | Type) or (0x00)
TypeCommon = arrayed | aliaslength | alias | specialtylength | specialty | optional
Memory Layout
File Property Classtype Lambda Parameterized ReturnType Typecommon Inheritance
------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------
| namelength | | namelength | | 0x01 | | 0x02 | | 0x03 | | 0x01 | | arrayed | | NameLength |
------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------
| name | | name | | namelength | | ReturnType | | labellen | | Type | | alias len | | Name |
| ... | | ... | ------------ | ... | ------------ | ... | ------------ | ... |
| ... | | ... | | name | ------------ | label | ------------ | alias | ------------
------------ ------------ | .... | | Types | | ... | OR | ... | | Bool extend|
| 0x00 | | casingl | | .... | | ... | | ... | ------------ ------------ ------------
------------ ------------ ------------ ------------ ------------ | 0x00 | | specialtyl |
| Properties | | casing | | ParamTypes | | 0x00 | | Type upper | ------------ ------------
| ... | ------------ ------------ ------------ ------------ | specialty |
------------ | flags | | 0x00 | | Typecommon | | Type lower | | ... |
| 0x00 | ------------ ------------ ------------ ------------ ------------
------------ | Type | | Typecommon | | shadow | | optional |
|Inheritances| ------------ ------------ ------------ ------------
| ... | | Typecommon |
------------ ------------
| 0x00 |
------------
| Parameters |
| ... |
------------