Test name | Component | Compiler exit code | Expected compiler exit code | Compiled program code | Expected compiled program code | Memory accesses | Max memory accesses | Result | Compiler Log | Simulator errors |
fibonacci |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
loop break continue |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
escaped chars |
ast |
224 |
0 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
arithmetic interpreter |
ast |
224 |
0 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
sort linked list |
ast |
224 |
0 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
arithmetics |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetics_plus |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetics_plus_mul |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetics_parentheses |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetics_modulo |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetics_division |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
unary_operator_1 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
unary_operator_2 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
function_call_1 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
function_call_2 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
return_1 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
return_2 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
return_3 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
return_4 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
nested_blocks_1 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
nested_blocks_2 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
blocks_in_sequence |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
assignment_1 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
assignment_2 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
print_s |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
read_c_1 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
read_c_2 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
read_i_1 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
read_i_2 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
print_c |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
print_i |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
while_loop |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
while_forever |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
if |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
if_else |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
if_else_if_else |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
if_if_else |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
procedure_declaration_1 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
procedure_declaration_2 |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
procedure_declarations |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_variable_declaration |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_variable_declarations |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
local_variable_declaration |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
local_variable_declarations |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
includes |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
minimal |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
struct_use |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
strliteral |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
pointers_and_arrays_and_structs |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
struct_decl |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
assignment_expression |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
fibonacci |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetic interpreter |
sem |
240 |
0 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
sort linked list |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
pass array with correct size |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
pass array with incorrect size |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
pass array with incorrect dims |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
minimal |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_declaration_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
duplicate_global_declarations_1 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
duplicate_global_declarations_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
many_duplicate_global_declarations |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_shadowing_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_shadowing_2 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_shadowing_3 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_shadowing_4 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_shadowing_5 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
local_shadowing_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
local_shadowing_2 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
mutual_recursion |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
undeclared_function_1 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
undeclared_function_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
undeclared_parameter |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
print_s |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
print_i |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
print_c |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
read_i |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
read_c |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_variable_assignment_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
global_variable_assignment_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
local_variable_assignment_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
local_variable_assignment_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
void_variable |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
main_return_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
main_return_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arity_mismatch_1 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arity_mismatch_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
function_returns_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
function_returns_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetics_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetics_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetics_3 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
function_call_1 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
function_call_2 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
conditional_1 |
sem |
0 |
240 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
conditional_2 |
sem |
0 |
240 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
conditional_3 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
conditional_4 |
sem |
0 |
240 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
shadowing_6 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
shadowing_7 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
shadowing_12 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
valid_lvalues |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
invalid_lvalue |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
struct_delc |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
struct_delc_and_use |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
struct_nesting |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
assignment_expression_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
assignment_expression_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
assignment_expression_3 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
multidim_array_decl |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
multidim_array_access_1 |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
multidim_array_access_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
Test name | Component | Compiler exit code | Expected compiler exit code | Compiled program code | Expected compiled program code | Memory accesses | Max memory accesses | Result | Compiler Log | Simulator errors |
sort linked list |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
java.base/java.util.Objects.requireNonNull(Objects.java:233)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:232)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:196)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:191)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:70)
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:57)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main3.compile(Main3.java:203)
Main3.main(Main3.java:65)
|
|
funcall multi-dimensional array |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
|
array in struct |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
array in struct 2 |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
Error in /tmp/tmpr6xzmw2x.asm line 321: Runtime exception at 0x00400214: store address not aligned on word boundary 0x7fffefcd
Processing terminated due to errors.
|
hello_world |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
int_literals |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
nested_whiles |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
shadowing |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
|
arithmetics |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
character_comparison |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
branching_1 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
branching_2 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
branching_3 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
count_down_from_n |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
count_to_n |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
global_variable |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
function_call |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
|
while_true |
gen |
0 |
0 |
125 |
125 |
N/A |
N/A |
Pass |
|
|
read_c |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
read_i |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
struct access |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
funcall with struct |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
ast.VarDecl.setFpOffset(VarDecl.java:80)
ast.StructType.lambda$setFpOffset$6(StructType.java:102)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
ast.StructType.setFpOffset(StructType.java:102)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:129)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:67)
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:57)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main3.compile(Main3.java:203)
Main3.main(Main3.java:65)
|
|
cashmachine |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
Error in : invalid program counter value: 0x00001000
Processing terminated due to errors.
|
dec2bin |
gen |
0 |
0 |
125 |
0 |
N/A |
N/A |
Fail |
|
|
fibonacci |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
factorial |
gen |
0 |
0 |
125 |
0 |
N/A |
N/A |
Fail |
|
|
is_leap_year |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
is_palindromic |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
is_prime |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
Error in /tmp/tmp1066_duy.asm line 533: Runtime exception at 0x00400498: store address not aligned on word boundary 0x10010062
Processing terminated due to errors.
|
pascals_triangle |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
|
tictactoe |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
Error in /tmp/tmpp_kgf_v7.asm line 4362: Runtime exception at 0x0040306c: fetch address not aligned on word boundary 0x7fffefbd
Processing terminated due to errors.
|
towers_of_hanoi |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
Error in /tmp/tmpzk628l2r.asm line 311: Runtime exception at 0x00400168: fetch address not aligned on word boundary 0x7fffefd7
Processing terminated due to errors.
|
binary_search |
gen |
0 |
0 |
125 |
0 |
N/A |
N/A |
Fail |
|
|
Test name | Component | Compiler exit code | Expected compiler exit code | Compiled program code | Expected compiled program code | Memory accesses | Max memory accesses | Result | Compiler Log | Simulator errors |
hidden1 |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
Error in /tmp/tmpnhwpusaf.asm line 1229: Runtime exception at 0x00400308: store address not aligned on word boundary 0x10010005
Processing terminated due to errors.
|
hidden2 |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
Error in : invalid program counter value: 0x00000100
Processing terminated due to errors.
|
hidden3 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
ast.VarDecl.setFpOffset(VarDecl.java:80)
ast.StructType.lambda$setFpOffset$6(StructType.java:102)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
ast.StructType.setFpOffset(StructType.java:102)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:129)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:67)
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:57)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main3.compile(Main3.java:203)
Main3.main(Main3.java:65)
|
|
hidden4 |
gen |
0 |
0 |
125 |
0 |
N/A |
N/A |
Fail |
|
|
hidden5 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
ast.VarDecl.getOffset(VarDecl.java:63)
ast.StructType.getOffset(StructType.java:87)
gen.ExprValCodeGen.getAddressOf(ExprValCodeGen.java:701)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:69)
gen.StmtCodeGen.visit(StmtCodeGen.java:59)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.StmtCodeGen.visit(StmtCodeGen.java:33)
gen.FunCodeGen.visit(FunCodeGen.java:166)
gen.ProgramCodeGen.lambda$generate$12(ProgramCodeGen.java:79)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:76)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main3.compile(Main3.java:203)
Main3.main(Main3.java:65)
|
|
hidden6 |
gen |
0 |
0 |
125 |
0 |
N/A |
N/A |
Fail |
|
|
hidden7 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
java.base/java.util.Objects.requireNonNull(Objects.java:233)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:342)
gen.StmtCodeGen.visit(StmtCodeGen.java:59)
gen.FunCodeGen.visit(FunCodeGen.java:159)
gen.ProgramCodeGen.lambda$generate$12(ProgramCodeGen.java:79)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:76)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main3.compile(Main3.java:203)
Main3.main(Main3.java:65)
|
|
hidden8 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
java.base/java.util.Objects.requireNonNull(Objects.java:233)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:342)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:606)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:70)
gen.StmtCodeGen.visit(StmtCodeGen.java:59)
gen.FunCodeGen.visit(FunCodeGen.java:159)
gen.ProgramCodeGen.lambda$generate$12(ProgramCodeGen.java:79)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:76)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main3.compile(Main3.java:203)
Main3.main(Main3.java:65)
|
|
hidden9 |
gen |
240 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
|
|
hidden10 |
gen |
240 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
|
|
hidden11 |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
Error in /tmp/tmpmfrbehfr.asm line 386: Runtime exception at 0x00400340: store address not aligned on word boundary 0x7fffefdd
Processing terminated due to errors.
|
hidden12 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
ast.VarDecl.setFpOffset(VarDecl.java:80)
ast.StructType.lambda$setFpOffset$6(StructType.java:102)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
ast.StructType.setFpOffset(StructType.java:102)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:129)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.MemAllocCodeGen.visit(MemAllocCodeGen.java:67)
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:57)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main3.compile(Main3.java:203)
Main3.main(Main3.java:65)
|
|
hidden13 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ExprValCodeGen.getAddressOf(ExprValCodeGen.java:746)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:51)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:609)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:341)
gen.StmtCodeGen.visit(StmtCodeGen.java:59)
gen.FunCodeGen.visit(FunCodeGen.java:159)
gen.ProgramCodeGen.lambda$generate$12(ProgramCodeGen.java:79)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:76)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main3.compile(Main3.java:203)
Main3.main(Main3.java:65)
|
|
hidden14 |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
Error in /tmp/tmptuqm_rew.asm line 377: Runtime exception at 0x004002a4: store address not aligned on word boundary 0x7fffefed
Processing terminated due to errors.
|
Test name | Component | Compiler exit code | Expected compiler exit code | Compiled program code | Expected compiled program code | Memory accesses | Max memory accesses | Result | Compiler Log | Simulator errors |
array_complex_reduction_8 |
regalloc |
0 |
0 |
230 |
0 |
N/A |
49 |
Fail |
|
|
arithmetic_chain_short_hoisted |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
balanced_arithmetic_tree_large |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
arithmetic_chains_long |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
balanced_addition_tree_small_hoisted |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_simple_reduction_1 |
regalloc |
0 |
0 |
230 |
0 |
N/A |
86 |
Fail |
|
|
array_complex_reduction_2 |
regalloc |
0 |
0 |
260 |
0 |
71 |
67 + 5% |
Fail |
|
|
array_complex_reduction_3 |
regalloc |
0 |
0 |
0 |
0 |
43 |
45 + 5% |
Pass |
|
|
balanced_arithmetic_tree_small_hoisted |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_complex_reduction_12 |
regalloc |
0 |
0 |
0 |
0 |
48 |
48 + 5% |
Pass |
|
|
arithmetic_chains_short_hoisted |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
arithmetic_chain_long_hoisted |
regalloc |
0 |
0 |
0 |
0 |
12 |
12 + 5% |
Pass |
|
|
array_simple_reduction_4 |
regalloc |
0 |
0 |
0 |
0 |
20 |
22 + 5% |
Pass |
|
|
balanced_addition_tree_large_hoisted |
regalloc |
1 |
0 |
0 |
0 |
N/A |
84 |
Fail |
java.lang.Throwable:
regalloc.InterferenceGraph.getSpilledReservedRegister(InterferenceGraph.java:200)
regalloc.GraphColouringRegAlloc.lambda$apply$0(GraphColouringRegAlloc.java:364)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
regalloc.GraphColouringRegAlloc.apply(GraphColouringRegAlloc.java:34)
Main4.compile(Main4.java:270)
Main4.main(Main4.java:72)
|
|
array_complex_reduction_4 |
regalloc |
0 |
0 |
0 |
0 |
23 |
25 + 5% |
Pass |
|
|
array_complex_reduction_6 |
regalloc |
0 |
0 |
260 |
0 |
115 |
73 + 5% |
Fail |
|
|
addition_chain_long |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
arithmetic_chains_short |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
array_multiplication_table_sum |
regalloc |
0 |
0 |
0 |
0 |
35 |
37 + 5% |
Pass |
|
|
array_simple_reduction_2 |
regalloc |
0 |
0 |
0 |
0 |
14 |
16 + 5% |
Pass |
|
|
hello_world |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
int_literals |
regalloc |
0 |
0 |
0 |
0 |
24 |
24 + 5% |
Pass |
|
|
nested_whiles |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
shadowing |
regalloc |
0 |
0 |
0 |
0 |
40 |
48 + 5% |
Pass |
|
|
arithmetics |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
character_comparison |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
branching_1 |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
branching_2 |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
branching_3 |
regalloc |
0 |
0 |
0 |
0 |
16 |
16 + 5% |
Pass |
|
|
count_down_from_n |
regalloc |
0 |
0 |
0 |
0 |
12 |
12 + 5% |
Pass |
|
|
count_to_n |
regalloc |
0 |
0 |
0 |
0 |
12 |
12 + 5% |
Pass |
|
|
global_variable |
regalloc |
0 |
0 |
0 |
0 |
6 |
6 + 5% |
Pass |
|
|
function_call |
regalloc |
0 |
0 |
0 |
0 |
15 |
17 + 5% |
Pass |
|
|
read_c |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
read_i |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
struct access |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
funcall with struct |
regalloc |
0 |
0 |
230 |
0 |
N/A |
39 |
Fail |
|
Error in /tmp/tmpmt0t8tmu.asm line 169: Runtime exception at 0x004000f8: store address not aligned on word boundary 0x00000001
Processing terminated due to errors.
|
cashmachine |
regalloc |
0 |
0 |
230 |
0 |
N/A |
479 |
Fail |
|
|
dec2bin |
regalloc |
0 |
0 |
230 |
0 |
N/A |
140 |
Fail |
|
|
fibonacci |
regalloc |
0 |
0 |
0 |
0 |
24 |
24 + 5% |
Pass |
|
|
factorial |
regalloc |
0 |
0 |
0 |
0 |
50 |
58 + 5% |
Pass |
|
|
is_leap_year |
regalloc |
0 |
0 |
0 |
0 |
28 |
28 + 5% |
Pass |
|
|
is_palindromic |
regalloc |
0 |
0 |
0 |
0 |
20 |
20 + 5% |
Pass |
|
|
is_prime |
regalloc |
0 |
0 |
0 |
0 |
32 |
36 + 5% |
Pass |
|
|
pascals_triangle |
regalloc |
0 |
0 |
125 |
0 |
N/A |
95 |
Fail |
|
|
tictactoe |
regalloc |
0 |
0 |
230 |
0 |
N/A |
591 |
Fail |
|
Exception in thread "MIPS" java.lang.NullPointerException: Cannot invoke "String.trim()" because "input" is null
at mars.util.SystemIO.readInteger(SystemIO.java:102)
at mars.mips.instructions.syscalls.SyscallReadInt.simulate(SyscallReadInt.java:57)
at mars.mips.instructions.InstructionSet.findAndSimulateSyscall(InstructionSet.java:3241)
at mars.mips.instructions.InstructionSet.access$200(InstructionSet.java:47)
at mars.mips.instructions.InstructionSet$63.simulate(InstructionSet.java:1196)
at mars.simulator.Simulator$SimThread.construct(Simulator.java:346)
at mars.simulator.SwingWorker$2.run(SwingWorker.java:115)
at java.base/java.lang.Thread.run(Thread.java:1583)
Program terminated when maximum step limit -1 reached.
|
towers_of_hanoi |
regalloc |
0 |
0 |
0 |
0 |
64 |
86 + 5% |
Pass |
|
|
binary_search |
regalloc |
0 |
0 |
230 |
0 |
N/A |
59 |
Fail |
|
Error in /tmp/tmp8o8kx__p.asm line 241: Runtime exception at 0x00400150: store address not aligned on word boundary 0x00000001
Processing terminated due to errors.
|
arithmetic_chain_partially_hoisted |
regalloc |
0 |
0 |
0 |
0 |
14 |
28 + 5% |
Pass |
|
|
arithmetic_chain_long_partially_hoisted |
regalloc |
0 |
0 |
0 |
0 |
14 |
20 + 5% |
Pass |
|
|
arithmetic_chain_hoisted_unbalanced_usage |
regalloc |
0 |
0 |
0 |
0 |
14 |
22 + 5% |
Pass |
|
|
arithmetic_chain_long_hoisted_unbalanced_usage |
regalloc |
0 |
0 |
0 |
0 |
14 |
24 + 5% |
Pass |
|
|
arithmetic_chain_hoisted_multiple_uses |
regalloc |
0 |
0 |
230 |
0 |
N/A |
96 |
Fail |
|
|
arithmetic_chain_unbalanced_tree_1 |
regalloc |
1 |
0 |
0 |
0 |
N/A |
146 |
Fail |
java.lang.Throwable:
regalloc.InterferenceGraph.getSpilledReservedRegister(InterferenceGraph.java:200)
regalloc.GraphColouringRegAlloc.lambda$apply$0(GraphColouringRegAlloc.java:364)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
regalloc.GraphColouringRegAlloc.apply(GraphColouringRegAlloc.java:34)
Main4.compile(Main4.java:270)
Main4.main(Main4.java:72)
|
|
prefix_sum_1 |
regalloc |
0 |
0 |
0 |
0 |
34 |
46 + 5% |
Pass |
|
|
prefix_sum_2 |
regalloc |
0 |
0 |
0 |
0 |
44 |
56 + 5% |
Pass |
|
|
array_reduction_dead_code |
regalloc |
0 |
0 |
0 |
0 |
64 |
78 + 5% |
Pass |
|
|
array_reduction_shadowing |
regalloc |
0 |
0 |
0 |
0 |
41 |
57 + 5% |
Pass |
|
|
many_unused_vars |
regalloc |
0 |
0 |
0 |
0 |
22 |
26 + 5% |
Pass |
|
|
greatest_common_divisor |
regalloc |
0 |
0 |
0 |
0 |
39 |
47 + 5% |
Pass |
|
|
nth_triangle_number_multi_func |
regalloc |
0 |
0 |
230 |
0 |
N/A |
108 |
Fail |
|
|
regalloc_tribonacci |
regalloc |
0 |
0 |
125 |
0 |
N/A |
52 |
Fail |
|
|
arithmetic_chain_hoisted_unbalanced_tree |
regalloc |
0 |
0 |
230 |
0 |
N/A |
122 |
Fail |
|
|
arithmetic_chain_unbalanced_tree_2 |
regalloc |
0 |
0 |
0 |
0 |
14 |
18 + 5% |
Pass |
|
|
array_difference |
regalloc |
0 |
0 |
0 |
0 |
39 |
51 + 5% |
Pass |
|
|
find_triplet_sum |
regalloc |
0 |
0 |
0 |
0 |
48 |
64 + 5% |
Pass |
|
|
hofstadter |
regalloc |
0 |
0 |
230 |
0 |
N/A |
84 |
Fail |
|
|
redundant_assignments |
regalloc |
0 |
0 |
0 |
0 |
26 |
54 + 5% |
Pass |
|
|
array_complex_reduction_5 |
regalloc |
0 |
0 |
0 |
0 |
26 |
28 + 5% |
Pass |
|
|
addition_chain_short_hoisted |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_complex_reduction_11 |
regalloc |
124 |
0 |
0 |
0 |
N/A |
153 |
Fail |
|
|
arithmetic_chain_long |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
addition_chain_short |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_sum |
regalloc |
0 |
0 |
0 |
0 |
29 |
31 + 5% |
Pass |
|
|
addition_chain_long_hoisted |
regalloc |
0 |
0 |
0 |
0 |
18 |
18 + 5% |
Pass |
|
|
array_concat_dot_product |
regalloc |
0 |
0 |
0 |
0 |
55 |
57 + 5% |
Pass |
|
|
balanced_addition_tree_small |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_dot_product |
regalloc |
0 |
0 |
0 |
0 |
39 |
41 + 5% |
Pass |
|
|
balanced_addition_tree_large |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_complex_reduction_9 |
regalloc |
0 |
0 |
230 |
0 |
N/A |
66 |
Fail |
|
|
array_simple_reduction_3 |
regalloc |
0 |
0 |
0 |
0 |
61 |
63 + 5% |
Pass |
|
|
arithmetic_chain_short |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
arithmetic_chains_long_hoisted |
regalloc |
0 |
0 |
260 |
0 |
31 |
23 + 5% |
Fail |
|
|
array_complex_reduction_1 |
regalloc |
0 |
0 |
0 |
0 |
51 |
53 + 5% |
Pass |
|
|
array_complex_reduction_7 |
regalloc |
0 |
0 |
0 |
0 |
44 |
42 + 5% |
Pass |
|
|
balanced_arithmetic_tree_large_hoisted |
regalloc |
1 |
0 |
0 |
0 |
N/A |
177 |
Fail |
java.lang.Throwable:
regalloc.InterferenceGraph.getSpilledReservedRegister(InterferenceGraph.java:200)
regalloc.GraphColouringRegAlloc.lambda$apply$0(GraphColouringRegAlloc.java:364)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
regalloc.GraphColouringRegAlloc.apply(GraphColouringRegAlloc.java:34)
Main4.compile(Main4.java:270)
Main4.main(Main4.java:72)
|
|
balanced_arithmetic_tree_small |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_complex_reduction_10 |
regalloc |
0 |
0 |
260 |
0 |
91 |
81 + 5% |
Fail |
|
|
Test name | Component | Compiler exit code | Expected compiler exit code | Compiled program code | Expected compiled program code | Memory accesses | Max memory accesses | Result | Compiler Log | Simulator errors |
single class declaration |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
extend class not yet declared |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class extend other class |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class method overriding |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class field overriding |
sem |
0 |
240 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
class method redefined |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class method invalid overriding |
sem |
1 |
240 |
N/A |
N/A |
N/A |
N/A |
Fail |
java.lang.Throwable:
java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100)
java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302)
java.base/java.util.Objects.checkIndex(Objects.java:385)
java.base/java.util.ArrayList.get(ArrayList.java:427)
sem.TypeAnalyzer.visit(TypeAnalyzer.java:94)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
sem.TypeAnalyzer.visit(TypeAnalyzer.java:150)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
sem.TypeAnalyzer.visit(TypeAnalyzer.java:579)
sem.SemanticAnalyzer.analyze(SemanticAnalyzer.java:13)
Main4.compile(Main4.java:208)
Main4.main(Main4.java:72)
|
|
simple class instantiation |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class instantiation without cast |
sem |
0 |
240 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
class instantiation with cast |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
instantiation undeclared class |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
field access simple |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
field access inherited |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
field access undeclared |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
field access multiple |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
field access parameter |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
field access parameter invalid |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class function call overrided |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class function call and field access |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class function call undeclared |
sem |
0 |
240 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
class function call inherited |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class type casting with field access and function call |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class type casting with invalid field access |
sem |
0 |
240 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
class type casting with invalid function call |
sem |
0 |
240 |
N/A |
N/A |
N/A |
N/A |
Fail |
|
|
simple_class |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
java.base/java.util.Objects.requireNonNull(Objects.java:233)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:342)
gen.StmtCodeGen.visit(StmtCodeGen.java:59)
gen.FunCodeGen.visit(FunCodeGen.java:159)
gen.ProgramCodeGen.lambda$generate$12(ProgramCodeGen.java:79)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:76)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_polymorphism |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_polymorphism_typecast |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_inheritance1 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_inheritance2 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_reference1 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_reference2 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_reference3 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_reference4 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_function_call1 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
ast.VarDecl.getOffset(VarDecl.java:63)
ast.ClassType.getOffset(ClassType.java:198)
gen.ExprValCodeGen.getAddressOf(ExprValCodeGen.java:709)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:290)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:109)
gen.StmtCodeGen.visit(StmtCodeGen.java:59)
gen.StmtCodeGen.visit(StmtCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.StmtCodeGen.visit(StmtCodeGen.java:33)
gen.FunCodeGen.visit(FunCodeGen.java:166)
gen.ProgramCodeGen.lambda$generate$12(ProgramCodeGen.java:79)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:76)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_function_call2 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_function_call_reference |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:67)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_function_call_typecast |
gen |
240 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
|
|
class_code_gen_function_call_poly |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
ast.StrLiteral.getLabel(StrLiteral.java:35)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:601)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:606)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:341)
gen.StmtCodeGen.visit(StmtCodeGen.java:59)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.StmtCodeGen.visit(StmtCodeGen.java:33)
gen.FunCodeGen.visit(FunCodeGen.java:166)
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:68)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_inheritance_field |
gen |
240 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
|
|
class_code_gen_inheritance_function |
gen |
240 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
|
|
class_code_gen_shadow_field |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
ast.VarDecl.getFpOffset(VarDecl.java:86)
gen.ExprValCodeGen.getAddressOf(ExprValCodeGen.java:741)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:69)
gen.StmtCodeGen.visit(StmtCodeGen.java:59)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.StmtCodeGen.visit(StmtCodeGen.java:33)
gen.FunCodeGen.visit(FunCodeGen.java:166)
gen.ProgramCodeGen.lambda$generate$10(ProgramCodeGen.java:68)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.lambda$generate$11(ProgramCodeGen.java:66)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:60)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_fields1 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100)
java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302)
java.base/java.util.Objects.checkIndex(Objects.java:385)
java.base/java.util.ArrayList.get(ArrayList.java:427)
sem.TypeAnalyzer.visit(TypeAnalyzer.java:94)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
sem.TypeAnalyzer.visit(TypeAnalyzer.java:579)
sem.SemanticAnalyzer.analyze(SemanticAnalyzer.java:13)
Main4.compile(Main4.java:208)
Main4.main(Main4.java:72)
|
|
class_code_gen_fields2 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100)
java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302)
java.base/java.util.Objects.checkIndex(Objects.java:385)
java.base/java.util.ArrayList.get(ArrayList.java:427)
sem.TypeAnalyzer.visit(TypeAnalyzer.java:94)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
sem.TypeAnalyzer.visit(TypeAnalyzer.java:579)
sem.SemanticAnalyzer.analyze(SemanticAnalyzer.java:13)
Main4.compile(Main4.java:208)
Main4.main(Main4.java:72)
|
|
class_code_gen_function_inherited |
gen |
240 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
|
|