Test report

Aliascat
Date2024-10-31_17h00m01s
Commit IDc224d1f646f4c7c326fcaa94e2e8cfc493234144
Tests summary
PartPassed / Total
Part 1: Lexer and parser88 / 88
Part 1 Hidden: Lexer and parser23 / 23
Part 2: AST and sematic analysis109 / 112
Part 2 Hidden: AST and sematic analysis21 / 23
Part 3: Code generation15 / 33
Part 3 Hidden: Code genration2 / 14
Part 4: Register Allocation0 / 48
Part 5: Object-Oriented Features24 / 40
Exit codes
CodeExplanation
260Generated program contains too many memory accesses.
250One or more lexer error(s).
245One or more parse error(s).
240One or more semantic error(s).
230Compiled program produced wrong output.
224AST construction is wrong.
204Compiled program not found.
124Your compiler or program timed out (your compiler or produced program might have an infinite loop).
125The MARS simulator timed out (maybe your generated program has an infinite loop).
2The MARS simulator exited prematurely.
1JVM exited prematurely. It might occur when your compiler has infinite recursion/loops, throws an uncaught exception, requires a different Java version, or when you have forgotten to push some files with git, etc.
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program codeExpected compiled program codeMemory accessesMax memory accessesResultCompiler LogSimulator errors
fibonacci lexer 0 0 N/A N/A N/A N/A Pass
int lexer 0 0 N/A N/A N/A N/A Pass
intintint lexer 0 0 N/A N/A N/A N/A Pass
single_comment lexer 0 0 N/A N/A N/A N/A Pass
multi_comment lexer 0 0 N/A N/A N/A N/A Pass
nested_comments lexer 0 0 N/A N/A N/A N/A Pass
all_tokens lexer 0 0 N/A N/A N/A N/A Pass
escape_codes_1 lexer 0 0 N/A N/A N/A N/A Pass
escape_codes_2 lexer 250 250 N/A N/A N/A N/A Pass
multiple_characters_in_single_quotes lexer 250 250 N/A N/A N/A N/A Pass
char_assign_digits lexer 250 250 N/A N/A N/A N/A Pass
most_chars lexer 0 0 N/A N/A N/A N/A Pass
no_main lexer 0 0 N/A N/A N/A N/A Pass
minimal lexer 0 0 N/A N/A N/A N/A Pass
undefined_token lexer 250 250 N/A N/A N/A N/A Pass
identifiers lexer 0 0 N/A N/A N/A N/A Pass
includes lexer 0 0 N/A N/A N/A N/A Pass
preprocessing lexer 250 250 N/A N/A N/A N/A Pass
empty lexer 0 0 N/A N/A N/A N/A Pass
division lexer 0 0 N/A N/A N/A N/A Pass
fibonacci parser 0 0 N/A N/A N/A N/A Pass
arithmetic interpreter parser 0 0 N/A N/A N/A N/A Pass
sort linked list parser 0 0 N/A N/A N/A N/A Pass
int parser 245 245 N/A N/A N/A N/A Pass
single_comment parser 0 0 N/A N/A N/A N/A Pass
multi_comment parser 0 0 N/A N/A N/A N/A Pass
nested_comments parser 245 245 N/A N/A N/A N/A Pass
escape_codes_1 parser 0 0 N/A N/A N/A N/A Pass
most_chars parser 0 0 N/A N/A N/A N/A Pass
no_main parser 245 245 N/A N/A N/A N/A Pass
minimal parser 0 0 N/A N/A N/A N/A Pass
just_main parser 245 245 N/A N/A N/A N/A Pass
identifiers parser 0 0 N/A N/A N/A N/A Pass
includes parser 0 0 N/A N/A N/A N/A Pass
break parser 0 0 N/A N/A N/A N/A Pass
continue parser 0 0 N/A N/A N/A N/A Pass
break_without_semicolon parser 245 245 N/A N/A N/A N/A Pass
continue_without_semicolon parser 245 245 N/A N/A N/A N/A Pass
empty parser 0 0 N/A N/A N/A N/A Pass
while_loop_1 parser 0 0 N/A N/A N/A N/A Pass
while_loop_2 parser 0 0 N/A N/A N/A N/A Pass
while_loop_3 parser 245 245 N/A N/A N/A N/A Pass
unterminated_stmt parser 245 245 N/A N/A N/A N/A Pass
function_application_1 parser 245 245 N/A N/A N/A N/A Pass
function_application_2 parser 0 0 N/A N/A N/A N/A Pass
function_application_3 parser 0 0 N/A N/A N/A N/A Pass
function_application_4 parser 245 245 N/A N/A N/A N/A Pass
function_declaration parser 0 0 N/A N/A N/A N/A Pass
function_declaration_without_semicolon parser 245 245 N/A N/A N/A N/A Pass
function_declaration_malformed parser 245 245 N/A N/A N/A N/A Pass
function_decl_def_and_struct parser 0 0 N/A N/A N/A N/A Pass
function_application_5 parser 0 0 N/A N/A N/A N/A Pass
count_to_n parser 0 0 N/A N/A N/A N/A Pass
declarations parser 0 0 N/A N/A N/A N/A Pass
missing_declarations parser 0 0 N/A N/A N/A N/A Pass
double_declarations parser 0 0 N/A N/A N/A N/A Pass
reserved_keyword_as_identifier parser 245 245 N/A N/A N/A N/A Pass
program_ends_with_single_comment parser 0 0 N/A N/A N/A N/A Pass
empty_functions_1 parser 0 0 N/A N/A N/A N/A Pass
empty_functions_2 parser 0 0 N/A N/A N/A N/A Pass
empty_comparison parser 245 245 N/A N/A N/A N/A Pass
else_if parser 0 0 N/A N/A N/A N/A Pass
arithmetic_1 parser 0 0 N/A N/A N/A N/A Pass
arithmetic_2 parser 0 0 N/A N/A N/A N/A Pass
broken_arithmetic parser 245 245 N/A N/A N/A N/A Pass
assignment_error parser 245 245 N/A N/A N/A N/A Pass
all_syntax_categories parser 0 0 N/A N/A N/A N/A Pass
all_syntax_categories_with_spaces parser 0 0 N/A N/A N/A N/A Pass
all_syntax_categories_compact parser 0 0 N/A N/A N/A N/A Pass
type_error parser 0 0 N/A N/A N/A N/A Pass
identifier_missing_type parser 245 245 N/A N/A N/A N/A Pass
nested_conditional_statements parser 0 0 N/A N/A N/A N/A Pass
empty_conditional parser 245 245 N/A N/A N/A N/A Pass
if_empty_body parser 0 0 N/A N/A N/A N/A Pass
statements_as_expressions parser 245 245 N/A N/A N/A N/A Pass
deep_body_nesting parser 0 0 N/A N/A N/A N/A Pass
variable_initialization parser 245 245 N/A N/A N/A N/A Pass
returning_multiple_times parser 0 0 N/A N/A N/A N/A Pass
else parser 245 245 N/A N/A N/A N/A Pass
struct_wrong parser 245 245 N/A N/A N/A N/A Pass
struct_usage parser 0 0 N/A N/A N/A N/A Pass
struct_declaration parser 0 0 N/A N/A N/A N/A Pass
ternary_comparison parser 0 0 N/A N/A N/A N/A Pass
pointer_pointer parser 0 0 N/A N/A N/A N/A Pass
pointer_dereference parser 0 0 N/A N/A N/A N/A Pass
struct_pointer_dereference parser 0 0 N/A N/A N/A N/A Pass
double_reference parser 245 245 N/A N/A N/A N/A Pass
type_cast parser 245 245 N/A N/A N/A N/A Pass
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program codeExpected compiled program codeMemory accessesMax memory accessesResultCompiler LogSimulator errors
hidden17 lexer 250 250 N/A N/A N/A N/A Pass
hidden1 parser 0 0 N/A N/A N/A N/A Pass
hidden2 parser 0 0 N/A N/A N/A N/A Pass
hidden3 parser 0 0 N/A N/A N/A N/A Pass
hidden4 parser 0 0 N/A N/A N/A N/A Pass
hidden5 parser 0 0 N/A N/A N/A N/A Pass
hidden6 parser 0 0 N/A N/A N/A N/A Pass
hidden7 parser 0 0 N/A N/A N/A N/A Pass
hidden8 parser 0 0 N/A N/A N/A N/A Pass
hidden9 parser 0 0 N/A N/A N/A N/A Pass
hidden10 parser 0 0 N/A N/A N/A N/A Pass
hidden11 parser 0 0 N/A N/A N/A N/A Pass
hidden12 parser 0 0 N/A N/A N/A N/A Pass
hidden13 parser 245 245 N/A N/A N/A N/A Pass
hidden14 parser 0 0 N/A N/A N/A N/A Pass
hidden15 parser 0 0 N/A N/A N/A N/A Pass
hidden16 parser 0 0 N/A N/A N/A N/A Pass
hidden18 parser 0 0 N/A N/A N/A N/A Pass
hidden19 parser 245 245 N/A N/A N/A N/A Pass
hidden20 parser 0 0 N/A N/A N/A N/A Pass
hidden21 parser 0 0 N/A N/A N/A N/A Pass
hidden22 parser 245 245 N/A N/A N/A N/A Pass
hidden23 parser 0 0 N/A N/A N/A N/A Pass
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program codeExpected compiled program codeMemory accessesMax memory accessesResultCompiler LogSimulator 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 224 0 N/A N/A N/A N/A Fail
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 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 240 0 N/A N/A N/A N/A Fail
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 nameComponentCompiler exit codeExpected compiler exit codeCompiled program codeExpected compiled program codeMemory accessesMax memory accessesResultCompiler LogSimulator errors
hidden1 sem 0 0 N/A N/A N/A N/A Pass
hidden2 sem 0 0 N/A N/A N/A N/A Pass
hidden3 sem 0 0 N/A N/A N/A N/A Pass
hidden4 sem 0 0 N/A N/A N/A N/A Pass
hidden5 sem 0 0 N/A N/A N/A N/A Pass
hidden6 sem 0 0 N/A N/A N/A N/A Pass
hidden7 sem 0 0 N/A N/A N/A N/A Pass
hidden8 sem 0 0 N/A N/A N/A N/A Pass
hidden9 sem 0 0 N/A N/A N/A N/A Pass
hidden10 sem 0 240 N/A N/A N/A N/A Fail
hidden11 sem 0 240 N/A N/A N/A N/A Fail
hidden12 sem 240 240 N/A N/A N/A N/A Pass
hidden13 sem 240 240 N/A N/A N/A N/A Pass
hidden14 sem 0 0 N/A N/A N/A N/A Pass
hidden15 sem 0 0 N/A N/A N/A N/A Pass
hidden16 sem 240 240 N/A N/A N/A N/A Pass
hidden17 sem 240 240 N/A N/A N/A N/A Pass
hidden18 sem 0 0 N/A N/A N/A N/A Pass
hidden19 sem 240 240 N/A N/A N/A N/A Pass
hidden20 sem 0 0 N/A N/A N/A N/A Pass
hidden21 sem 240 240 N/A N/A N/A N/A Pass
hidden22 sem 0 0 N/A N/A N/A N/A Pass
hidden23 sem 240 240 N/A N/A N/A N/A Pass
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program codeExpected compiled program codeMemory accessesMax memory accessesResultCompiler LogSimulator errors
sort linked list gen 0 0 230 0 N/A N/A Fail Error in : invalid program counter value: 0x00000005 Processing terminated due to errors.
funcall multi-dimensional array gen 0 0 0 0 N/A N/A Pass
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/tmp6prsl019.asm line 206: Runtime exception at 0x004001fc: store address not aligned on word boundary 0xffffffed Processing terminated due to errors.
hello_world gen 0 0 0 0 N/A N/A Pass
int_literals gen 0 0 230 0 N/A N/A Fail
nested_whiles gen 0 0 125 0 N/A N/A Fail
shadowing gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmpzu3d33wb.asm line 269: Runtime exception at 0x00400248: address out of range 0xffffffff Processing terminated due to errors.
arithmetics gen 0 0 0 0 N/A N/A Pass
character_comparison gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmppecu_ys5.asm line 60: Runtime exception at 0x00400038: address out of range 0xffffffff Processing terminated due to errors.
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 0 0 N/A N/A Pass
while_true gen 0 0 125 125 N/A N/A Pass
read_c gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmpzse_ugbj.asm line 33: Runtime exception at 0x00400024: address out of range 0xffffffff Processing terminated due to errors.
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 0 0 230 0 N/A N/A Fail
cashmachine gen 0 0 230 0 N/A N/A Fail Error in : invalid program counter value: 0x00000002 Processing terminated due to errors.
dec2bin gen 0 0 230 0 N/A N/A Fail Error in : invalid program counter value: 0x00000002 Processing terminated due to errors.
fibonacci gen 0 0 230 0 N/A N/A Fail
factorial gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmpbyjp2zph.asm line 528: Runtime exception at 0x004006e0: store address not aligned on word boundary 0x00000001 Processing terminated due to errors.
is_leap_year gen 0 0 0 0 N/A N/A Pass
is_palindromic gen 0 0 230 0 N/A N/A Fail
is_prime gen 0 0 125 0 N/A N/A Fail
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/tmpx8tyz646.asm line 8774: Runtime exception at 0x00408318: fetch address not aligned on word boundary 0x7fffeff3 Processing terminated due to errors.
towers_of_hanoi gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmpxn9z84m6.asm line 749: Runtime exception at 0x004009a8: address out of range 0xffffffff Processing terminated due to errors.
binary_search gen 1 0 0 0 N/A N/A Fail java.lang.Throwable: gen.AddrCodeGen.visit(AddrCodeGen.java:117) gen.ExprCodeGen.visit(ExprCodeGen.java:453) gen.ExprCodeGen.visit(ExprCodeGen.java:84) gen.StmtCodeGen.visit(StmtCodeGen.java:35) gen.StmtCodeGen.visit(StmtCodeGen.java:52) gen.StmtCodeGen.lambda$visit$0(StmtCodeGen.java:29) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.StmtCodeGen.visit(StmtCodeGen.java:28) gen.StmtCodeGen.visit(StmtCodeGen.java:82) gen.StmtCodeGen.lambda$visit$0(StmtCodeGen.java:29) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.StmtCodeGen.visit(StmtCodeGen.java:28) gen.FunCodeGen.isMain(FunCodeGen.java:205) gen.FunCodeGen.visit(FunCodeGen.java:27) gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:36) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.ProgramCodeGen.generate(ProgramCodeGen.java:27) gen.CodeGenerator.emitProgram(CodeGenerator.java:69) Main3.compile(Main3.java:206) Main3.main(Main3.java:68)
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program codeExpected compiled program codeMemory accessesMax memory accessesResultCompiler LogSimulator errors
hidden1 gen 1 0 0 0 N/A N/A Fail java.lang.Throwable: gen.AddrCodeGen.visit(AddrCodeGen.java:117) gen.ExprCodeGen.visit(ExprCodeGen.java:453) gen.ExprCodeGen.visit(ExprCodeGen.java:84) gen.ExprCodeGen.visit(ExprCodeGen.java:85) gen.StmtCodeGen.visit(StmtCodeGen.java:35) gen.StmtCodeGen.visit(StmtCodeGen.java:52) gen.StmtCodeGen.lambda$visit$0(StmtCodeGen.java:29) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.StmtCodeGen.visit(StmtCodeGen.java:28) gen.FunCodeGen.visit(FunCodeGen.java:71) gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:36) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.ProgramCodeGen.generate(ProgramCodeGen.java:27) gen.CodeGenerator.emitProgram(CodeGenerator.java:69) Main3.compile(Main3.java:206) Main3.main(Main3.java:68)
hidden2 gen 1 0 0 0 N/A N/A Fail java.lang.Throwable: gen.AddrCodeGen.visit(AddrCodeGen.java:117) gen.ExprCodeGen.visit(ExprCodeGen.java:203) gen.StmtCodeGen.visit(StmtCodeGen.java:63) gen.StmtCodeGen.visit(StmtCodeGen.java:52) gen.StmtCodeGen.lambda$visit$0(StmtCodeGen.java:29) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.StmtCodeGen.visit(StmtCodeGen.java:28) gen.StmtCodeGen.visit(StmtCodeGen.java:82) gen.StmtCodeGen.lambda$visit$0(StmtCodeGen.java:29) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.StmtCodeGen.visit(StmtCodeGen.java:28) gen.FunCodeGen.visit(FunCodeGen.java:71) gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:36) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.ProgramCodeGen.generate(ProgramCodeGen.java:27) gen.CodeGenerator.emitProgram(CodeGenerator.java:69) Main3.compile(Main3.java:206) Main3.main(Main3.java:68)
hidden3 gen 1 0 0 0 N/A N/A Fail java.lang.Throwable: regalloc.NaiveRegAlloc.lambda$emitInstructionWithoutVirtualRegister$2(NaiveRegAlloc.java:47) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) regalloc.NaiveRegAlloc.emitInstructionWithoutVirtualRegister(NaiveRegAlloc.java:46) regalloc.NaiveRegAlloc.lambda$run$5(NaiveRegAlloc.java:137) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) regalloc.NaiveRegAlloc.lambda$run$6(NaiveRegAlloc.java:108) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) regalloc.NaiveRegAlloc.run(NaiveRegAlloc.java:84) regalloc.NaiveRegAlloc.apply(NaiveRegAlloc.java:155) gen.CodeGenerator.emitProgram(CodeGenerator.java:72) Main3.compile(Main3.java:206) Main3.main(Main3.java:68)
hidden4 gen 0 0 230 0 N/A N/A Fail
hidden5 gen 0 0 230 0 N/A N/A Fail Error in : invalid program counter value: 0x00000005 Processing terminated due to errors.
hidden6 gen 0 0 230 0 N/A N/A Fail Error in : invalid program counter value: 0x00000002 Processing terminated due to errors.
hidden7 gen 0 0 0 0 N/A N/A Pass
hidden8 gen 0 0 0 0 N/A N/A Pass
hidden9 gen 1 0 0 0 N/A N/A Fail java.lang.Throwable: gen.AddrCodeGen.visit(AddrCodeGen.java:117) gen.ExprCodeGen.visit(ExprCodeGen.java:453) gen.ExprCodeGen.visit(ExprCodeGen.java:84) gen.StmtCodeGen.visit(StmtCodeGen.java:69) gen.StmtCodeGen.lambda$visit$0(StmtCodeGen.java:29) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.StmtCodeGen.visit(StmtCodeGen.java:28) gen.FunCodeGen.visit(FunCodeGen.java:71) gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:36) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.ProgramCodeGen.generate(ProgramCodeGen.java:27) gen.CodeGenerator.emitProgram(CodeGenerator.java:69) Main3.compile(Main3.java:206) Main3.main(Main3.java:68)
hidden10 gen 1 0 0 0 N/A N/A Fail java.lang.Throwable: gen.AddrCodeGen.visit(AddrCodeGen.java:117) gen.ExprCodeGen.visit(ExprCodeGen.java:453) gen.ExprCodeGen.visit(ExprCodeGen.java:205) gen.StmtCodeGen.visit(StmtCodeGen.java:63) gen.StmtCodeGen.lambda$visit$0(StmtCodeGen.java:29) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.StmtCodeGen.visit(StmtCodeGen.java:28) gen.FunCodeGen.visit(FunCodeGen.java:71) gen.ProgramCodeGen.lambda$generate$0(ProgramCodeGen.java:36) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) gen.ProgramCodeGen.generate(ProgramCodeGen.java:27) gen.CodeGenerator.emitProgram(CodeGenerator.java:69) Main3.compile(Main3.java:206) Main3.main(Main3.java:68)
hidden11 gen 1 0 0 0 N/A N/A Fail java.lang.Throwable: regalloc.NaiveRegAlloc.lambda$emitInstructionWithoutVirtualRegister$2(NaiveRegAlloc.java:47) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) regalloc.NaiveRegAlloc.emitInstructionWithoutVirtualRegister(NaiveRegAlloc.java:46) regalloc.NaiveRegAlloc.lambda$run$5(NaiveRegAlloc.java:137) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) regalloc.NaiveRegAlloc.lambda$run$6(NaiveRegAlloc.java:108) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) regalloc.NaiveRegAlloc.run(NaiveRegAlloc.java:84) regalloc.NaiveRegAlloc.apply(NaiveRegAlloc.java:155) gen.CodeGenerator.emitProgram(CodeGenerator.java:72) Main3.compile(Main3.java:206) Main3.main(Main3.java:68)
hidden12 gen 0 0 230 0 N/A N/A Fail
hidden13 gen 0 0 230 0 N/A N/A Fail
hidden14 gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmp8tfuawru.asm line 464: Runtime exception at 0x0040055c: address out of range 0xffffffff Processing terminated due to errors.
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program codeExpected compiled program codeMemory accessesMax memory accessesResultCompiler LogSimulator errors
array_complex_reduction_8 regalloc 0 0 230 0 N/A 51 Fail Error in /tmp/tmp4m4lr6ll.asm line 644: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
arithmetic_chain_short_hoisted regalloc 0 0 230 0 N/A 4 Fail
balanced_arithmetic_tree_large regalloc 0 0 230 0 N/A 4 Fail
arithmetic_chains_long regalloc 0 0 230 0 N/A 8 Fail
balanced_addition_tree_small_hoisted regalloc 0 0 230 0 N/A 4 Fail
array_simple_reduction_1 regalloc 0 0 230 0 N/A 88 Fail Error in /tmp/tmpet2e81sj.asm line 868: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
array_complex_reduction_2 regalloc 0 0 230 0 N/A 77 Fail Error in /tmp/tmpaba1dbi0.asm line 914: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
array_complex_reduction_3 regalloc 0 0 230 0 N/A 45 Fail Error in /tmp/tmpbv2qrj0r.asm line 416: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
balanced_arithmetic_tree_small_hoisted regalloc 0 0 230 0 N/A 4 Fail
array_complex_reduction_12 regalloc 0 0 230 0 N/A 50 Fail Error in /tmp/tmp_cnlb84e.asm line 558: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
arithmetic_chains_short_hoisted regalloc 0 0 230 0 N/A 8 Fail
arithmetic_chain_long_hoisted regalloc 0 0 230 0 N/A 14 Fail
array_simple_reduction_4 regalloc 0 0 230 0 N/A 22 Fail Error in /tmp/tmpjzs4t13y.asm line 162: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
balanced_addition_tree_large_hoisted regalloc 0 0 230 0 N/A 86 Fail
array_complex_reduction_4 regalloc 0 0 230 0 N/A 25 Fail Error in /tmp/tmpqd7t4jjb.asm line 266: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
array_complex_reduction_6 regalloc 0 0 230 0 N/A 75 Fail Error in /tmp/tmp6a__sjj9.asm line 740: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
addition_chain_long regalloc 0 0 230 0 N/A 4 Fail
arithmetic_chains_short regalloc 0 0 230 0 N/A 8 Fail
array_multiplication_table_sum regalloc 0 0 230 0 N/A 37 Fail Error in /tmp/tmp_naapygj.asm line 314: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
array_simple_reduction_2 regalloc 0 0 230 0 N/A 16 Fail Error in /tmp/tmp149cx2kz.asm line 78: Runtime exception at 0x004000b4: address out of range 0x00000000 Processing terminated due to errors.
hello_world regalloc 0 0 260 0 6 4 + 10% Fail
int_literals regalloc 0 0 230 0 N/A 24 Fail
nested_whiles regalloc 0 0 125 0 N/A 8 Fail
shadowing regalloc 0 0 260 0 76 52 + 10% Fail
arithmetics regalloc 0 0 230 0 N/A 4 Fail
character_comparison regalloc 0 0 230 0 N/A 8 Fail
branching_1 regalloc 0 0 260 0 16 8 + 10% Fail
branching_2 regalloc 0 0 260 0 16 8 + 10% Fail
branching_3 regalloc 0 0 230 0 N/A 16 Fail
count_down_from_n regalloc 0 0 125 0 N/A 12 Fail
count_to_n regalloc 0 0 230 0 N/A 12 Fail
global_variable regalloc 0 0 230 0 N/A 6 Fail
function_call regalloc 0 0 230 0 N/A 17 Fail
read_c regalloc 0 0 260 0 12 8 + 10% Fail
read_i regalloc 0 0 260 0 12 8 + 10% Fail
struct access regalloc 0 0 230 0 N/A 8 Fail
funcall with struct regalloc 0 0 230 0 N/A 39 Fail
cashmachine regalloc 0 0 230 0 N/A 803 Fail Error in /tmp/tmpvfoguyaf.asm line 675 column 10: "null": operand is of incorrect type Error in /tmp/tmpvfoguyaf.asm line 738 column 6: "null": operand is of incorrect type Processing terminated due to errors.
dec2bin regalloc 0 0 230 0 N/A 194 Fail Error in /tmp/tmpkl8_2kdm.asm line 1065 column 10: "null": operand is of incorrect type Error in /tmp/tmpkl8_2kdm.asm line 1124 column 6: "null": operand is of incorrect type Processing terminated due to errors.
fibonacci regalloc 0 0 230 0 N/A 24 Fail
factorial regalloc 0 0 230 0 N/A 70 Fail Error in /tmp/tmp8e3g8b_i.asm line 504 column 10: "null": operand is of incorrect type Error in /tmp/tmp8e3g8b_i.asm line 557 column 6: "null": operand is of incorrect type Processing terminated due to errors.
is_leap_year regalloc 0 0 230 0 N/A 28 Fail
is_palindromic regalloc 0 0 230 0 N/A 20 Fail
is_prime regalloc 0 0 230 0 N/A 46 Fail
pascals_triangle regalloc 0 0 230 0 N/A 131 Fail
tictactoe regalloc 0 0 230 0 N/A 671 Fail Error in /tmp/tmpk0xnxf_0.asm line 6518 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6521 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6552 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6555 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6557 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6560 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6591 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6594 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6616 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6619 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6660 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6663 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6665 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6668 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6721 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6724 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6736 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6739 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6770 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6773 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6775 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6778 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6831 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6834 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6844 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6847 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6888 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6891 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6909 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6912 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6955 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 6958 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7043 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7046 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7099 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7102 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7276 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7279 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7310 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7313 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7382 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7385 column 10: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7416 column 6: "null": operand is of incorrect type Error in /tmp/tmpk0xnxf_0.asm line 7419 column 6: "null": operand is of incorrect type Processing terminated due to errors.
towers_of_hanoi regalloc 0 0 230 0 N/A 104 Fail
binary_search regalloc 0 0 230 0 N/A 67 Fail Error in /tmp/tmppaujjctm.asm line 832: Runtime exception at 0x00400820: address out of range 0x00000020 Processing terminated due to errors.
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program codeExpected compiled program codeMemory accessesMax memory accessesResultCompiler LogSimulator 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
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
class function call overrided sem 0 0 N/A N/A N/A N/A Pass
class function call and field access sem 240 0 N/A N/A N/A N/A Fail
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 0 0 0 0 N/A N/A Pass
class_code_gen_polymorphism gen 0 0 0 0 N/A N/A Pass
class_code_gen_polymorphism_typecast gen 1 0 0 0 N/A N/A Fail java.lang.Throwable: regalloc.NaiveRegAlloc.lambda$emitInstructionWithoutVirtualRegister$2(NaiveRegAlloc.java:47) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) regalloc.NaiveRegAlloc.emitInstructionWithoutVirtualRegister(NaiveRegAlloc.java:46) regalloc.NaiveRegAlloc.lambda$run$5(NaiveRegAlloc.java:137) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) regalloc.NaiveRegAlloc.lambda$run$6(NaiveRegAlloc.java:108) java.base/java.util.ArrayList.forEach(ArrayList.java:1596) regalloc.NaiveRegAlloc.run(NaiveRegAlloc.java:84) regalloc.NaiveRegAlloc.apply(NaiveRegAlloc.java:155) gen.CodeGenerator.emitProgram(CodeGenerator.java:72) Main4.compile(Main4.java:235) Main4.main(Main4.java:72)
class_code_gen_inheritance1 gen 0 0 0 0 N/A N/A Pass
class_code_gen_inheritance2 gen 0 0 230 0 N/A N/A Fail
class_code_gen_reference1 gen 0 0 230 0 N/A N/A Fail
class_code_gen_reference2 gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmp7uu_tawj.asm line 286: Runtime exception at 0x004001f0: address out of range 0x00000000 Processing terminated due to errors.
class_code_gen_reference3 gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmpos2h7l7q.asm line 279: Runtime exception at 0x00400198: address out of range 0x00000000 Processing terminated due to errors.
class_code_gen_reference4 gen 0 0 0 0 N/A N/A Pass
class_code_gen_function_call1 gen 245 0 0 0 N/A N/A Fail
class_code_gen_function_call2 gen 245 0 0 0 N/A N/A Fail
class_code_gen_function_call_reference gen 245 0 0 0 N/A N/A Fail
class_code_gen_function_call_typecast gen 245 0 0 0 N/A N/A Fail
class_code_gen_function_call_poly gen 0 0 0 0 N/A N/A Pass
class_code_gen_inheritance_field gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmpkyew2jo7.asm line 241: Runtime exception at 0x004001bc: address out of range 0x0000000c Processing terminated due to errors.
class_code_gen_inheritance_function gen 0 0 230 0 N/A N/A Fail
class_code_gen_shadow_field gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmpynhkd57r.asm line 466: Runtime exception at 0x00400494: fetch address not aligned on word boundary 0xfffffff9 Processing terminated due to errors.
class_code_gen_fields1 gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmpp1qp8ypr.asm line 522: Runtime exception at 0x0040053c: fetch address not aligned on word boundary 0x00000001 Processing terminated due to errors.
class_code_gen_fields2 gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmpgynfh6tz.asm line 506: Runtime exception at 0x004004f8: fetch address not aligned on word boundary 0x00000001 Processing terminated due to errors.
class_code_gen_function_inherited gen 0 0 230 0 N/A N/A Fail Error in /tmp/tmp9d5f6uxl.asm line 46 column 1: label "y" already defined Processing terminated due to errors.