Mercurial > repos > rhope
annotate runtime/blueprint.h @ 120:cd25171e1bb2
Use List for Subsets instead of a Dictionary for performance reasons. Fix issue with List literals. Compiled compiler is now self-hosting.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 21 Oct 2010 23:55:15 -0400 |
parents | 3c4325e6298f |
children | 9fab36cc706b |
rev | line source |
---|---|
39 | 1 #ifndef BLUEPRINT_H_ |
2 #define BLUEPRINT_H_ | |
3 | |
4 #include "object.h" | |
5 #include "func.h" | |
6 | |
42
aabda74c7a88
Fields can now be defined to have naked primitive types
Mike Pavone <pavone@retrodev.com>
parents:
39
diff
changeset
|
7 Box(blueprint *,bp,Blueprint) |
39 | 8 |
9 object * make_Blueprint(int32_t type_id); | |
66
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
10 |
49
3e20ed8959c4
Added initial FFI implementation, Array type and 64-bit integers
Mike Pavone <pavone@retrodev.com>
parents:
42
diff
changeset
|
11 int32_t _internal_blueprint_eq(object * left, object * right); |
39 | 12 |
66
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
13 typedef struct { |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
14 blueprint * bp; |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
15 } lt_Build; |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
16 |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
17 typedef struct { |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
18 blueprint * bp; |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
19 } lt_BlueprintSP_Of; |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
20 |
83
27bb051d631c
Initial implementation of Dictionary
Mike Pavone <pavone@retrodev.com>
parents:
66
diff
changeset
|
21 typedef struct { |
27bb051d631c
Initial implementation of Dictionary
Mike Pavone <pavone@retrodev.com>
parents:
66
diff
changeset
|
22 object * id; |
27bb051d631c
Initial implementation of Dictionary
Mike Pavone <pavone@retrodev.com>
parents:
66
diff
changeset
|
23 } lt_ID; |
27bb051d631c
Initial implementation of Dictionary
Mike Pavone <pavone@retrodev.com>
parents:
66
diff
changeset
|
24 |
87
3c4325e6298f
Add First@Dictionary (need to find mem man bug)
Mike Pavone <pavone@retrodev.com>
parents:
83
diff
changeset
|
25 typedef struct { |
3c4325e6298f
Add First@Dictionary (need to find mem man bug)
Mike Pavone <pavone@retrodev.com>
parents:
83
diff
changeset
|
26 uint32_t type; |
3c4325e6298f
Add First@Dictionary (need to find mem man bug)
Mike Pavone <pavone@retrodev.com>
parents:
83
diff
changeset
|
27 } lt_BlueprintSP_FromSP_ID; |
3c4325e6298f
Add First@Dictionary (need to find mem man bug)
Mike Pavone <pavone@retrodev.com>
parents:
83
diff
changeset
|
28 |
39 | 29 #endif //BLUEPRINT_H_ |