|
f8f9d376fb
|
Tokens - Break + Continue
|
2023-01-01 19:51:10 +01:00 |
|
|
b9e659350b
|
Parser - Re-use for loop body if it's a block and an incr statement is needed
|
2023-01-01 19:47:04 +01:00 |
|
|
f95fcc4e3e
|
Parser - Initial implementation of the for loop
|
2023-01-01 19:41:02 +01:00 |
|
|
14bff1d7bc
|
AST - Fixed block dump
|
2023-01-01 19:40:47 +01:00 |
|
|
d8888fd15f
|
Parser - Re-added parens around if / while conditions
Mostly because lox's for loop is C-like and would feel weird without
parens.
|
2023-01-01 19:04:37 +01:00 |
|
|
ddf6625326
|
Interpreter - While loops
|
2023-01-01 18:44:35 +01:00 |
|
|
daec88c2f8
|
Parser - While loops
|
2023-01-01 18:40:05 +01:00 |
|
|
529a588900
|
AST - While loops
|
2023-01-01 18:33:45 +01:00 |
|
|
a671836655
|
Interpreter - Support for logical or / and
|
2023-01-01 18:27:45 +01:00 |
|
|
79c594afa9
|
Interpreter - Fixed == operator. Oops.
|
2023-01-01 18:27:33 +01:00 |
|
|
5db3caab61
|
Parser - Fixed comments
|
2023-01-01 18:13:32 +01:00 |
|
|
2e0e3f9ef0
|
Parser - Support for and / or
|
2023-01-01 11:18:08 +01:00 |
|
|
0637e52c83
|
AST - Logical binary expressions
|
2023-01-01 11:13:41 +01:00 |
|
|
9a84283245
|
Interpreter - If statement
|
2023-01-01 11:10:48 +01:00 |
|
|
8711fde112
|
Parser - Support for if statement
* Different from the book's implemenation as it doesn't use additional parens
|
2023-01-01 11:04:32 +01:00 |
|
|
2eda13de38
|
AST - Conditional statement added
|
2023-01-01 10:58:45 +01:00 |
|
|
81aef09c5b
|
Interpreter - Additional errors for variables
* Uninitialized variable usage
* Redefining variables
|
2023-01-01 10:52:29 +01:00 |
|
|
e92628a4eb
|
Interpreter - Nested environments
|
2022-12-31 17:27:09 +01:00 |
|
|
d9e3ef2623
|
Environment - Rc<RefCell<...>> to store the parent
|
2022-12-31 17:26:40 +01:00 |
|
|
7d22b15854
|
Parser - Support for blocks
|
2022-12-31 17:05:58 +01:00 |
|
|
3fe2b4256a
|
AST - Blocks
|
2022-12-31 16:58:48 +01:00 |
|
|
c71bdd8c87
|
Environment - Attempt at nesting support
|
2022-12-31 16:56:00 +01:00 |
|
|
71ddef17d8
|
Parser - Fixed error recovery
|
2022-12-31 16:42:32 +01:00 |
|
|
5efc90e89b
|
Parser - Error recovery
|
2022-12-31 16:40:59 +01:00 |
|
|
f4111577ca
|
Interpreter - Variable assignment
|
2022-12-31 16:36:29 +01:00 |
|
|
8d6191c7ee
|
Environment - Support for assignment
|
2022-12-31 16:32:59 +01:00 |
|
|
3a2e8eeda1
|
Parser - Variable assignment
|
2022-12-31 16:27:32 +01:00 |
|
|
b5ff24ffad
|
AST - Variable assignment
|
2022-12-31 16:16:12 +01:00 |
|
|
c486b81cba
|
Interpreter - Support for initializing and using variables
|
2022-12-31 16:13:40 +01:00 |
|
|
157c938395
|
AST - Store variable names as tokens in declarations
|
2022-12-31 16:06:20 +01:00 |
|
|
90557e6600
|
Interpreter - Create and pass the environment when evaluating
|
2022-12-31 16:01:47 +01:00 |
|
|
8b44af08ba
|
Interpreter - Initial environment implementation
|
2022-12-31 15:57:54 +01:00 |
|
|
7f94906412
|
Interpreter - Created environment module
|
2022-12-31 15:50:23 +01:00 |
|
|
bf6e150085
|
Interpreter - Split into multiple modules
|
2022-12-31 15:49:31 +01:00 |
|
|
81b5f27f0a
|
Interpreter - Moved module to subdirectory
|
2022-12-31 15:45:28 +01:00 |
|
|
d821331fa2
|
Parser - Variable references in expressions
|
2022-12-31 15:44:26 +01:00 |
|
|
a90b1529ad
|
AST - Added variable reference nodes
|
2022-12-31 15:42:10 +01:00 |
|
|
447e0fe623
|
Parser - Handle variable declarations
|
2022-12-31 15:39:52 +01:00 |
|
|
8e5a26bcc3
|
AST - Added variable declarations
|
2022-12-31 15:30:53 +01:00 |
|
|
c31a97eb76
|
Cargo features to control debugging output
|
2022-12-31 15:26:34 +01:00 |
|
|
14aef73d93
|
Interpreter - Run programs.
|
2022-12-31 15:19:41 +01:00 |
|
|
bf11a2b63a
|
Parser - Parse program as a list of statements
|
2022-12-31 14:45:55 +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 |
|
|
a69fea5538
|
Errors - ErrorHandler now includes info about the stage that failed
|
2022-12-31 14:00:23 +01:00 |
|
|
da50da4e08
|
CLIPPY IS THE MASTER OF ALL! (especially anal retentiveness)
|
2022-12-31 13:50:08 +01:00 |
|
|
b89e330423
|
Hooked up the interpreter
|
2022-12-31 13:49:01 +01:00 |
|
|
2aa9fb278a
|
Errors - Missing space in message
|
2022-12-31 13:48:00 +01:00 |
|
|
bc4541a50e
|
Interpreter - Initial implementation of the expression evaluator
|
2022-12-31 13:41:44 +01:00 |
|