Skip to content

jacobshu/rune

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Rune

Rune is a Rust implementation of the scripting language Lox from Bob Nystrom's Crafting Interpreters.

Chapter Completion

Interpreter

  • 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

Bytecode Virtual Machine

  • 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

The Future

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages