Compiler/code generator: Difference between revisions

m
Removed some unneeded prints
(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;
//System.out.println("Node: "+x.nt);
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)) {
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: System.out.print("add");case break;SUB: case MUL: case DIV: case MOD:
case SUBLT: System.out.print("sub");case break;GT: case LE: case GE: case EQ: case NE:
case MULAND: System.out.print("mul");case break;OR: case NEG: case NOT:
case DIVPRTC: System.out.print("div");case break;PRTI: case PRTS: case HALT:
case MOD: System.out.print("mod"op.toString().toLowerCase()); break;
case LT: System.out.print("lt"); break;
case GT: System.out.print("gt"); break;
case LE: System.out.print("le"); break;
case GE: System.out.print("ge"); break;
case EQ: System.out.print("eq"); break;
case NE: System.out.print("ne"); break;
case AND: System.out.print("and"); break;
case OR: System.out.print("or"); break;
case NEG: System.out.print("neg"); break;
case NOT: System.out.print("not"); break;
case PRTC: System.out.print("prtc"); break;
case PRTI: System.out.print("prti"); break;
case PRTS: System.out.print("prts"); break;
case HALT: System.out.print("halt"); break;
case JMP:
x = get_word(pc);
Line 3,297 ⟶ 3,283:
}
}
 
</lang>
 
=={{header|Julia}}==
<lang julia>import Base.show
Anonymous user