Compiler/code generator: Difference between revisions
Content deleted Content added
Added java version |
m Removed some unneeded prints |
||
Line 3,046:
static int get_word(int pos) {
int result;
result = ((code[pos] & 0xff) << 24) + ((code[pos + 1] & 0xff) << 16) + ((code[pos + 2] & 0xff) << 8) + (code[pos + 3] & 0xff) ;
return result;
Line 3,086:
int n, p1, p2;
if (x == null) return;
switch (x.nt) {
case nd_None: return;
Line 3,156:
code_gen(x.right);
emit_byte(x.nt.getMnemonic());
} else if (arrayContains(unary_ops, x.nt)) {
code_gen(x.left);
emit_byte(x.nt.getMnemonic());
Line 3,191 ⟶ 3,190:
pc += WORDSIZE;
break;
case ADD:
case
case
case
case JMP:
x = get_word(pc);
Line 3,297 ⟶ 3,283:
}
}
</lang>
=={{header|Julia}}==
<lang julia>import Base.show
|