Statements¶
Statements in Reflex include control structures, assignment statements, and routine and reflex execution statements. A reflex or routine is made of a series of statements. In addition, a variable_declaration is a special type of statement which must preceed other types of statements within a statement list.
Control Statements¶
The largest class of statements are the control statements. These include branching statements like If-else and switch statements and looping control statements with include for and while loops. The reflex language syntax for control statements follows the familiar C-Like pattern. However the lack of sub scoping and the fact that variables are defined before other statments means that care must be given when introducing control statments which use variables.
There is only one variable scope within the reflex language and that is the routine/reflex scope. compound statements that are part of a loop or if statement do not introduce new scope, and declared variables are visible and available throughout the routine.
Control statments include:
Control Statements
If/Else
Branching
Switch
Branching
While
Looping
For
Looping
Do while
Looping
If/Else¶
If/Else statements follow the C syntax. For example;
if ( a == b ) {
...
} else {
...
}
Switch¶
Switch statements follow the C syntax. For example;
switch ( a ) {
case 1:
...
break;
case 2:
...
break;
default:
...
break;
}
While¶
While statements follow the C syntax. For example;
while ( a != b ) {
...
}
For¶
For statements follow the C syntax. However the iteration variable must be declared with The rest of the variable declarations at the beginning of the reflex or routine compound statement. For example;
reflex mapEnable() {
int i;
for ( i = k; i > 0; i-- ) {
...
}
Do While¶
Do while statements follow the C syntax. For example;
do {
...
} while (a != b);