test program

This commit is contained in:
nora 2021-10-07 20:39:31 +02:00
parent 1ed076a5d3
commit bea961bbbd
4 changed files with 28 additions and 3 deletions

View file

@ -20,7 +20,7 @@ impl Span {
#[derive(Debug, Clone)]
pub struct Token<'code> {
span: Span,
kind: TokenType<'code>,
pub(crate) kind: TokenType<'code>,
}
impl<'code> Token<'code> {

View file

@ -5,5 +5,11 @@ mod parse;
pub fn run_program(program: &str) {
let lexer = lex::Lexer::lex(program);
let tokens: Result<Vec<_>, _> = lexer.collect();
println!("{:#?}", tokens);
println!(
"{:#?}",
tokens.map(|tokens| tokens
.into_iter()
.map(|token| token.kind)
.collect::<Vec<_>>())
);
}

View file

@ -1,3 +1,15 @@
fn main() {
println!("Hello, world!");
if let Some(filename) = std::env::args().skip(1).next() {
println!("'{}'", filename);
match std::fs::read_to_string(filename) {
Ok(contents) => {
script_lang::run_program(&contents);
}
Err(err) => {
eprintln!("{}", err);
}
}
} else {
eprintln!("Usage: <filename>")
}
}

7
test.sl Normal file
View file

@ -0,0 +1,7 @@
fn main() {
let number = 5
let number2 = 5325
let is_equal = number == number2
print("Is Equal: " + is_equal)
}