mirror of https://git.sr.ht/~garritfra/sabre
Garrit Franke
3 years ago
4 changed files with 37 additions and 3 deletions
@ -0,0 +1,4 @@ |
|||||||
|
fn main() { |
||||||
|
let message = "Hello World!" |
||||||
|
print(message) |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
fn main() { |
||||||
|
print(fib(10)) |
||||||
|
} |
||||||
|
|
||||||
|
fn fib(n: int): int { |
||||||
|
if (n <= 1) { |
||||||
|
return n |
||||||
|
} |
||||||
|
|
||||||
|
return fib(n-1) + fib(n-2) |
||||||
|
} |
@ -1,9 +1,22 @@ |
|||||||
|
use lexer::TokenKind; |
||||||
|
use std::fs::File; |
||||||
|
use std::io::Read; |
||||||
|
|
||||||
mod lexer; |
mod lexer; |
||||||
mod parser; |
mod parser; |
||||||
|
|
||||||
fn main() { |
fn main() -> std::io::Result<()> { |
||||||
let tokens = lexer::tokenize(&"let x = 2"); |
let mut file = File::open("examples/hello_world.fx")?; |
||||||
|
let mut contents = String::new(); |
||||||
|
file.read_to_string(&mut contents)?; |
||||||
|
|
||||||
|
let tokens = lexer::tokenize(&contents); |
||||||
// let ast = parser::parse(tokens.into_iter());
|
// let ast = parser::parse(tokens.into_iter());
|
||||||
|
|
||||||
println!("{:?}", tokens) |
for token in tokens { |
||||||
|
if token.kind != TokenKind::Whitespace && token.kind != TokenKind::CarriageReturn { |
||||||
|
println!("{:?}", token); |
||||||
|
} |
||||||
|
} |
||||||
|
Ok(()) |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue