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 |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
arithmetic interpreter |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
sort linked list |
ast |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
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 |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
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 |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
conditional_2 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
conditional_3 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
conditional_4 |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
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 |
array_complex_reduction_8 |
regalloc |
0 |
0 |
0 |
0 |
45 |
49 + 5% |
Pass |
|
|
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 |
0 |
0 |
82 |
86 + 5% |
Pass |
|
|
array_complex_reduction_2 |
regalloc |
0 |
0 |
0 |
0 |
59 |
67 + 5% |
Pass |
|
|
array_complex_reduction_3 |
regalloc |
0 |
0 |
0 |
0 |
45 |
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 |
6 |
12 + 5% |
Pass |
|
|
array_simple_reduction_4 |
regalloc |
0 |
0 |
0 |
0 |
22 |
22 + 5% |
Pass |
|
|
balanced_addition_tree_large_hoisted |
regalloc |
0 |
0 |
0 |
0 |
64 |
84 + 5% |
Pass |
|
|
array_complex_reduction_4 |
regalloc |
0 |
0 |
0 |
0 |
25 |
25 + 5% |
Pass |
|
|
array_complex_reduction_6 |
regalloc |
0 |
0 |
0 |
0 |
69 |
73 + 5% |
Pass |
|
|
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 |
37 |
37 + 5% |
Pass |
|
|
array_simple_reduction_2 |
regalloc |
0 |
0 |
0 |
0 |
16 |
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 |
44 |
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 |
17 |
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/tmpqxaaxuce.asm line 110: Runtime exception at 0x00400110: store address not aligned on word boundary 0x00000003
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 |
56 |
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 |
36 |
36 + 5% |
Pass |
|
|
pascals_triangle |
regalloc |
0 |
0 |
230 |
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 |
76 |
86 + 5% |
Pass |
|
|
binary_search |
regalloc |
0 |
0 |
230 |
0 |
N/A |
59 |
Fail |
|
|
arithmetic_chain_partially_hoisted |
regalloc |
0 |
0 |
0 |
0 |
28 |
28 + 5% |
Pass |
|
|
arithmetic_chain_long_partially_hoisted |
regalloc |
0 |
0 |
0 |
0 |
20 |
20 + 5% |
Pass |
|
|
arithmetic_chain_hoisted_unbalanced_usage |
regalloc |
0 |
0 |
0 |
0 |
22 |
22 + 5% |
Pass |
|
|
arithmetic_chain_long_hoisted_unbalanced_usage |
regalloc |
0 |
0 |
0 |
0 |
24 |
24 + 5% |
Pass |
|
|
arithmetic_chain_hoisted_multiple_uses |
regalloc |
0 |
0 |
230 |
0 |
N/A |
96 |
Fail |
|
|
arithmetic_chain_unbalanced_tree_1 |
regalloc |
0 |
0 |
0 |
0 |
78 |
146 + 5% |
Pass |
|
|
prefix_sum_1 |
regalloc |
0 |
0 |
0 |
0 |
46 |
46 + 5% |
Pass |
|
|
prefix_sum_2 |
regalloc |
0 |
0 |
0 |
0 |
56 |
56 + 5% |
Pass |
|
|
array_reduction_dead_code |
regalloc |
0 |
0 |
0 |
0 |
78 |
78 + 5% |
Pass |
|
|
array_reduction_shadowing |
regalloc |
0 |
0 |
0 |
0 |
57 |
57 + 5% |
Pass |
|
|
many_unused_vars |
regalloc |
0 |
0 |
0 |
0 |
26 |
26 + 5% |
Pass |
|
|
greatest_common_divisor |
regalloc |
0 |
0 |
0 |
0 |
47 |
47 + 5% |
Pass |
|
|
nth_triangle_number_multi_func |
regalloc |
0 |
0 |
230 |
0 |
N/A |
108 |
Fail |
|
|
regalloc_tribonacci |
regalloc |
0 |
0 |
230 |
0 |
N/A |
52 |
Fail |
|
|
arithmetic_chain_hoisted_unbalanced_tree |
regalloc |
0 |
0 |
0 |
0 |
68 |
122 + 5% |
Pass |
|
|
arithmetic_chain_unbalanced_tree_2 |
regalloc |
0 |
0 |
0 |
0 |
18 |
18 + 5% |
Pass |
|
|
array_difference |
regalloc |
0 |
0 |
0 |
0 |
51 |
51 + 5% |
Pass |
|
|
find_triplet_sum |
regalloc |
0 |
0 |
0 |
0 |
64 |
64 + 5% |
Pass |
|
|
hofstadter |
regalloc |
0 |
0 |
230 |
0 |
N/A |
84 |
Fail |
|
|
redundant_assignments |
regalloc |
0 |
0 |
0 |
0 |
54 |
54 + 5% |
Pass |
|
|
array_complex_reduction_5 |
regalloc |
0 |
0 |
0 |
0 |
28 |
28 + 5% |
Pass |
|
|
addition_chain_short_hoisted |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_complex_reduction_11 |
regalloc |
0 |
0 |
0 |
0 |
149 |
153 + 5% |
Pass |
|
|
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 |
31 |
31 + 5% |
Pass |
|
|
addition_chain_long_hoisted |
regalloc |
0 |
0 |
0 |
0 |
12 |
18 + 5% |
Pass |
|
|
array_concat_dot_product |
regalloc |
0 |
0 |
0 |
0 |
57 |
57 + 5% |
Pass |
|
|
balanced_addition_tree_small |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_dot_product |
regalloc |
0 |
0 |
0 |
0 |
41 |
41 + 5% |
Pass |
|
|
balanced_addition_tree_large |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_complex_reduction_9 |
regalloc |
0 |
0 |
0 |
0 |
62 |
66 + 5% |
Pass |
|
|
array_simple_reduction_3 |
regalloc |
0 |
0 |
0 |
0 |
63 |
63 + 5% |
Pass |
|
|
arithmetic_chain_short |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
arithmetic_chains_long_hoisted |
regalloc |
0 |
0 |
0 |
0 |
14 |
23 + 5% |
Pass |
|
|
array_complex_reduction_1 |
regalloc |
0 |
0 |
0 |
0 |
53 |
53 + 5% |
Pass |
|
|
array_complex_reduction_7 |
regalloc |
0 |
0 |
0 |
0 |
42 |
42 + 5% |
Pass |
|
|
balanced_arithmetic_tree_large_hoisted |
regalloc |
0 |
0 |
0 |
0 |
148 |
177 + 5% |
Pass |
|
|
balanced_arithmetic_tree_small |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
array_complex_reduction_10 |
regalloc |
0 |
0 |
0 |
0 |
81 |
81 + 5% |
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 |
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 |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class method redefined |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class method invalid overriding |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
simple class instantiation |
sem |
0 |
0 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class instantiation without cast |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
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 |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
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 |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
class type casting with invalid function call |
sem |
240 |
240 |
N/A |
N/A |
N/A |
N/A |
Pass |
|
|
simple_class |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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:
gen.ExprValCodeGen.getFieldOffset(ExprValCodeGen.java:680)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:133)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:252)
gen.StmtCodeGen.visit(StmtCodeGen.java:37)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.getFieldOffset(ExprValCodeGen.java:680)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:133)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:252)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:252)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:252)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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.ExprValCodeGen.getFieldOffset(ExprValCodeGen.java:680)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:133)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:252)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:252)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:252)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_function_call_typecast |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ExprValCodeGen.getFieldOffset(ExprValCodeGen.java:680)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:133)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:252)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:252)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_function_call_poly |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_inheritance_field |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
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:
gen.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
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:
gen.ExprValCodeGen.getFieldOffset(ExprValCodeGen.java:680)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:133)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:256)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_fields2 |
gen |
1 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
java.lang.Throwable:
gen.ExprValCodeGen.visit(ExprValCodeGen.java:433)
gen.ExprValCodeGen.visit(ExprValCodeGen.java:197)
gen.StmtCodeGen.visit(StmtCodeGen.java:32)
gen.StmtCodeGen.visit(StmtCodeGen.java:28)
gen.FunCodeGen.visit(FunCodeGen.java:56)
gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:26)
java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
gen.ProgramCodeGen.generate(ProgramCodeGen.java:22)
gen.CodeGenerator.emitProgram(CodeGenerator.java:56)
Main4.compile(Main4.java:235)
Main4.main(Main4.java:72)
|
|
class_code_gen_function_inherited |
gen |
240 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
|
|