uxn-tal 0.2.2

A Rust library for assembling TAL (Tal Assembly Language) files into UXN ROM files
Documentation
use uxn_tal::lexer::Lexer;
use uxn_tal::parser::Parser;

fn main() {
    let source = r#"
        |0100
        ;data
        @data #42
    "#;

    println!("=== Lexing ===");
    let mut lexer = Lexer::new(source.to_string(), None);
    let tokens = lexer.tokenize().expect("Lexing failed");

    for (i, token) in tokens.iter().enumerate() {
        println!("{}: {:?}", i, token);
    }

    println!("\n=== Parsing ===");
    let path = "<test>".to_string();
    let mut parser = Parser::new_with_source(tokens, path.clone(), source.to_string());
    let ast = parser.parse().expect("Parsing failed");

    for (i, node) in ast.iter().enumerate() {
        println!("{}: {:?}", i, node);
    }
}