Commit Graph

56 Commits (generics)

Author SHA1 Message Date
cosmonaut a0efcf548d more generic stuff 2021-05-15 12:47:38 -07:00
cosmonaut e5e5397e7e start on generic codegen 2021-05-14 11:55:44 -07:00
cosmonaut a529bb6e4f started work on generics 2021-05-14 11:55:44 -07:00
cosmonaut 41bf2bece8 some minor style revisions 2021-05-14 11:53:09 -07:00
venko f441e5bede Possibly implements full type annotation of the AST 2021-05-12 21:54:09 -07:00
venko 32541d4794 Fixes bugs in LookupId 2021-05-08 15:12:53 -07:00
venko aa2449f7df Implements identifier lookup. 2021-05-08 14:51:15 -07:00
venko 252dc9b87f Disambiguates scopes where ordering matters vs ones where it doesn't 2021-05-08 12:09:25 -07:00
venko 743828450c Explicitly sets IdNode type tags on creation. 2021-05-07 17:51:23 -07:00
venko 5ab3cc533d Adds type tags to the id-tree 2021-05-07 17:49:35 -07:00
venko e2bca66dc4 Adds null-guard to PrintIdTree 2021-05-07 14:36:37 -07:00
venko fddacae487 tiny refactor 2021-05-07 14:19:56 -07:00
venko 71ba1f9454 Minimizes memory footprint of id-tree search 2021-05-07 14:07:57 -07:00
venko 565d815deb Adds error message to FindId, extra test code in main 2021-05-07 13:35:28 -07:00
venko 8f86392cf3 Makes id-tree doubly linked. Fixes id-tree search. 2021-05-07 13:22:51 -07:00
venko 27587d1fb0 Implements identifier trees for for-loops and conditional branching 2021-05-06 20:00:08 -07:00
venko aeb36f9540 Adds type for validating identifiers 2021-05-06 17:17:24 -07:00
venko 6ec5479db1 Moves strdup function to utility file 2021-05-06 17:15:17 -07:00
cosmonaut cbeb8d3ce2 printing 2021-04-30 12:17:44 -07:00
cosmonaut 3b43d44f35 add type specification to iterator variable 2021-04-30 00:50:35 -07:00
cosmonaut 62f42e47b9 initial for loop range implementation 2021-04-29 23:49:35 -07:00
cosmonaut c728dd6b8c if-else chains 2021-04-29 15:26:30 -07:00
cosmonaut 708d4de0ae add else blocks 2021-04-29 13:59:00 -07:00
cosmonaut 7ca87d6b13 parser sequence refactor 2021-04-29 12:42:51 -07:00
cosmonaut a320086038 add if statement 2021-04-28 21:25:25 -07:00
cosmonaut 9a97b73c7c rename compiler to codegen + handle file not found 2021-04-28 16:10:17 -07:00
cosmonaut 49183bf1d3 restructure build process 2021-04-28 16:01:48 -07:00
cosmonaut 272c809c69 input option parsing 2021-04-28 15:21:51 -07:00
cosmonaut ca1835f98d starting a heap alloc system 2021-04-28 12:49:45 -07:00
cosmonaut 8e7cc00789 basic nested type resolution 2021-04-24 13:53:21 -07:00
cosmonaut b00cde2193 started expanding type system 2021-04-24 12:59:30 -07:00
cosmonaut c4c916a2de static function lookup 2021-04-22 22:37:23 -07:00
cosmonaut b344635c8d new type declaration style 2021-04-22 21:16:37 -07:00
cosmonaut a2e5cb434b note 2021-04-22 20:13:55 -07:00
cosmonaut fe8ff346bb add readme 2021-04-22 19:34:58 -07:00
cosmonaut acb6c61922 function calls 2021-04-22 17:19:35 -07:00
cosmonaut e4cf57ef74 oops 2021-04-22 10:32:29 -07:00
cosmonaut 28402f534a emitting linkable object code 2021-04-22 10:27:39 -07:00
cosmonaut c2efcbd7d2 add static modifier 2021-04-22 00:35:42 -07:00
cosmonaut a75b7a0818 add optimization transforms 2021-04-21 22:48:55 -07:00
cosmonaut c2b4cd4b4a some cleanup 2021-04-21 22:26:34 -07:00
cosmonaut 26ffaf45d4 fix function argument + add _ptr suffix 2021-04-21 21:38:58 -07:00
cosmonaut c6507fdcb7 scope refactor 2021-04-21 21:29:38 -07:00
cosmonaut e3fd821d8f add custom types and local allocation 2021-04-20 23:51:26 -07:00
cosmonaut 48d049b6c9 optimize struct field reads 2021-04-20 19:40:39 -07:00
cosmonaut 180583d772 improve field storage pattern 2021-04-20 19:07:11 -07:00
cosmonaut 2708dfbbed compile struct functions 2021-04-20 19:00:18 -07:00
cosmonaut b5d256251e support function calls 2021-04-20 10:47:40 -07:00
cosmonaut 5c147d80ec basic compilation structure 2021-04-19 18:18:45 -07:00
cosmonaut 392ce41e97 initializing compiler structure 2021-04-18 15:45:06 -07:00