Compare commits

..

1 commit
V1.0.1 ... main

Author SHA1 Message Date
60ce82e68b
fixed multi file error messages 2025-06-18 19:37:47 +02:00
3 changed files with 8 additions and 12 deletions

View file

@ -32,7 +32,8 @@ struct Compiled {
variables: Vec<Variable>, variables: Vec<Variable>,
strings: HashMap<u32, String>, strings: HashMap<u32, String>,
functions: HashMap<u32, Compiled>, functions: HashMap<u32, Compiled>,
try_catch: Option<u32> try_catch: Option<u32>,
ctx: Context
} }
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
@ -753,7 +754,8 @@ fn compile_function(ast: Vec<ASTPart>, args: Option<Vec<String>>, registers: &mu
variables, variables,
strings, strings,
functions, functions,
try_catch try_catch,
ctx: ctx.clone(),
}; };
} }
@ -825,7 +827,7 @@ fn compile_body(compiled: Compiled, fpos: &mut usize, ctx: &Context) -> (Vec<u8>
*fpos += 1; *fpos += 1;
append_be_num(&mut output, 3, *funcs as usize); append_be_num(&mut output, 3, *funcs as usize);
append_be_num(&mut output, 4, *fpos); 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 { for c in &mut context {
c.c_funcid = *fpos c.c_funcid = *fpos
} }

View file

@ -10,7 +10,7 @@ mod virtualmachine;
mod errors; mod errors;
mod decompiler; mod decompiler;
const CLIVER: [u8; 3] = [1,0,1]; const CLIVER: [u8; 3] = [1,0,2];
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
struct Context { struct Context {

View file

@ -1,8 +1,2 @@
gethelj con = kábel.kapcsolódj(szaft"example.com:80"szaft) hámozd test be szaft"test2.asl"szaft
con.írj(con, szaft"GET / HTTP/1.1 gethelj a = szaft"asd"szaft+1
User-Agent: Astro Lang
Host: example.com
"szaft)
ugass(con.olvass(con, 5120))
con.zár(con)