use glyph_runtime::compiler::compile_and_run;
fn main() {
let while_loop = r#"
@program(name="while_test", version="1.0", requires=[])
def main():
let count = 0
let sum = 0
while count < 5:
sum = sum + count
count = count + 1
return sum
"#;
match compile_and_run(while_loop) {
Ok(value) => println!("While loop result: {value:?}"),
Err(e) => println!("While loop error: {e:?}"),
}
let for_loop = r#"
@program(name="for_test", version="1.0", requires=[])
def main():
let numbers = [1, 2, 3, 4, 5]
let sum = 0
for num in numbers:
sum = sum + num
return sum
"#;
match compile_and_run(for_loop) {
Ok(value) => println!("For loop result: {value:?}"),
Err(e) => println!("For loop error: {e:?}"),
}
let break_continue = r#"
@program(name="break_continue_test", version="1.0", requires=[])
def main():
let count = 0
let sum = 0
while count < 10:
count = count + 1
if count == 3:
continue
if count == 7:
break
sum = sum + count
return sum # Should be 1 + 2 + 4 + 5 + 6 = 18
"#;
match compile_and_run(break_continue) {
Ok(value) => println!("Break/continue result: {value:?}"),
Err(e) => println!("Break/continue error: {e:?}"),
}
}