Test report

Aliasbear
Date2024-01-05_05h00m01s
Commit IDe31160ece152ea1e0caef4ca14cc782ad407362e
Tests summary
PartPassed / Total
Part 1: Lexer and parser51 / 75
Part 2: AST and sematic analysis69 / 95
Part 3: Code generation0 / 29
Part 4: Register Allocation27 / 48
Part 5: Object-Oriented Features12 / 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).
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 exit codeExpected compiled program exit codeMemory accessesMax memory accessesResult
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 0 250 N/A N/A N/A N/A Fail
multiple_characters_in_single_quotes lexer 0 250 N/A N/A N/A N/A Fail
char_assign_digits lexer 0 250 N/A N/A N/A N/A Fail
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 0 250 N/A N/A N/A N/A Fail
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 0 250 N/A N/A N/A N/A Fail
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
int parser 0 245 N/A N/A N/A N/A Fail
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 0 245 N/A N/A N/A N/A Fail
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 0 245 N/A N/A N/A N/A Fail
minimal parser 0 0 N/A N/A N/A N/A Pass
just_main parser 0 245 N/A N/A N/A N/A Fail
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
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 0 245 N/A N/A N/A N/A Fail
unterminated_stmt parser 0 245 N/A N/A N/A N/A Fail
function_application_1 parser 0 245 N/A N/A N/A N/A Fail
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 0 245 N/A N/A N/A N/A Fail
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 0 245 N/A N/A N/A N/A Fail
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 0 245 N/A N/A N/A N/A Fail
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 0 245 N/A N/A N/A N/A Fail
assignment_error parser 0 245 N/A N/A N/A N/A Fail
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 0 245 N/A N/A N/A N/A Fail
nested_conditional_statements parser 0 0 N/A N/A N/A N/A Pass
empty_conditional parser 0 245 N/A N/A N/A N/A Fail
if_empty_body parser 0 0 N/A N/A N/A N/A Pass
statements_as_expressions parser 0 245 N/A N/A N/A N/A Fail
deep_body_nesting parser 0 0 N/A N/A N/A N/A Pass
variable_initialization parser 0 245 N/A N/A N/A N/A Fail
returning_multiple_times parser 0 0 N/A N/A N/A N/A Pass
else parser 0 245 N/A N/A N/A N/A Fail
struct_wrong parser 0 245 N/A N/A N/A N/A Fail
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
type_cast parser 0 245 N/A N/A N/A N/A Fail
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program exit codeExpected compiled program exit codeMemory accessesMax memory accessesResult
fibonacci 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
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 0 240 N/A N/A N/A N/A Fail
duplicate_global_declarations_2 sem 0 240 N/A N/A N/A N/A Fail
many_duplicate_global_declarations sem 0 240 N/A N/A N/A N/A Fail
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 0 240 N/A N/A N/A N/A Fail
global_shadowing_4 sem 0 0 N/A N/A N/A N/A Pass
global_shadowing_5 sem 0 240 N/A N/A N/A N/A Fail
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 0 240 N/A N/A N/A N/A Fail
undeclared_function_1 sem 0 240 N/A N/A N/A N/A Fail
undeclared_function_2 sem 0 240 N/A N/A N/A N/A Fail
undeclared_parameter sem 0 240 N/A N/A N/A N/A Fail
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 0 240 N/A N/A N/A N/A Fail
local_variable_assignment_1 sem 0 0 N/A N/A N/A N/A Pass
local_variable_assignment_2 sem 0 240 N/A N/A N/A N/A Fail
void_variable sem 0 240 N/A N/A N/A N/A Fail
main_return_1 sem 0 0 N/A N/A N/A N/A Pass
main_return_2 sem 0 240 N/A N/A N/A N/A Fail
arity_mismatch_1 sem 0 240 N/A N/A N/A N/A Fail
arity_mismatch_2 sem 0 240 N/A N/A N/A N/A Fail
function_returns_1 sem 0 0 N/A N/A N/A N/A Pass
function_returns_2 sem 0 240 N/A N/A N/A N/A Fail
arithmetics_1 sem 0 0 N/A N/A N/A N/A Pass
arithmetics_2 sem 0 240 N/A N/A N/A N/A Fail
arithmetics_3 sem 0 240 N/A N/A N/A N/A Fail
function_call_1 sem 0 240 N/A N/A N/A N/A Fail
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 0 240 N/A N/A N/A N/A Fail
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 0 240 N/A N/A N/A N/A Fail
valid_lvalues sem 0 0 N/A N/A N/A N/A Pass
invalid_lvalue sem 0 240 N/A N/A N/A N/A Fail
struct_delc sem 0 240 N/A N/A N/A N/A Fail
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
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program exit codeExpected compiled program exit codeMemory accessesMax memory accessesResult
hello_world gen 230 0 0 0 N/A N/A Fail
int_literals gen 230 0 0 0 N/A N/A Fail
nested_whiles gen 230 0 0 0 N/A N/A Fail
shadowing gen 230 0 0 0 N/A N/A Fail
arithmetics gen 230 0 0 0 N/A N/A Fail
character_comparison gen 230 0 0 0 N/A N/A Fail
branching_1 gen 230 0 0 0 N/A N/A Fail
branching_2 gen 230 0 0 0 N/A N/A Fail
branching_3 gen 230 0 0 0 N/A N/A Fail
count_down_from_n gen 230 0 0 0 N/A N/A Fail
count_to_n gen 230 0 0 0 N/A N/A Fail
global_variable gen 230 0 0 0 N/A N/A Fail
function_call gen 230 0 0 0 N/A N/A Fail
while_true gen 0 0 0 124 N/A N/A Fail
read_c gen 230 0 0 0 N/A N/A Fail
read_i gen 230 0 0 0 N/A N/A Fail
struct access gen 1 0 0 0 N/A N/A Fail
funcall with struct gen 1 0 0 0 N/A N/A Fail
cashmachine gen 230 0 0 0 N/A N/A Fail
dec2bin gen 230 0 0 0 N/A N/A Fail
fibonacci gen 230 0 0 0 N/A N/A Fail
factorial gen 230 0 0 0 N/A N/A Fail
is_leap_year gen 230 0 0 0 N/A N/A Fail
is_palindromic gen 230 0 0 0 N/A N/A Fail
is_prime gen 230 0 0 0 N/A N/A Fail
pascals_triangle gen 230 0 0 0 N/A N/A Fail
tictactoe gen 230 0 0 0 N/A N/A Fail
towers_of_hanoi gen 230 0 0 0 N/A N/A Fail
binary_search gen 230 0 0 0 N/A N/A Fail
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program exit codeExpected compiled program exit codeMemory accessesMax memory accessesResult
array_complex_reduction_8 regalloc 230 0 0 0 N/A N/A Fail
arithmetic_chain_short_hoisted regalloc 0 0 0 0 4 4 + 10% Pass
balanced_arithmetic_tree_large regalloc 0 0 0 0 4 4 + 10% Pass
arithmetic_chains_long regalloc 0 0 0 0 8 8 + 10% Pass
balanced_addition_tree_small_hoisted regalloc 0 0 0 0 4 4 + 10% Pass
array_simple_reduction_1 regalloc 230 0 0 0 N/A N/A Fail
array_complex_reduction_2 regalloc 230 0 0 0 N/A N/A Fail
array_complex_reduction_3 regalloc 0 0 0 0 49 45 + 10% Pass
balanced_arithmetic_tree_small_hoisted regalloc 0 0 0 0 4 4 + 10% Pass
array_complex_reduction_12 regalloc 230 0 0 0 N/A N/A Fail
arithmetic_chains_short_hoisted regalloc 0 0 0 0 8 8 + 10% Pass
arithmetic_chain_long_hoisted regalloc 230 0 0 0 N/A N/A Fail
array_simple_reduction_4 regalloc 0 0 260 0 26 22 + 10% Fail
balanced_addition_tree_large_hoisted regalloc 230 0 0 0 N/A N/A Fail
array_complex_reduction_4 regalloc 0 0 260 0 29 25 + 10% Fail
array_complex_reduction_6 regalloc 0 0 0 0 79 75 + 10% Pass
addition_chain_long regalloc 0 0 0 0 4 4 + 10% Pass
arithmetic_chains_short regalloc 0 0 0 0 8 8 + 10% Pass
array_multiplication_table_sum regalloc 0 0 260 0 41 37 + 10% Fail
array_simple_reduction_2 regalloc 0 0 260 0 20 16 + 10% Fail
hello_world regalloc 0 0 0 0 4 4 + 10% Pass
int_literals regalloc 0 0 0 0 24 24 + 10% Pass
nested_whiles regalloc 0 0 0 0 8 8 + 10% Pass
shadowing regalloc 0 0 260 0 66 52 + 10% Fail
arithmetics regalloc 0 0 0 0 4 4 + 10% Pass
character_comparison regalloc 0 0 0 0 8 8 + 10% Pass
branching_1 regalloc 0 0 0 0 8 8 + 10% Pass
branching_2 regalloc 0 0 0 0 8 8 + 10% Pass
branching_3 regalloc 0 0 0 0 16 16 + 10% Pass
count_down_from_n regalloc 0 0 0 0 12 12 + 10% Pass
count_to_n regalloc 0 0 0 0 12 12 + 10% Pass
global_variable regalloc 0 0 0 0 6 6 + 10% Pass
function_call regalloc 0 0 260 0 25 17 + 10% Fail
read_c regalloc 0 0 0 0 8 8 + 10% Pass
read_i regalloc 0 0 0 0 8 8 + 10% Pass
struct access regalloc 0 0 0 0 8 8 + 10% Pass
funcall with struct regalloc 0 0 260 0 71 39 + 10% Fail
cashmachine regalloc 0 0 260 0 1585 803 + 10% Fail
dec2bin regalloc 0 0 260 0 482 194 + 10% Fail
fibonacci regalloc 0 0 0 0 24 24 + 10% Pass
factorial regalloc 0 0 260 0 114 70 + 10% Fail
is_leap_year regalloc 0 0 0 0 28 28 + 10% Pass
is_palindromic regalloc 0 0 0 0 20 20 + 10% Pass
is_prime regalloc 0 0 260 0 52 46 + 10% Fail
pascals_triangle regalloc 0 0 260 0 263 131 + 10% Fail
tictactoe regalloc 0 0 260 0 1273 671 + 10% Fail
towers_of_hanoi regalloc 0 0 260 0 212 104 + 10% Fail
binary_search regalloc 0 0 260 0 187 67 + 10% Fail
Test nameComponentCompiler exit codeExpected compiler exit codeCompiled program exit codeExpected compiled program exit codeMemory accessesMax memory accessesResult
class_declaration_1 sem 0 0 N/A N/A N/A N/A Pass
class_declaration_2 sem 0 240 N/A N/A N/A N/A Fail
class_declaration_3 sem 0 0 N/A N/A N/A N/A Pass
class_declaration_4 sem 0 0 N/A N/A N/A N/A Pass
class_declaration_5 sem 0 240 N/A N/A N/A N/A Fail
class_instantiation_1 sem 0 0 N/A N/A N/A N/A Pass
class_instantiation_2 sem 0 240 N/A N/A N/A N/A Fail
class_instantiation_3 sem 0 0 N/A N/A N/A N/A Pass
field_access_1 sem 0 0 N/A N/A N/A N/A Pass
field_access_2 sem 0 0 N/A N/A N/A N/A Pass
field_access_3 sem 0 240 N/A N/A N/A N/A Fail
field_access_4 sem 0 0 N/A N/A N/A N/A Pass
class_function_call_1 sem 0 0 N/A N/A N/A N/A Pass
class_function_call_2 sem 0 0 N/A N/A N/A N/A Pass
class_function_call_3 sem 0 240 N/A N/A N/A N/A Fail
class_function_call_4 sem 0 0 N/A N/A N/A N/A Pass
class_type_casting_1 sem 0 0 N/A N/A N/A N/A Pass
class_type_casting_2 sem 0 240 N/A N/A N/A N/A Fail
class_type_casting_3 sem 0 240 N/A N/A N/A N/A Fail
class_type_casting_4 sem 0 240 N/A N/A N/A N/A Fail
simple_class gen 230 0 0 0 N/A N/A Fail
class_code_gen_polymorphism gen 230 0 0 0 N/A N/A Fail
class_code_gen_polymorphism_typecast gen 230 0 0 0 N/A N/A Fail
class_code_gen_inheritance1 gen 230 0 0 0 N/A N/A Fail
class_code_gen_inheritance2 gen 230 0 0 0 N/A N/A Fail
class_code_gen_reference1 gen 230 0 0 0 N/A N/A Fail
class_code_gen_reference2 gen 230 0 0 0 N/A N/A Fail
class_code_gen_reference3 gen 230 0 0 0 N/A N/A Fail
class_code_gen_reference4 gen 230 0 0 0 N/A N/A Fail
class_code_gen_function_call1 gen 230 0 0 0 N/A N/A Fail
class_code_gen_function_call2 gen 230 0 0 0 N/A N/A Fail
class_code_gen_function_call_reference gen 230 0 0 0 N/A N/A Fail
class_code_gen_function_call_typecast gen 230 0 0 0 N/A N/A Fail
class_code_gen_function_call_poly gen 230 0 0 0 N/A N/A Fail
class_code_gen_inheritance_field gen 230 0 0 0 N/A N/A Fail
class_code_gen_inheritance_function gen 230 0 0 0 N/A N/A Fail
class_code_gen_shadow_field gen 230 0 0 0 N/A N/A Fail
class_code_gen_fields1 gen 230 0 0 0 N/A N/A Fail
class_code_gen_fields2 gen 230 0 0 0 N/A N/A Fail
class_code_gen_function_inherited gen 230 0 0 0 N/A N/A Fail