Files
0198df90-e356-7eb0-bcc2-061…/README.md
2025-08-25 04:51:11 +00:00

47 lines
1.7 KiB
Markdown

This is a starting point for Rust solutions to the
"Build your own Interpreter" Challenge.
This challenge follows the book
[Crafting Interpreters](https://craftinginterpreters.com/) by Robert Nystrom.
In this challenge you'll build an interpreter for
[Lox](https://craftinginterpreters.com/the-lox-language.html), a simple
scripting language. Along the way, you'll learn about tokenization, ASTs,
tree-walk interpreters and more.
Before starting this challenge, make sure you've read the "Welcome" part of the
book that contains these chapters:
- [Introduction](https://craftinginterpreters.com/introduction.html) (chapter 1)
- [A Map of the Territory](https://craftinginterpreters.com/a-map-of-the-territory.html)
(chapter 2)
- [The Lox Language](https://craftinginterpreters.com/the-lox-language.html)
(chapter 3)
These chapters don't involve writing code, so they won't be covered in this
challenge. This challenge will start from chapter 4,
[Scanning](https://craftinginterpreters.com/scanning.html).
# Passing the first stage
The entry point for your program is in `src/main.rs`. Study and uncomment the
relevant code, and push your changes to pass the first stage:
```sh
git commit -am "pass 1st stage" # any msg
git push origin main
```
Time to move on to the next stage!
# Stage 2 & beyond
Note: This section is for stages 2 and beyond.
1. Ensure you have `cargo (1.87)` installed locally
2. Run `./your_program.sh` to run your program, which is implemented in
`src/main.rs`. This command compiles your Rust project, so it might be slow
the first time you run it. Subsequent runs will be fast.
3. Commit your changes and run `git push origin main` to submit your solution
to StackClass. Test output will be streamed to your terminal.