https://github.com/darinm223/rust-feeny
Working through UC Berkeley's graduate virtual machine class in Rust
https://github.com/darinm223/rust-feeny
Last synced: 5 months ago
JSON representation
Working through UC Berkeley's graduate virtual machine class in Rust
- Host: GitHub
- URL: https://github.com/darinm223/rust-feeny
- Owner: DarinM223
- Created: 2016-04-02T12:24:24.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-03-02T21:16:34.000Z (over 1 year ago)
- Last Synced: 2025-06-11T03:35:37.789Z (about 1 year ago)
- Language: Rust
- Homepage:
- Size: 120 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
rust-feeny
==========
Learning virtual machines, garbage collectors, and bytecode interpreters by working through the homework for the UC Berkeley graduate course UCB CS294: Virtual Machines and Managed Runtimes
Running:
--------
First you have to run cargo to build the project:
```
cargo build
```
Note: in order to run the sudoku.ast and sudoku2.ast test files it is better to
build the project in release mode for better performance
```
cargo build --release
```
To run the ast interpreter, you have to specify an AST file.
To print debug statments use RUST_LOG=debug otherwise use RUST_LOG=info
```
RUST_LOG=info ./target/debug/feeny ast output/hello.ast
RUST_LOG=debug ./target/debug/feeny ast output/hello.ast
```
To run the bytecode interpreter, you have to specify a bytecode file.
```
RUST_LOG=info ./target/debug/feeny bc output/hello.bc
RUST_LOG=debug ./target/debug/feeny bc output/hello.bc
```
For release mode:
```
./target/release/feeny ./output/sudoku.ast
```