all_scripts/
all_scripts.rs1use pdx_syntax::script::parse_file;
2use std::path::Path;
3
4fn parse_dir(dir: &Path) {
5 let files = std::fs::read_dir(dir).unwrap();
6 for file in files {
7 let file = file.unwrap();
8 let path = file.path();
9
10 if path.is_dir() {
11 parse_dir(&path);
12 continue;
13 }
14
15 let fname = path.to_str().unwrap();
16 if fname.ends_with(".txt") {
17 let ast = parse_file(&fname);
19 if ast.is_err() {
20 println!("Parsing failed: {}", fname);
21 println!("Error: {}", ast.err().unwrap());
22 } else {
23 }
25 }
26 }
27}
28
29fn main() {
30 let mut args = std::env::args();
31 args.next();
32 let fname = args.next().expect("Missing argument: path");
33 let path = Path::new(&fname);
34 if path.is_dir() {
35 parse_dir(&path);
36 return;
37 } else {
38 panic!("Not a directory: {}", fname);
39 }
40}