Sign in
Join now
crafting-interpreters
igneousflock.dev
/
Star
Starred
Star
Something went wrong. Try again.
Fork
0
Eye filled
Watch
Watching
Watch
An implementation of lox, based on _Crafting Interpreters_ by Robert Nystrom
Star
Starred
Star
Something went wrong. Try again.
Fork
Eye filled
Watch
Watching
Watch
Overview
Overview
Issues
Issues
Pulls
Pulls
Pipelines
Pipelines
Commits on
main
igneousflock.dev
013be82b
Copied
Failed
Copy SHA
Add readme
Copy SHA
Browse repository
committed
5mo ago
igneousflock.dev
2bf2ba57
Copied
Failed
Copy SHA
Convert to workspace
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
b0e81b05
Copied
Failed
Copy SHA
Handle undefined object fields and non-object derefs
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
4d4115c8
Copied
Failed
Copy SHA
Rename `Instance` struct
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
93918c80
Copied
Failed
Copy SHA
Implement class field assignment
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
47cc7cdc
Copied
Failed
Copy SHA
Update dependencies
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
05ec0d17
Copied
Failed
Copy SHA
Implement deref expressions
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
9a93f780
Copied
Failed
Copy SHA
Refactor call arg parsing to make deref parsing easier
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
fc6e5654
Copied
Failed
Copy SHA
Implement class instatiation
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
225a0d69
Copied
Failed
Copy SHA
Implement class parsing
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
b04b938b
Copied
Failed
Copy SHA
Store function AST data in separate struct
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
4f227f3a
Copied
Failed
Copy SHA
Restructure statement parsing to align better with grammar
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
d631548d
Copied
Failed
Copy SHA
Add a couple parser helpers
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
70b5ebf1
Copied
Failed
Copy SHA
Fix many pedantic lints
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
90e6c461
Copied
Failed
Copy SHA
Catch a few errors in the resolver
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
0af565d9
Copied
Failed
Copy SHA
Implement the resolver
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
b691d738
Copied
Failed
Copy SHA
Make functions close over their environment correctly
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
a26c2f82
Copied
Failed
Copy SHA
Break up `callable` module
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
1f2c843a
Copied
Failed
Copy SHA
Implement return statements
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
a67a1779
Copied
Failed
Copy SHA
Parse return statements
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
b0ea317e
Copied
Failed
Copy SHA
Remove `print_rpn`
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
5072e03e
Copied
Failed
Copy SHA
Implement custom function execution
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
d7fce018
Copied
Failed
Copy SHA
Don't exit repl after runtime error
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
ace6a85d
Copied
Failed
Copy SHA
Make interpreting functions into methods
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
1a63c2ad
Copied
Failed
Copy SHA
Use a trait object for interpreter output
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
cd9b7b34
Copied
Failed
Copy SHA
Parse function declarations
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
a5351a88
Copied
Failed
Copy SHA
Pass function args through child env
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
c8d16ee2
Copied
Failed
Copy SHA
Implement native functions and function calling
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
28e780f5
Copied
Failed
Copy SHA
Parse function calls
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
e26852ca
Copied
Failed
Copy SHA
Add pre-commit hooks
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
f960239a
Copied
Failed
Copy SHA
Parse for loops and desguar them to while loops
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
ccbe16b3
Copied
Failed
Copy SHA
Implement while loops
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
a6ef0c1d
Copied
Failed
Copy SHA
Implement logical expressions
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
91ef98bd
Copied
Failed
Copy SHA
Trim output in statement tests
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
c0460233
Copied
Failed
Copy SHA
Implement if/else statements
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
15d1c7f1
Copied
Failed
Copy SHA
Fix clippy lints and import formatting
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
dad0ad5a
Copied
Failed
Copy SHA
Implement block execution and nested envs
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
9327c79b
Copied
Failed
Copy SHA
Gracefully handle unclosed blocks
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
53b15688
Copied
Failed
Copy SHA
Parse block statements
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
0f074c5e
Copied
Failed
Copy SHA
Implement variable assignment
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
14d2248b
Copied
Failed
Copy SHA
Parse simple assignments
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
df9b4c0e
Copied
Failed
Copy SHA
Synchronize parser state when an error is encountered
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
4c5bbc59
Copied
Failed
Copy SHA
Interpret statements with persistent state
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
07ff4851
Copied
Failed
Copy SHA
Parse variable declarations an accesses
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
105b76f9
Copied
Failed
Copy SHA
Wrap parser tests in sub-modules
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
d0cfd4de
Copied
Failed
Copy SHA
Use strum for rpn printing
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
d0818ba5
Copied
Failed
Copy SHA
Split up AST module
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
ddcb3549
Copied
Failed
Copy SHA
Capture interpreter output with stdout as default
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
c0cd48ca
Copied
Failed
Copy SHA
Break up expression interpreting into multiple methods
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
4cbf30aa
Copied
Failed
Copy SHA
Implement expression and print statements
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
52b2440d
Copied
Failed
Copy SHA
Fix clippy lints
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
e1fb87ab
Copied
Failed
Copy SHA
Fix binary operator precedence while parsing
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
42bbaabc
Copied
Failed
Copy SHA
Add RPN printer for expressions
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
2da10ae7
Copied
Failed
Copy SHA
Implement binary expression interpreting
Copy SHA
Browse repository
committed
2y ago
Alex van de Sandt
ef162eae
Copied
Failed
Copy SHA
Don't fail when `env` file isn't present
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
984d59b4
Copied
Failed
Copy SHA
Reorganize imports
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
0f8e1d17
Copied
Failed
Copy SHA
Simplify primary expr parsing
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
048dbf69
Copied
Failed
Copy SHA
Gracefully handle empty repl line
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
9a45e337
Copied
Failed
Copy SHA
Write more compact debug impl for `Spanned`
Copy SHA
Browse repository
committed
2y ago
igneousflock.dev
195c4f4d
Copied
Failed
Copy SHA
Wrap remaining AST nodes with `Spanned`
Copy SHA
Browse repository
committed
2y ago
Previous
1
2
Next