parser change

This commit is contained in:
Leo
2024-04-07 20:49:21 +02:00
parent cafc52da16
commit 6faedc7c0d
4 changed files with 83 additions and 132 deletions
+6 -16
View File
@@ -1,24 +1,14 @@
mod lexer;
use lexer::lex;
mod parser;
use parser::parse;
use parser::Parser;
fn main() {
let input = "void main() {} <>";
let input = "int main() {}";
println!("\n\n\n\n");
// let input = "test->xy";
let mut tokens = lex(input, false);
let ast = *parse(&mut tokens);
// for t in tokens {
// println!("{:?}", t);
// }
let mut _x = 1;
for a in ast {
println!("{:?}: [", a.type_);
for v in a.values {
println!(" {:?},", v);
}
println!("]");
_x+=1;
let tokens = lex(input, false);
let mut ast = Parser::new(tokens.clone());
while ast.tokens.len() > ast.index as usize {
println!("{}\n\n", ast.next());
}
}