Commit Graph

73 Commits (generics_retry)

Author SHA1 Message Date
venko 3553269fb0 Refactors out identcheck and typeutils code 2021-05-31 17:03:18 -07:00
venko a65fea070a Removes extraneous semicolon 2021-05-30 13:20:17 -07:00
venko 7f2ca56b73 Applies clang-format 2021-05-30 13:07:12 -07:00
venko 7d5f599712 Lots of bug fixes for id lookup 2021-05-29 18:27:30 -07:00
venko e3fc2826ea Reimplements identifier lookup to work over the AST 2021-05-27 16:17:25 -07:00
venko ece20a99b5 Fixes printing bug for string literals 2021-05-27 14:10:44 -07:00
venko a69516b917 Fixes typo and removes unused variable. 2021-05-27 11:53:01 -07:00
venko 4f8f4fbe9e Adds back FIXME comment 2021-05-26 14:53:08 -07:00
venko ddd5b2f027 Implements generic recursion over AST nodes 2021-05-26 14:43:51 -07:00
venko eb24206e13 Imlements custom to generic type conversion 2021-05-24 19:20:23 -07:00
venko 79d4715799 Moves generic type identifiers to be the first children of a function in the id-tree 2021-05-23 17:04:50 -07:00
venko d48995716e Adds handling for generic AST nodes in PrintNode and SyntaxKindString 2021-05-23 16:58:59 -07:00
cosmonaut d641f713de progress on generics 2021-05-21 19:52:13 -07:00
cosmonaut 8a3920918c generic function lookup 2021-05-20 13:18:57 -07:00
cosmonaut 0d94e89045 skeleton of generic function lookup 2021-05-19 18:09:33 -07:00
cosmonaut 24bcef6d87 initial generics stuff 2021-05-19 15:45:07 -07:00
cosmonaut 473b706ad9 clang-format config 2021-05-16 00:42:37 -07:00
cosmonaut 876e8deb6e codegen fixes 2021-05-16 00:23:52 -07:00
venko 459a1dd3b7 Refactors identcheck for new AST. Fixes newline bugs in PrintNode. 2021-05-15 19:00:46 -07:00
cosmonaut abc82f381e refactor AST to use nameless union instead of child array 2021-05-15 15:34:15 -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