7 个版本 (稳定)
2.0.1 | 2024 年 3 月 2 日 |
---|---|
2.0.0 | 2024 年 2 月 29 日 |
1.2.0 | 2024 年 2 月 8 日 |
0.2.0 | 2024 年 2 月 4 日 |
0.1.0 | 2024 年 2 月 3 日 |
#677 在 命令行工具
每月下载 293 次
34KB
805 行
RAM 机器解释器
此存储库包含一个 RAM 机器代码解析器和解释器的代码,由 Łukasz Szkup 在其 硕士论文 中定义。
安装
从 crates.io
cargo install ram-machine
从 GitHub
cargo install --git https://github.com/kamack38/ram-machine
使用方法
RAM machine code interpreter
Usage: ram [OPTIONS] <COMMAND>
Commands:
run Run ram machine code from file
check Validates ram code syntax of a given file
init Generate a shell completion file
debug Run ram machine code and see the tape, input, output for each instruction
help Print this message or the help of the given subcommand(s)
Options:
-q, --quiet Don't pass code output to STDOUT
-h, --help Print help
-V, --version Print version
生成 TAB 完成文件
要为给定的外壳生成 TAB 完成文件,请运行
ram init <shell>
从文件运行代码
ram run file.ram 1 2 3 4
调试代码
ram debug examples/three_sum.ram 1 2 3
以下是调试输出
╭───╮
│ 0 │
├───┤
│ ? │
╰───╯
Input: 1 2 3
Output:
Next instruction: READ 1
╭───┬───╮
│ 0 │ 1 │
├───┼───┤
│ ? │ 1 │
╰───┴───╯
Input: 1 2 3
Output:
Next instruction: READ 0
╭───┬───╮
│ 0 │ 1 │
├───┼───┤
│ 2 │ 1 │
╰───┴───╯
Input: 1 2 3
Output:
Next instruction: READ 2
╭───┬───┬───╮
│ 0 │ 1 │ 2 │
├───┼───┼───┤
│ 2 │ 1 │ 3 │
╰───┴───┴───╯
Input: 1 2 3
Output:
Next instruction: ADD 1
╭───┬───┬───╮
│ 0 │ 1 │ 2 │
├───┼───┼───┤
│ 3 │ 1 │ 3 │
╰───┴───┴───╯
Input: 1 2 3
Output:
Next instruction: ADD 2
╭───┬───┬───╮
│ 0 │ 1 │ 2 │
├───┼───┼───┤
│ 6 │ 1 │ 3 │
╰───┴───┴───╯
Input: 1 2 3
Output:
Next instruction: WRITE 0
╭───┬───┬───╮
│ 0 │ 1 │ 2 │
├───┼───┼───┤
│ 6 │ 1 │ 3 │
╰───┴───┴───╯
Input: 1 2 3
Output: 6
Next instruction: HALT
v1 版本路线图
- 自动更改日志
- 带有自动发布到 crates.io 的 Cargo crate
- 使用 clap 解析参数
- Repl
- 调试模式
依赖关系
~3.5MB
~62K SLoC