|
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 |
|
|
3dd7854076
|
Add optimized metamethods for enums and structs that hold packed data
|
2024-12-22 15:53:26 -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 |
|
|
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 |
|
|
0829e1a2d1
|
Clean up enum code
|
2024-09-18 00:58:41 -04:00 |
|
|
03a7d5f44d
|
Overhaul of header logic so it now uses topological ordering and
deduplication for libraries with multiple files.
|
2024-09-17 16:20:30 -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 |
|
|
aeed1992e9
|
Fix nearly every GCC warning and add __attribute__((pure/const)) where
appropriate
|
2024-09-08 17:17:15 -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 |
|
|
74f7c875e0
|
Dim the secret ellipsis
|
2024-08-19 14:53:51 -04:00 |
|
|
6f3b2c073a
|
Add enum.tag as a way to do a boolean test for whether a value has a
particular tag or not
|
2024-08-18 20:58:36 -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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
df2e01c15e
|
Add some better file comments
|
2024-03-18 12:47:07 -04:00 |
|
|
5f3dac786c
|
Clean up codegen for empty tagged data
|
2024-03-17 22:17:21 -04:00 |
|
|
6905f759e5
|
Empty enums use a singleton instead of a constructor
|
2024-03-17 22:06:55 -04:00 |
|
|
655b677895
|
Preface symbols with file prefix
|
2024-03-17 20:40:40 -04:00 |
|
|
a33f730617
|
Rearranging some files
|
2024-03-10 00:03:21 -05:00 |
|
|
77c9669d41
|
Change lang stringification to include type name
|
2024-03-09 18:32:36 -05:00 |
|
|
955f047e06
|
First pass at lambdas/closures
|
2024-03-09 14:02:19 -05:00 |
|
|
8427037bb9
|
Refactor table methods to take table structs where possible
|
2024-03-08 14:33:54 -05:00 |
|
|
03f8742eb7
|
Fix namespace initializers
|
2024-03-06 12:41:18 -05:00 |
|
|
558c8588ee
|
Fix default values for structs
|
2024-03-05 12:55:38 -05:00 |
|
|
e29aa52460
|
Struct and enum methods and static members
|
2024-03-04 13:51:47 -05:00 |
|
|
23478e7036
|
Rename as_str -> as_text
|
2024-03-03 18:16:33 -05:00 |
|
|
8fab88c56f
|
Rename Str -> Text
|
2024-03-03 18:15:45 -05:00 |
|
|
ea7fcd85b4
|
Make load method be "use$name"
|
2024-03-03 15:04:36 -05:00 |
|
|
c72d4ec8eb
|
Make constructors actually functions for enums
|
2024-03-03 14:12:40 -05:00 |
|
|
bde2a0b338
|
Cleanup/fixes
|
2024-03-03 13:44:22 -05:00 |
|
|
ec7a9e5f10
|
Initial pass at namespacing
|
2024-03-03 13:04:50 -05:00 |
|