|
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 |
|
|
25ae8b0c16
|
Errors - Interpreter error
|
2022-12-31 12:58:25 +01:00 |
|
|
58a986d280
|
Interpreter - Values
|
2022-12-31 12:50:44 +01:00 |
|
|
b5e9a1825a
|
Interpreter - Module created
|
2022-12-31 12:30:02 +01:00 |
|
|
7b66c35e16
|
Parser - Synchronize method
|
2022-12-31 12:27:51 +01:00 |
|
|
32dab4ad27
|
main - Fixed formatting
|
2022-12-31 10:22:22 +01:00 |
|
|
ffb1994a59
|
Main - expect(&format!()) is bad, according to clippy
|
2022-12-31 10:21:38 +01:00 |
|
|
0872f58baf
|
Tokens - Use the matches! macro for is_litteral()
|
2022-12-31 10:19:36 +01:00 |
|
|
980729ceb3
|
Tokens - Renamed EOF to Eof
|
2022-12-31 10:17:25 +01:00 |
|
|
e918d90e39
|
Scanner - Use is_ascii_digit() instead of is_digit(10)
|
2022-12-31 10:15:55 +01:00 |
|
|
45ed237818
|
Parser - Removed useless clone
|
2022-12-31 10:14:58 +01:00 |
|
|
c0bf521b61
|
AST - Removed unused import, reformatted.
|
2022-12-31 10:13:51 +01:00 |
|