For more information visit wiki: https://github.com/Nilera/Compiler/wiki
- supported types:
int
,boolean
,char
- functions
- arrays
- strings
- global and local variables
- arithmetic expressions:
+
,-
,*
,/
,%
<
,<=
,>
,>=
,==
,!=
&&
,||
- control flow statements:
if
,if/else
,while
- I/O statements:
read(a)
andwrite(a)
- constant folding, constant propagation optimizations
int n;
int k;
int power(int k, int n) {
int r = 1;
while (k > 0) {
if (k % 2 == 1) {
r = r * n;
}
n = n * n;
k = k / 2;
}
return r;
}
void main() {
read(k);
read(n);
int r = power(k, n);
write(r);
}