Rune is a Rust implementation of the scripting language Lox from Bob Nystrom's Crafting Interpreters.
- 4. Scanning
- 5. Representing Code
- 6. Parsing Expressions
- 7. Evaluating Expressions
- 8. Statments and State
- 9. Control Flow
- 10. Functions
- 11. Resolving and Binding
- 12. Classes
- 13. Inheritance
- 14. Chunks of Bytecode
- 15. A Virtual Machine
- 16. Scanning on Demand
- 17. Compiling Expressions
- 18. Types of Values
- 19. Strings
- 20. Hash Tables
- 21. Global Variables
- 22. Local Variables
- 23. Jumping Back and Forth
- 24. Calls and Functions
- 25. Closures
- 26. Garbage Collection
- 27. Classes and Instances
- 28. Methods and Initializers
- 29. Superclasses
- 30. Optimization
While Rune is certainly a learning project, I plan for it to diverge from Lox over time as syntax is changed, features are added or removed, etc. There are no specific use cases in mind currently though some general "that might be fun" ideas are floating around.