|
469b1e0679
|
Fixes for opaque external structs
|
2025-03-16 13:35:58 -04:00 |
|
|
1f6e586b2a
|
Support external structs with namespaced methods (also C-strings are now
`const char*` instead of `char*`)
|
2025-03-11 17:49:04 -04:00 |
|
|
fb2d7b5379
|
Add extern structs
|
2025-03-11 17:03:03 -04:00 |
|
|
888a977132
|
Modify compile_type_info() so it no longer needs an env_t
|
2025-03-11 15:54:06 -04:00 |
|
|
cab9ea0aad
|
Improve codegen for optional struct types
|
2025-03-11 13:44:02 -04:00 |
|
|
294b712e6d
|
Don't use '$' prefix for field names
|
2025-03-11 13:18:30 -04:00 |
|
|
147e0f0269
|
Overhaul of constructors, making it more consistent and correct. Also
changed T(), T, T_t, T_s type names to T(), T$$info, T$$type, T$$struct
for unambiguity
|
2025-03-05 18:20:54 -05:00 |
|
|
b89291957a
|
Restructure compile_file() so it moves a bit more towards less usage of
side effects
|
2025-02-19 16:30:19 -05:00 |
|
|
481beaf40e
|
Fix sequencing issue with typedefs for structs/enums
|
2025-02-10 14:58:40 -05:00 |
|
|
dbdd3bacf5
|
Remove redundant declaration
|
2025-02-10 14:17:33 -05:00 |
|
|
3dd7854076
|
Add optimized metamethods for enums and structs that hold packed data
|
2024-12-22 15:53:26 -05:00 |
|
|
f66f8ad711
|
Add serialization and deserialization
|
2024-11-29 18:09:12 -05:00 |
|
|
4b5e4cd1f2
|
Change how types handle metamethods
|
2024-11-29 12:55:14 -05:00 |
|
|
fb683a2b1b
|
Organize typedef headers so the typedefs come before the namespace
members
|
2024-10-30 14:02:34 -04:00 |
|
|
a0178a1e0c
|
Bugfix for empty struct typeinfos
|
2024-10-30 02:44:15 -04:00 |
|
|
839c1983a0
|
Reduce padding needed for optional types and clean up some redundant
type padding
|
2024-10-08 21:10:36 -04:00 |
|
|
954ed42934
|
Simplify enum/struct codegen by using reusable general-purpose
metamethods for structs/enums instead of metamethod codegen for each struct/enum
defined.
|
2024-10-08 13:35:18 -04:00 |
|
|
1a6ce0047b
|
Rename TypeInfo -> TypeInfo_t and fix up some typeinfo code
|
2024-09-30 14:39:30 -04:00 |
|
|
ed8b8901c0
|
Add '$' prefix on all user code
|
2024-09-24 14:54:22 -04:00 |
|
|
2158bb97fc
|
Clean up struct code a bit
|
2024-09-18 01:01:15 -04:00 |
|
|
c455e7b67d
|
Rename builtins/ -> stdlib/
|
2024-09-13 20:18:08 -04:00 |
|
|
34c562e88e
|
Move cord helper functions into their own file
|
2024-09-13 14:23:24 -04:00 |
|
|
43f4f3610e
|
For single-member structs/enums, don't print the member name
|
2024-09-12 04:09:52 -04:00 |
|
|
210179ee67
|
Optional enums (deprecated custom tag values)
|
2024-09-11 12:29:48 -04:00 |
|
|
dee3742b48
|
Optional structs
|
2024-09-11 12:01:17 -04:00 |
|
|
bac14fa6c7
|
Fully clean up siphash code and fix some issues
|
2024-09-05 16:23:05 -04:00 |
|
|
82849ba783
|
Use Text("...") literal constructor instead of Text$from_str("...")
function call.
|
2024-09-03 15:00:28 -04:00 |
|
|
b0a8404bd7
|
Fix enums/structs
|
2024-09-02 19:18:21 -04:00 |
|
|
61e482f6f3
|
Initial WIP first past
|
2024-09-02 18:47:39 -04:00 |
|
|
752ab8212c
|
Split BigIntType out of IntType and switch to using enums for the size
of ints/nums
|
2024-08-18 11:49:51 -04:00 |
|
|
37669b1734
|
Bugfix for Int64$hash() being referenced
|
2024-08-17 15:07:22 -04:00 |
|
|
2c79bf2d71
|
Remove reference to Num$hash
|
2024-08-13 04:31:29 -04:00 |
|
|
25519d2434
|
Fixing up more stuff
|
2024-08-13 02:28:14 -04:00 |
|
|
99b00530ce
|
Change structs/enums so they allow for field/tag names that are C
keywords
|
2024-08-03 16:39:04 -04:00 |
|
|
87785555ec
|
Fix for order of operations issues with enum and function typedef code
|
2024-07-23 19:46:42 -04:00 |
|
|
78960b1461
|
Randomize hash key on startup and rename to TOMO_HASH_KEY.
|
2024-07-04 16:46:24 -04:00 |
|
|
1621968fc8
|
Fix issue with bitfields
|
2024-06-17 17:31:50 -04:00 |
|
|
32e82fdbe3
|
Remove some dead code and support -l as a tomo flag
|
2024-06-16 18:09:54 -04:00 |
|
|
9f8be0c502
|
Support library name as a separate environment field from namespace
|
2024-06-16 16:08:35 -04:00 |
|
|
7a53e10826
|
Fix issue with type namespaces not getting properly prefixed by library
namespace
|
2024-06-16 15:12:00 -04:00 |
|
|
8c7d530080
|
Split header compilation into a separate function
|
2024-06-06 16:28:53 -04:00 |
|
|
7e275af628
|
Get rid of struct constructor
|
2024-05-21 20:54:09 -04:00 |
|
|
b1db4fd0f6
|
Improve codegen for enums and structs (change $tag$Foo$Baz to
Foo$tag$Baz)
|
2024-05-21 20:14:57 -04:00 |
|
|
760f46e71c
|
Reduce codegen output for enums without data attached to any tags
|
2024-05-21 13:42:33 -04:00 |
|
|
7aa6b2a496
|
Make autogenerated equality method more compact
|
2024-04-23 13:24:01 -04:00 |
|
|
4c5dc9443e
|
Rename SSS_HASH_VECTOR -> TOMO
|
2024-04-14 21:58:49 -04:00 |
|
|
04d9adc813
|
Switch naming convention to use '$' in symbols more
|
2024-03-29 12:54:31 -04:00 |
|
|
d94c1057ac
|
Improve codegen for enums by eliminating unnecessary methods
|
2024-03-18 14:11:56 -04:00 |
|
|
bff3666d60
|
Don't print dollar signs in string representations of structs
|
2024-03-18 13:53:03 -04:00 |
|
|
df2e01c15e
|
Add some better file comments
|
2024-03-18 12:47:07 -04:00 |
|