mirror of
https://github.com/urinalcaketopper/fddl.git
synced 2025-06-07 05:34:47 +00:00
thought I updated the main
This commit is contained in:
parent
9cc45d4a2f
commit
18e704e13c
31
src/main.rs
31
src/main.rs
@ -47,12 +47,37 @@ fn run_file(path: &str) {
|
||||
|
||||
// runs source code
|
||||
fn run(source: String) {
|
||||
println!("Source: {}", source.trim()); // Optional: print the source
|
||||
|
||||
let mut lexer = Lexer::new(source);
|
||||
let tokens = lexer.scan_tokens();
|
||||
|
||||
for token in tokens {
|
||||
println!("{:?}", token);
|
||||
// old code begins
|
||||
// println!("Tokens:");
|
||||
// for token in &tokens { // Iterate by reference if you use tokens later
|
||||
// println!("{:?}", token);
|
||||
// }
|
||||
// println!("---");
|
||||
// old code ends - delete if not needed
|
||||
|
||||
let mut parser = Parser::new(tokens); // Create a new parser instance
|
||||
|
||||
println!("Parsed Statements (AST):");
|
||||
loop {
|
||||
|
||||
if parser.is_at_end() { // Add is_at_end to Parser if not already public
|
||||
break;
|
||||
}
|
||||
|
||||
// pass tokens to parser and interpreter
|
||||
match parser.parse_statement() {
|
||||
Some(statement) => {
|
||||
println!("{:?}", statement);
|
||||
}
|
||||
None => {
|
||||
println!("Parser returned None, might be an error or unhandled EOF by parse_statement.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user