feat: Add parsing for expressions.
This commit adds support for parsing expression using the pratt parsing approach.
This commit is contained in:
12
src/main.rs
12
src/main.rs
@@ -2,11 +2,14 @@ use std::fs;
|
||||
|
||||
use crate::{
|
||||
cli::{fatal, parse_args},
|
||||
lexer::Lexer,
|
||||
parser::Parser,
|
||||
};
|
||||
|
||||
mod ast;
|
||||
mod cli;
|
||||
mod diagnostic;
|
||||
mod lexer;
|
||||
mod parser;
|
||||
mod token;
|
||||
|
||||
fn main() {
|
||||
@@ -25,8 +28,11 @@ fn main() {
|
||||
};
|
||||
|
||||
println!("-- {} --", file.display());
|
||||
for token in Lexer::new(&content) {
|
||||
println!("{}", token);
|
||||
let mut parser = Parser::new(&content);
|
||||
|
||||
match parser.parse_expression(0) {
|
||||
Ok(ast) => println!("{ast:#?}"),
|
||||
Err(diag) => diag.report(file, &content),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user