Work on error messages

Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
Marcel Müller 2026-03-18 09:59:36 +01:00
parent 7f7bf5c98d
commit 42698bb219
13 changed files with 333 additions and 160 deletions

View file

@ -579,14 +579,15 @@ fn emit_expr_load(
#[cfg(test)]
mod tests {
use crate::compiler::emit_machine;
use crate::input::NomoInput;
#[test]
fn check_simple_variable_interpolation() {
let input = "Hello {{= world }}";
let input = NomoInput::from("Hello {{= world }}");
let parsed = crate::lexer::parse(input.into()).unwrap();
let parsed = crate::lexer::parse(input.clone()).unwrap();
let ast = crate::parser::parse(parsed.tokens()).unwrap();
let ast = crate::parser::parse(input, parsed.tokens()).unwrap();
let emit = emit_machine(ast);
@ -619,11 +620,12 @@ mod tests {
#[test]
fn check_if_else_if() {
let input = "{{ if foo }} foo {{ else if bar }} bar {{ else }} foobar {{ end }}";
let input =
NomoInput::from("{{ if foo }} foo {{ else if bar }} bar {{ else }} foobar {{ end }}");
let parsed = crate::lexer::parse(input.into()).unwrap();
let parsed = crate::lexer::parse(input.clone()).unwrap();
let ast = crate::parser::parse(parsed.tokens()).unwrap();
let ast = crate::parser::parse(input, parsed.tokens()).unwrap();
let emit = emit_machine(ast);
@ -632,11 +634,11 @@ mod tests {
#[test]
fn check_function_call() {
let input = "{{ if foo(23) }} bar {{ else }} foobar {{ end }}";
let input = NomoInput::from("{{ if foo(23) }} bar {{ else }} foobar {{ end }}");
let parsed = crate::lexer::parse(input.into()).unwrap();
let parsed = crate::lexer::parse(input.clone()).unwrap();
let ast = crate::parser::parse(parsed.tokens()).unwrap();
let ast = crate::parser::parse(input, parsed.tokens()).unwrap();
let emit = emit_machine(ast);