diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..5ec8f34 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,25 @@ +use std::env; +use std::fs::File; +use std::io::Read; +use std::process; + +fn main() { + let mut args = env::args(); + let _ = args.next(); // executable name + + let filename = match (args.next(), args.next()) { + (Some(filename), None) => filename, + _ => { + eprintln!("Usage: dump-syntax path/to/filename.rs"); + process::exit(1); + } + }; + + let mut file = File::open(&filename).expect("Unable to open file"); + + let mut src = String::new(); + file.read_to_string(&mut src).expect("Unable to read file"); + + let syntax = syn::parse_file(&src).expect("Unable to parse file"); + println!("{:#?}", syntax); +} |