diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-03-10 18:15:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-10 18:15:27 +0100 |
| commit | 21b76633d149f62dbfdf55702dbdf8c84bf14105 (patch) | |
| tree | 4de4557fff6785e4527e9df206f909d96a930028 /src/main.rs | |
| parent | e930f7b71ba526f40210f3e89afc79b2288e2e91 (diff) | |
| parent | 035ac6f1a0fde887ccbdfb9358adddcb89a5bae3 (diff) | |
| download | sylt-21b76633d149f62dbfdf55702dbdf8c84bf14105.tar.gz | |
Merge pull request #109 from FredTheDino/minor
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/src/main.rs b/src/main.rs index 28e4e79..23ababa 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,16 +1,10 @@ -use std::path::{Path, PathBuf}; +use std::path::Path; -use sylt::run_file; - -struct Args { - file: Option<PathBuf>, - print: bool, -} +use sylt::{run_file, Args}; fn main() { let args = parse_args(); - let file = args.file.unwrap_or_else(|| Path::new("progs/tests/simple.sy").to_owned()); - let errs = match run_file(&file, args.print, sylt_macro::link!(extern_test as test)) { + let errs = match run_file(args, sylt_macro::link!(extern_test as test)) { Err(it) => it, _ => return, }; @@ -21,17 +15,17 @@ fn main() { } fn parse_args() -> Args { - let mut args = Args { - file: None, - print: false, - }; + let mut args = Args::default(); for s in std::env::args().skip(1) { let path = Path::new(&s).to_owned(); if path.is_file() { args.file = Some(path); - } else if "-p" == s { - args.print = true; + } else if s == "-v" { + args.print_bytecode = true; + } else if s == "-vv" { + args.print_bytecode = true; + args.print_exec = true; } else { eprintln!("Invalid argument {}.", s); } |
