strykelang 0.8.10

A highly parallel Perl 5 interpreter written in Rust
use std::env;
use std::fs;
use stryke::zsh_parse::ZshParser;

fn main() {
    let args: Vec<String> = env::args().collect();
    let content = if args.len() > 1 {
        fs::read_to_string(&args[1]).expect("read file")
    } else {
        "echo hello".to_string()
    };

    eprintln!("Parsing {} bytes...", content.len());

    let mut parser = ZshParser::new(&content);
    match parser.parse() {
        Ok(prog) => eprintln!("OK: {} lists", prog.lists.len()),
        Err(errors) => {
            for e in errors {
                eprintln!("Error line {}: {}", e.line, e.message);
            }
        }
    }
}