From 60ce82e68bebcb842b417fba440b96b5a12720eb Mon Sep 17 00:00:00 2001 From: afonya Date: Wed, 18 Jun 2025 19:37:47 +0200 Subject: [PATCH] fixed multi file error messages --- src/compiler.rs | 8 +++++--- src/main.rs | 2 +- test.asl | 10 ++-------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/compiler.rs b/src/compiler.rs index d30d014..49110e5 100644 --- a/src/compiler.rs +++ b/src/compiler.rs @@ -32,7 +32,8 @@ struct Compiled { variables: Vec, strings: HashMap, functions: HashMap, - try_catch: Option + try_catch: Option, + ctx: Context } #[derive(Debug, Clone)] @@ -753,7 +754,8 @@ fn compile_function(ast: Vec, args: Option>, registers: &mu variables, strings, functions, - try_catch + try_catch, + ctx: ctx.clone(), }; } @@ -825,7 +827,7 @@ fn compile_body(compiled: Compiled, fpos: &mut usize, ctx: &Context) -> (Vec *fpos += 1; append_be_num(&mut output, 3, *funcs as usize); append_be_num(&mut output, 4, *fpos); - let (compiled, mut context) = compile_body(compiled.functions[funcs].clone(), fpos, ctx); + let (compiled, mut context) = compile_body(compiled.functions[funcs].clone(), fpos, &compiled.functions[funcs].ctx); for c in &mut context { c.c_funcid = *fpos } diff --git a/src/main.rs b/src/main.rs index 291e975..0b758b0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,7 +10,7 @@ mod virtualmachine; mod errors; mod decompiler; -const CLIVER: [u8; 3] = [1,0,1]; +const CLIVER: [u8; 3] = [1,0,2]; #[derive(Debug, Clone)] struct Context { diff --git a/test.asl b/test.asl index c56098e..3324140 100644 --- a/test.asl +++ b/test.asl @@ -1,8 +1,2 @@ -gethelj con = kábel.kapcsolódj(szaft"example.com:80"szaft) -con.írj(con, szaft"GET / HTTP/1.1 -User-Agent: Astro Lang -Host: example.com - -"szaft) -ugass(con.olvass(con, 5120)) -con.zár(con) \ No newline at end of file +hámozd test be szaft"test2.asl"szaft +gethelj a = szaft"asd"szaft+1 \ No newline at end of file