Commit Graph

46 Commits

Author SHA1 Message Date
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
106704b956 Improve enums with metamethods 2024-02-24 15:24:44 -05:00