Commit Graph

428 Commits

Author SHA1 Message Date
d7d2d90b20 Added string constructor for entity.Operator 2024-02-08 00:29:24 -05:00
0bed97da02 Re-organize the position of parsing functions in expression.go 2024-02-08 00:16:39 -05:00
c347add41c Parse dereferences and subscripts 2024-02-08 00:14:52 -05:00
7697bab51a Lowercased entity descriptions 2024-02-07 22:58:58 -05:00
333172d00b Moved parser expression decision tree diagram to expression.go
Because having ASCII flowcharts in comments makes any code base at
least 20% cooler.
2024-02-07 22:53:10 -05:00
5dede3434f Parse function calls 2024-02-07 22:49:11 -05:00
4087e12fb9 Parse break and return expressions 2024-02-07 22:33:33 -05:00
8ad89623a9 Decision tree infrastructure for LBracket branch 2024-02-07 20:03:18 -05:00
3cf6154e62 Parse struct literals 2024-02-07 19:48:01 -05:00
dc64daa0e0 Parse blocks 2024-02-07 19:24:57 -05:00
8a553beaa8 Update expression-decision-tree 2024-02-07 19:17:25 -05:00
c90bb00241 Fix parsing integer 0 2024-02-07 19:16:05 -05:00
8515bc7350 Parse array literals 2024-02-07 19:14:39 -05:00
0fd38baf77 Update expression-decision-tree 2024-02-07 18:27:10 -05:00
47ca7b98c6 Parse if/else expressions 2024-02-07 18:25:42 -05:00
790f1ca6be Parse loops 2024-02-07 18:11:12 -05:00
78050694d6 Move literal parsing routines to a separate file 2024-02-07 18:01:14 -05:00
cd8c65e232 Add stars in expression-decision-tree to mark what isn't done 2024-02-07 17:57:39 -05:00
9cc015859e Fix expression parsing control flow 2024-02-07 17:51:44 -05:00
e32a3d997f Add parsing boolean and nil literals 2024-02-07 17:25:00 -05:00
4280576f5f Fix commaList 2024-02-07 17:09:35 -05:00
7b6c1b8398 What crack was I smoking when I made LiteralNil.Value 2024-02-07 15:46:42 -05:00
6cab43332e Remove entity.Boolean because I have overcome my haters 2024-02-07 15:41:48 -05:00
7028ec89b6 Broke out Parser.parseVariable() for consistency 2024-02-07 15:36:33 -05:00
ebfaba0d7d Add parsing int, float, and string literals 2024-02-07 14:15:06 -05:00
a053eeb207 Declaration and variable expression parsing 2024-02-07 13:26:25 -05:00
239dcfe5a0 Parser panic information is now more detailed 2024-02-07 13:01:25 -05:00
a80b6ad74e Add tokens to startTokensExpression 2024-02-07 12:50:19 -05:00
a14df2bfbb Created an expression decision tree plan 2024-02-07 12:44:54 -05:00
e14b33657f Function headings are now parsed correctly 2024-02-07 11:38:15 -05:00
7e8e46a15d Allow arbitrary integer width 2024-02-07 11:22:37 -05:00
56602e0f17 Updated TestType test case for parser 2024-02-07 03:39:37 -05:00
a54feb4522 Parse integer, word, and float types 2024-02-07 03:37:02 -05:00
aaff208be2 Fix function parsing 2024-02-07 03:22:00 -05:00
21f55472fb Parse interface types 2024-02-07 03:18:02 -05:00
9cd7877b07 Parse signatures 2024-02-07 03:17:50 -05:00
7c1d4790ab Parse struct types 2024-02-07 03:02:43 -05:00
673d43a0c8 De-ambiguify interface and struct type syntax 2024-02-07 03:02:16 -05:00
8140e80c15 Array type parsing 2024-02-07 00:32:18 -05:00
9fcfc63935 Normalize parsing of access control symbols 2024-02-07 00:23:10 -05:00
4f852012ca Parse pointers/slices 2024-02-07 00:22:58 -05:00
096cc173db Add some convenience methods to parser, fix appendCopy 2024-02-07 00:21:44 -05:00
0fef43e13d Added parsing named types 2024-02-06 23:48:25 -05:00
d693132513 Token.Is and Token.ValueIs work properly 2024-02-06 23:16:48 -05:00
28fa7321df Lexer now records the width of tokens 2024-02-06 23:08:25 -05:00
0133e87831 I want to look at my juicy error formatting even when it passes 2024-02-06 22:33:18 -05:00
62c96ed761 FINALLY errors and lexer agree on row/col positions properly 2024-02-06 22:11:46 -05:00
4d2d52b425 Fixed error test cases 2024-02-06 21:59:41 -05:00
8b7ac97e0d Lexer saves error lines 2024-02-06 21:54:20 -05:00
c38d15fa87 Lexer tests check for line content, print formatted errors 2024-02-06 19:08:21 -05:00