You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 25, 2020. It is now read-only.
A [Reference] contains all the variable structures. It contains all the system-required method names hashed, ther corresponding IDs
61
+
and their structures. This will be written in CBIL, and compiled to the same bytecode above.
62
+
A [Library] contains all the code linked to the system-required methods. The names of each method should match that of the [Reference]. This will be
63
+
written in CBIL, and compiled to the bytecode above.
64
+
A [structure] is something to define the structure a variable/object that will be stored in the stack. Think of classes.
65
+
66
+
A variable will be stored in a variable dictionary with the id and it's corresponding type and hashed name.
67
+
An object will be stored in an object dictionary with the id and it's corresponding type and hashed name.
68
+
69
+
0x0A: A 2-byte variable structure ID follows. This will be the ID that will identify the variable type. (MNEMONIC: var)
70
+
0x0B: A SHA1 object structure ID follows. This will be the ID that will identify the object type. (MNEMONIC: obj)
71
+
0x0C: A 0x0000 goes in front of it to define the end of the structure (MNEMONIC: n/a)
72
+
0x0D: Defines the start of a method, it then is followed by a hashed string, the object id, and the flags (stack: array of N variable structures as it's arguments) (MNEMONIC: [name][id][flags]:)
73
+
0x0E: Defines the start of a class, it is then followed by a hashed string (the id of the object). (MNEMONIC: class [name]:)
74
+
0x0F: Namespace name (MNEMONIC: namespace [name]:
75
+
76
+
All methods + variables in a class would be names [namespace].[class].[name] to give each class an unique id name
0 commit comments