Commit Graph
322 Commits
Author SHA1 Message Date
Sasha Koshka 78786f4ea2 Parse break and return expressions 2024-02-07 22:33:33 -05:00
Sasha Koshka 116a687099 Decision tree infrastructure for LBracket branch 2024-02-07 20:03:18 -05:00
Sasha Koshka e0c62e40bf Parse struct literals 2024-02-07 19:48:01 -05:00
Sasha Koshka 1a4bade4dd Parse blocks 2024-02-07 19:24:57 -05:00
Sasha Koshka b17ffdc6d9 Update expression-decision-tree 2024-02-07 19:17:25 -05:00
Sasha Koshka 30d479565b Fix parsing integer 0 2024-02-07 19:16:05 -05:00
Sasha Koshka f997254270 Parse array literals 2024-02-07 19:14:39 -05:00
Sasha Koshka 2882a28621 Update expression-decision-tree 2024-02-07 18:27:10 -05:00
Sasha Koshka ac83753c56 Parse if/else expressions 2024-02-07 18:25:42 -05:00
Sasha Koshka be35cda999 Parse loops 2024-02-07 18:11:12 -05:00
Sasha Koshka 161ee28e7b Move literal parsing routines to a separate file 2024-02-07 18:01:14 -05:00
Sasha Koshka c1df3f5ae5 Add stars in expression-decision-tree to mark what isn't done 2024-02-07 17:57:39 -05:00
Sasha Koshka 8cd0871939 Fix expression parsing control flow 2024-02-07 17:51:44 -05:00
Sasha Koshka ea8d5e6b3a Add parsing boolean and nil literals 2024-02-07 17:25:00 -05:00
Sasha Koshka 87c6490183 Fix commaList 2024-02-07 17:09:35 -05:00
Sasha Koshka 4a3e06362d What crack was I smoking when I made LiteralNil.Value 2024-02-07 15:46:42 -05:00
Sasha Koshka ed239aabb9 Remove entity.Boolean because I have overcome my haters 2024-02-07 15:41:48 -05:00
Sasha Koshka 854abfed1c Broke out Parser.parseVariable() for consistency 2024-02-07 15:36:33 -05:00
Sasha Koshka d445743200 Add parsing int, float, and string literals 2024-02-07 14:15:06 -05:00
Sasha Koshka a47023fc95 Declaration and variable expression parsing 2024-02-07 13:26:25 -05:00
Sasha Koshka 16f27cd2ee Parser panic information is now more detailed 2024-02-07 13:01:25 -05:00
Sasha Koshka cc8426bf85 Add tokens to startTokensExpression 2024-02-07 12:50:19 -05:00
Sasha Koshka 531d3ca22b Created an expression decision tree plan 2024-02-07 12:44:54 -05:00
Sasha Koshka 51ef3682f1 Function headings are now parsed correctly 2024-02-07 11:38:15 -05:00
Sasha Koshka 0762d72486 Allow arbitrary integer width 2024-02-07 11:22:37 -05:00
Sasha Koshka 02ec77b855 Updated TestType test case for parser 2024-02-07 03:39:37 -05:00
Sasha Koshka 97605d8c2a Parse integer, word, and float types 2024-02-07 03:37:02 -05:00
Sasha Koshka 424b621bae Fix function parsing 2024-02-07 03:22:00 -05:00
Sasha Koshka 48fe20b472 Parse interface types 2024-02-07 03:18:02 -05:00
Sasha Koshka 1529e591e8 Parse signatures 2024-02-07 03:17:50 -05:00
Sasha Koshka 19910b77a9 Parse struct types 2024-02-07 03:02:43 -05:00
Sasha Koshka f8399612f6 De-ambiguify interface and struct type syntax 2024-02-07 03:02:16 -05:00
Sasha Koshka cb7734afe6 Array type parsing 2024-02-07 00:32:18 -05:00
Sasha Koshka 23362b058d Normalize parsing of access control symbols 2024-02-07 00:23:10 -05:00
Sasha Koshka 59e3185500 Parse pointers/slices 2024-02-07 00:22:58 -05:00
Sasha Koshka 6ad56ed4ee Add some convenience methods to parser, fix appendCopy 2024-02-07 00:21:44 -05:00
Sasha Koshka 8adaa0e053 Added parsing named types 2024-02-06 23:48:25 -05:00
Sasha Koshka 9dab29f5cb Token.Is and Token.ValueIs work properly 2024-02-06 23:16:48 -05:00
Sasha Koshka 39d8ed088d Lexer now records the width of tokens 2024-02-06 23:08:25 -05:00
Sasha Koshka 84d88a7644 I want to look at my juicy error formatting even when it passes 2024-02-06 22:33:18 -05:00
Sasha Koshka 100986327e FINALLY errors and lexer agree on row/col positions properly 2024-02-06 22:11:46 -05:00
Sasha Koshka 6924d39dcb Fixed error test cases 2024-02-06 21:59:41 -05:00
Sasha Koshka 6fc16c7045 Lexer saves error lines 2024-02-06 21:54:20 -05:00
Sasha Koshka e6043effe0 Lexer tests check for line content, print formatted errors 2024-02-06 19:08:21 -05:00
Sasha Koshka f3f8b324dc Parser errors make more sense 2024-02-06 18:58:09 -05:00
Sasha Koshka c2d9b4d40f Added Token.String() 2024-02-06 18:56:04 -05:00
Sasha Koshka ef14fc2219 Parser is incomplete but compiles 2024-02-06 18:29:37 -05:00
Sasha Koshka 825e71a720 Created a plan for expression parsing 2024-02-06 17:04:59 -05:00
Sasha Koshka 77783c1004 Add a guide to writing parser methods so I don't forget 2024-02-06 16:56:10 -05:00
Sasha Koshka c1c2ab5124 Further normalize expectation responsibilities of parsing methods 2024-02-06 16:39:15 -05:00