1 个不稳定版本

0.3.1 2022年1月10日
0.3.0 2022年1月10日

#708编程语言

MIT 协议

81KB
2.5K SLoC

RSCMM

  1. C语言解释器库。
  2. 一个自我教育实践项目。
  3. RSCMM是Rust和CMM的组合。CMM与C++相反,意味着少于C。

流水线


将RSCMM包含到您的项目中

[dependencies]
rscmm = "0.3"

实现

src文件夹

  • src/core/parser中的parser
  • src/core/analyzer中的semantic_analyzer
  • src/core/compiler中的compiler
  • src/core/vm vm用于编译后的代码执行。

功能

  • ops: + - * / % && || ! == != <= >= < >
  • funcs: declare, impls, recursive
  • types: int, void
  • controls: if & while

示例

int gcd(int a, int b) {
    if (b == 0) {
        return a;
    } else {
        return gcd(b, a % b);
    }
}

int main() {
    int p = gcd(99, 90);
    p;   // single variable statement means print.
}
// Run example
rscmm::compile_and_run("example/gcd.c").unwrap();
// Get vm codes
rscmm::compile_to_code("example/gcd.c").unwrap();

依赖项

~2MB
~44K SLoC