1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use std::env;

use rscel::{CelCompiler, StringTokenizer};

fn main() {
    let args: Vec<String> = env::args().collect();

    if args.len() != 2 {
        eprintln!("Usage: prog2json <program>");
        return;
    }

    let mut tokenizer = StringTokenizer::with_input(&args[1]);
    let prog = CelCompiler::with_tokenizer(&mut tokenizer)
        .compile()
        .unwrap();

    println!("{}", serde_json::to_string_pretty(&prog).unwrap());
}