Commit Graph
100 Commits
Author SHA1 Message Date
Krzosa Karol 41d2baa56b We are working! POLYMORPHS There was an error where we have to reconstruct exact
typespec from type. This means we will probably have problems with namespaces!!
2023-04-02 15:07:47 +02:00
Krzosa Karol c4b27bf604 WOO YEE Basic polymorphism for untyped values, not working for typed expressions yet 2023-04-02 14:14:30 +02:00
Krzosa Karol 7203589915 Fix losing type pointer in constant type value 2023-04-02 12:53:20 +02:00
Krzosa Karol f8e78c8ee4 Factor 2023-04-02 12:36:02 +02:00
Krzosa Karol 18c0af2b99 Factor 2023-04-02 12:33:00 +02:00
Krzosa Karol 6320d705a1 Fix folders again 2023-04-02 12:17:40 +02:00
Krzosa Karol 031cc2c5af Use core/linked_list.h 2023-04-02 12:15:36 +02:00
Krzosa Karol e2140817df Using For from Array 2023-04-02 12:13:11 +02:00
Krzosa Karol 9dfa539563 Using ForArrayRemovable 2023-04-02 12:12:21 +02:00
Krzosa Karol ad5c692506 Previously it wasnt working but now its working, TRUST ME 2023-04-02 11:23:36 +02:00
Krzosa Karol 9bb355ed93 core build system and array, it compiles! 2023-04-02 11:16:13 +02:00
Krzosa Karol 2be13cee30 Fix BIG Bug. Win BIGLY 2023-04-02 10:58:30 +02:00
Krzosa Karol 14c83a7c5f Small Messages 2023-04-01 20:57:44 +02:00
Krzosa Karol 7a369d801a Fix? ordered_remove in loops 2023-04-01 20:56:34 +02:00
Krzosa Karol 2ce696b04b PushStruct lambda working yay 2023-04-01 20:38:54 +02:00
Krzosa Karol 3c70b45be4 Fix matches list 2023-04-01 20:36:36 +02:00
Krzosa Karol 96ce6765fe unique_name sheningans 2023-04-01 20:32:29 +02:00
Krzosa Karol e8f82f643a Cleanup compile time variables from generated code 2023-04-01 19:54:03 +02:00
Krzosa Karol 3d8dfd49fd Fix polymorph invalid resolved_decl in call 2023-04-01 19:45:04 +02:00
Krzosa Karol 7bf3e107bb Polymorphic procedure, with passed in compile time type but without removing the type in params etc. 2023-04-01 19:40:12 +02:00
Krzosa Karol 3d438645a0 Polymorphs nested structs 2023-04-01 14:31:41 +02:00
Krzosa Karol 2c19658115 Skip resolution of polymorphs 2023-04-01 12:22:45 +02:00
Krzosa Karol 7674984f4a Propagate polymorph to declaration 2023-04-01 12:20:44 +02:00
Krzosa Karol 96d87390bc Propagate polymorphic to lambda 2023-04-01 12:16:38 +02:00
Krzosa Karol 21c9a57d96 Comments 2023-04-01 11:54:52 +02:00
Krzosa Karol 4f80cff8e1 Replace set_flag_typespec with iterator! 2023-04-01 11:50:11 +02:00
Krzosa Karol acf64024b9 Move iterator to AST 2023-04-01 11:44:49 +02:00
Krzosa Karol 9e077d4d88 Unique names for polymorphic types 2023-04-01 11:43:26 +02:00
Krzosa Karol b14979d754 We are generating basic polymorphic types! 2023-04-01 10:30:07 +02:00
Krzosa Karol db3790016d Polymorphs, recursice typespec tagging 2023-04-01 10:11:12 +02:00
Krzosa Karol 5fb4999ca8 Polymorphs 2023-04-01 09:28:35 +02:00
Krzosa Karol e2ae8005bb Printing di's proprly 2023-03-31 22:45:51 +02:00
Krzosa Karol b6835d0f6a Copying and printing the copy 2023-03-31 22:44:11 +02:00
Krzosa Karol e70d544029 Core printing 2023-03-31 22:28:18 +02:00
Krzosa Karol dd61594794 Add core printer file 2023-03-31 21:43:44 +02:00
Krzosa Karol d552716b49 Add di's to ast_copy 2023-03-31 21:40:39 +02:00
Krzosa Karol 61f8c5c825 Removing polymorph from test 2023-03-31 17:52:10 +02:00
Krzosa Karol 0e01b785f1 Remove decls from lambda scope after resolution 2023-03-31 17:42:19 +02:00
Krzosa Karol b2e8012afa Change name Scratch_Scope to Scoped_Arena 2023-03-31 17:39:00 +02:00
Krzosa Karol 277404fe95 Iterator + start to add core to core codegen 2023-03-31 17:38:32 +02:00
Krzosa Karol 1839279235 Fix iterator traversal order 2023-03-31 12:41:19 +02:00
Krzosa Karol 534db633ed Untested ast iterator 2023-03-31 08:56:25 +02:00
Krzosa Karol 77bcc74a64 ast_copy 2023-03-31 08:33:09 +02:00
Krzosa Karol aaf1b2f2d9 Cleanup + little polymorph + ast_copy 2023-03-31 08:19:26 +02:00
Krzosa Karol 21c8ceff03 Baby steps struct polymorphs 2023-03-29 21:36:26 +02:00
Krzosa Karol 58a46b46e6 cleanup notes 2023-03-29 21:35:53 +02:00
Krzosa Karol 000cc7a813 cstring_compare 2023-03-29 21:17:26 +02:00
Krzosa Karol cf8478e941 polymorphism.core 2023-03-29 11:42:54 +02:00
Krzosa Karol d8c80fb7a3 Add polymorph token 2023-03-29 11:42:40 +02:00
Krzosa Karol 710fbf431b Iterating type infos nicely 2023-03-29 10:25:25 +02:00
Krzosa Karol 7dcd53587e Type info uses slices now! Fixed a case of slice needing to have a completed type 2023-03-29 10:22:43 +02:00
Krzosa Karol cb630951fd Compound expression for union 2023-03-29 10:06:55 +02:00
Krzosa Karol c9072711b5 Declaring variables of type works 2023-03-29 09:54:15 +02:00
Krzosa Karol 9b91f77cf0 Union type sizing and code generation 2023-03-29 09:52:24 +02:00
Krzosa Karol b572f4ef7c Parsing union 2023-03-29 09:34:33 +02:00
Krzosa Karol fa26e9d218 Factor 2023-03-29 09:27:38 +02:00
Krzosa Karol e13b4b7f25 Clang format + meta fix 2023-03-29 09:24:30 +02:00
Krzosa Karol c97bb4272b Clang format on hpp 2023-03-29 09:11:17 +02:00
Krzosa Karol 0622811a87 Cleanup string format. Using stage_arena 2023-03-29 08:40:35 +02:00
Krzosa Karol b0633c84f4 Allocator cleanup + '_' skips tests 2023-03-29 08:32:24 +02:00
Krzosa Karol 7da3e27c05 Cleanup 2023-03-29 08:14:36 +02:00
Krzosa Karol 1c5f6731a4 demo1.core 2023-03-29 08:05:39 +02:00
Krzosa Karol 67b966cb5b Fixed bad error message when no return value + compound inferred type 2023-03-29 08:03:43 +02:00
Krzosa Karol 0804a76f7e push_struct.core 2023-03-28 22:11:16 +02:00
Krzosa Karol 9f8023ac5c Missing change 2023-03-28 21:47:14 +02:00
Krzosa Karol 622a5bd487 Factor 2023-03-28 21:43:28 +02:00
Krzosa Karol 5495f96b3b Clang format 2023-03-28 21:16:10 +02:00
Krzosa Karol f53d5dd1f2 Remove ast_visit 2023-03-28 21:14:41 +02:00
Krzosa Karol 90c96f1495 Mark it as complete 2023-02-11 11:12:10 +01:00
Krzosa Karol 391df593a2 Trying to do some code generation 2023-02-11 10:32:11 +01:00
Krzosa Karol 27d9ad3ddc Fix slice codegen inside calls. Add core_free_compiler 2023-02-10 09:59:06 +01:00
Krzosa Karol dd6dc60d8b Actually substitute token array. init_language_core.
Seems like perf improved
2023-02-10 09:49:46 +01:00
Krzosa Karol 6f8a7ba6c8 Fix arrays in tuples error in C gen. Better api for getting unique name. 2023-02-10 09:04:27 +01:00
Krzosa Karol d41da94c80 Add string as struct, Fix void pointer indexing
compound for String is not working but maybe that's fine
2023-02-09 20:17:48 +01:00
Krzosa Karol 5e8b3739af Propagating constants in operator overloads 2023-02-09 16:11:16 +01:00
Krzosa Karol 0029e0688b Fix type incomplete of argument in away procedure that has a pointer to
that that is never used outside of procedure definition. We emit void.
2023-02-09 14:41:02 +01:00
Krzosa Karol 7370e8b716 Using arena as token array, remove arenas idea 2023-02-09 12:36:36 +01:00
Krzosa Karol 5138ba0097 Misc changes 2023-01-01 20:08:07 +01:00
Krzosa Karol 1121e4aa84 Expose time stats 2023-01-01 19:59:27 +01:00
Krzosa Karol aa994c999a Get rid of clib in big int, introduce message api, add stringify message 2023-01-01 19:51:35 +01:00
Krzosa Karol ec66f02e46 Cleanup iterators, remove logging, add message queue 2023-01-01 19:18:42 +01:00
Krzosa Karol 3de813212a Add todos 2023-01-01 17:50:22 +01:00
Krzosa Karol d6a5df8d95 Cleanup iterators 2023-01-01 17:44:27 +01:00
Krzosa Karol d120d05eee Move types to Core_Ctx 2023-01-01 16:27:42 +01:00
Krzosa Karol d441abcddb Move operator infos to Core_Ctx 2023-01-01 16:14:47 +01:00
Krzosa Karol 34928e3977 Move interns into Core_Ctx 2023-01-01 14:23:59 +01:00
Krzosa Karol 647958b72d Getting rid of globals 2023-01-01 14:17:37 +01:00
Krzosa Karol c238e5ba46 Organization cleanup, stage arena to Scratch_Arena 2023-01-01 13:15:20 +01:00
Krzosa Karol 39f46900b2 Cleanup includes, remove stdio.h from base 2023-01-01 12:58:57 +01:00
Krzosa Karol c5539276ae Working on simplifying configurable allocation scheme 2023-01-01 12:40:58 +01:00
Krzosa Karol 8c0a8bf72b Working on simplifying the allocation scheme 2023-01-01 10:48:06 +01:00
Krzosa Karol d10b72057e Block based arena 2023-01-01 00:38:19 +01:00
Krzosa Karol d5179bb596 Small allocator changes, fix crash 2022-12-31 21:05:13 +01:00
Krzosa Karol ffd6bc5d23 Remove pernament arena 2022-12-31 18:02:48 +01:00
Krzosa Karol 55515ff420 Introduce the allocator stuff again 2022-12-31 16:51:01 +01:00
Krzosa Karol e20edaa3a2 You can use compiler_interface hpp outside 2022-12-31 14:53:40 +01:00
Krzosa Karol 23db7cc5c4 Add Core compiler interface 2022-12-31 14:47:47 +01:00
Krzosa Karol 673db72e29 Misc changes 2022-12-31 14:16:46 +01:00
Krzosa Karol e07ad3c86d Module changes, found Type_Incomplete error 2022-10-14 17:20:46 +02:00
Krzosa Karol a60df75cc3 Rename Windows.core 2022-10-14 07:07:06 +02:00