I just committed 0.0.4 update to the Cola compiler.
Besides minor code cleanups, new features are:
Bitwise operators <<, >>, |, &, ~, ^
Logical operators &&, ||
Complex conditionals:
Logical expressions do lazy left right evaluation in the
standard C style.
if(i == 0 || j == 0 || k == 0) {
puts("one of them == 0\n");
}
The generated code should be mostly efficient except for a few
weird cases, but the optimizer will clean those up eventually.
Still todo are: ternary conditionals, assignments inside conditionals,
assignment operators like +=, -=, etc. and a few minor other issues
like constant folding.
Next stop: switch() statement.
-Melvin