Commit graph

47 commits

Author SHA1 Message Date
164e7952bd AST - Added superclass field 2023-01-15 17:47:52 +01:00
1272b5ec89 Finished class member structure refactor 2023-01-14 14:03:21 +01:00
366ba6e307 Resolver - Refactored class member resolution again 2023-01-14 13:17:25 +01:00
c3bdc23081 AST - Refactored class member data structures 2023-01-14 11:14:53 +01:00
ddb2c94ae5 AST - Added property getters/setters 2023-01-14 10:56:10 +01:00
373668fc23 AST - Comments for ClassDecl members 2023-01-14 10:50:30 +01:00
52c4b6315e AST - Refactored class member representation 2023-01-12 08:06:58 +01:00
c9f74cdc55 AST - "this" keyword 2023-01-09 07:53:56 +01:00
bb2765d057 AST - Refactored variable reference expressions 2023-01-09 07:43:45 +01:00
75387c5ac4 AST - Refactored binary expressions 2023-01-09 07:40:28 +01:00
082acaaa1e AST - Set expressions 2023-01-09 06:54:03 +01:00
1c5efe7e62 AST - Replaced dumper
* Rewrote as a kind of "pretty" printer
  * It isn't actually pretty but it does restore Lox code from the AST.
2023-01-08 15:25:27 +01:00
0cebffbf9b AST - Getter expression 2023-01-08 11:04:32 +01:00
36026681f7 AST - Added class declaration statements 2023-01-07 13:53:43 +01:00
1af25457d5 AST - Refactored function declarations as a separate struct 2023-01-07 12:18:18 +01:00
ec70ded29e Fixed variable lookups and assignments 2023-01-07 08:48:21 +01:00
46389d2962 AST - Removed field missed in previous changes 2023-01-02 21:38:33 +01:00
ab46d0bcef AST - Removed useless field from Lambda 2023-01-02 21:36:50 +01:00
4769a2a7f3 AST - Lambda functions 2023-01-02 21:01:45 +01:00
9b9103c170 AST - Added return statement 2023-01-02 20:16:14 +01:00
e4a86eb1de AST - Fixed statement nodes with *Stmt names 2023-01-02 20:13:51 +01:00
9c7445d904 AST - Added function to extract all block statements 2023-01-02 18:56:26 +01:00
3738fb4f00 AST - Function declarations 2023-01-02 18:31:11 +01:00
0a38903154 I <3 CLIPPY 2023-01-02 18:23:12 +01:00
4c55e9e784 AST - Function calls modified to match the book's 2023-01-02 15:23:33 +01:00
2e7a897c47 AST - Function call expression node 2023-01-02 15:05:41 +01:00
a317e54426 CLIPPY IS GOD. 2023-01-02 14:10:32 +01:00
ca76b3ab3f AST - Changed loop representation 2023-01-02 12:06:37 +01:00
14d5b94f76 AST - Fixed loop label dump 2023-01-02 11:25:18 +01:00
2f44a81b6d AST - Added labels to while statements 2023-01-02 10:37:47 +01:00
48b86d5087 AST - Break/Continue with label 2023-01-02 09:57:42 +01:00
154d072ca8 AST - Break and continue 2023-01-01 19:55:30 +01:00
14bff1d7bc AST - Fixed block dump 2023-01-01 19:40:47 +01:00
529a588900 AST - While loops 2023-01-01 18:33:45 +01:00
0637e52c83 AST - Logical binary expressions 2023-01-01 11:13:41 +01:00
2eda13de38 AST - Conditional statement added 2023-01-01 10:58:45 +01:00
3fe2b4256a AST - Blocks 2022-12-31 16:58:48 +01:00
b5ff24ffad AST - Variable assignment 2022-12-31 16:16:12 +01:00
157c938395 AST - Store variable names as tokens in declarations 2022-12-31 16:06:20 +01:00
a90b1529ad AST - Added variable reference nodes 2022-12-31 15:42:10 +01:00
8e5a26bcc3 AST - Added variable declarations 2022-12-31 15:30:53 +01:00
402e0a10d9 AST - Made statement nodes visible inside a program node 2022-12-31 14:45:35 +01:00
f17cafd910 AST - Program and basic statements 2022-12-31 14:36:01 +01:00
407fbe26b0 AST - Moved dumper trait out of the way 2022-12-31 14:27:20 +01:00
c0bf521b61 AST - Removed unused import, reformatted. 2022-12-31 10:13:51 +01:00
faf50ea53e AST - Use Token.is_litteral() when dumping 2022-12-31 00:50:04 +01:00
8856d733ad AST - Expression node + dumper trait 2022-12-30 23:50:02 +01:00