#解析器 #语言 #解析器组合器 #脚本语言 #玩具

app oni-comb-toys-rs

一个用于玩具解析器的Rust库

2个版本

0.0.2 2022年3月2日
0.0.1 2021年11月15日

#275 in 解析工具

MIT/Apache

195KB
4.5K SLoC

oni-comb-toys-rs

工作进行中

oni-comb-rs实现的玩具语言

Toys 是一种简单的脚本语言。

fn main() {
  let source = r#"
    fn fizz_buzz(i) {
      if ((i % 3 == 0) && (i % 5 == 0)) {
        println("FizzBuzz");
      } else if (i % 3 == 0) {
        println("Fizz");
      } else if (i % 5 == 0) {
        println("Buzz");
      } else {
        println(i);
      }
    }
    fn main() {
      println("----");
      for (i in 1 to 100) {
        fizz_buzz(i);
      }
      println("----");
    }
    "#;
  let input = source.chars().collect::<Vec<_>>();
  let result = program().parse(&input).to_result().unwrap();
  println!("{:?}", result);
  Interpreter::new().call_main(result);
}

其他实现

依赖项

~2.2–3MB
~55K SLoC