forked from katzen-cafe/iowo
lang: rewrite parser
This commit is contained in:
parent
6d8b79e8f7
commit
381ab45edc
25 changed files with 524 additions and 1161 deletions
|
@ -1,12 +1,9 @@
|
|||
use clap::Parser;
|
||||
use std::{fs, path::PathBuf};
|
||||
|
||||
use clap::Parser;
|
||||
use lang::{
|
||||
err_reporting::ErrorCollector,
|
||||
parser::ast::lossless::{
|
||||
lex,
|
||||
parser::{self, parse},
|
||||
},
|
||||
use lang::parser::{
|
||||
parser::{self, grammar, input, output::Output},
|
||||
syntax_kind,
|
||||
};
|
||||
|
||||
#[derive(Parser)]
|
||||
|
@ -19,8 +16,17 @@ fn main() {
|
|||
let args = Args::parse();
|
||||
let n = args.file.clone();
|
||||
let f = fs::read_to_string(n.clone()).expect("failed to read file");
|
||||
println!("toks: {:?}", lex::lex(&f));
|
||||
println!("parse res: {:?}", parse(&f));
|
||||
|
||||
let toks = dbg!(syntax_kind::lex(&f));
|
||||
let input = input::Input::new(&toks);
|
||||
let mut parser = parser::Parser::new(input);
|
||||
|
||||
grammar::source_file(&mut parser);
|
||||
|
||||
let p_out = dbg!(parser.finish());
|
||||
let o = Output::from_parser_output(toks, p_out);
|
||||
|
||||
println!("Out: {:?}", o);
|
||||
|
||||
// let parse_res = parser::parse(&f);
|
||||
// println!("parse: {:?}", parse_res);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue