Flow control
// Program flow control
/*
You can find several ways to control program execution flow in BL,
the simplest one is 'if' statement. We use if to check the value of
'should_print' boolean variable and if the value is true we
continue with execution to the following block. The else statement
is optional and will be executed in case 'should_print' was false.
Sometimes we want to execute part of program multiple times. In
such case use of the 'loop' statement is the best choise.
*/
main :: fn () s32 {
// Declare bool variable and set it to true.
should_print := true;
// Use of the if statement to create two execution branches.
if should_print {
// This will be called when 'should_print' is true.
print("This will be printed!\n");
} else {
// Optional else block.
}
// We need some counter to count loop iterations.
i := 0;
loop { // Execute block in loop.
// Compare value of i to 10 and break the loop when this
// condition is true. We stay in this loop forever without
// break call.
if i == 10 { break; }
print("Hello!\n");
// Increase value of i by one.
i += 1;
}
// Check break condition directly by loop statement.
j := 0;
loop j < 10 { // Continue looping when j is less than 10.
print("j = %\n", j); // Use % delimiter to print value of j.
j += 1;
}
// And finally...
loop k := 0; k < 10; k += 1 {
print("k = %\n", k);
}
return 0;
}