| 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 |
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 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 |
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 |
|
Error in /tmp/tmp3mli7mfu.asm line 1301: Runtime exception at 0x004009a0: arithmetic overflow
Processing terminated due to errors.
|
| array_complex_reduction_2 |
regalloc |
0 |
0 |
230 |
0 |
N/A |
67 |
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 |
46 |
48 + 5% |
Pass |
|
|
| arithmetic_chains_short_hoisted |
regalloc |
0 |
0 |
0 |
0 |
8 |
8 + 5% |
Pass |
|
|
| arithmetic_chain_long_hoisted |
regalloc |
0 |
0 |
230 |
0 |
N/A |
12 |
Fail |
|
|
| array_simple_reduction_4 |
regalloc |
0 |
0 |
0 |
0 |
20 |
22 + 5% |
Pass |
|
|
| balanced_addition_tree_large_hoisted |
regalloc |
0 |
0 |
230 |
0 |
N/A |
84 |
Fail |
|
|
| array_complex_reduction_4 |
regalloc |
0 |
0 |
0 |
0 |
23 |
25 + 5% |
Pass |
|
|
| array_complex_reduction_6 |
regalloc |
0 |
0 |
230 |
0 |
N/A |
73 |
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 |
|
|
| 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 |
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 |
64 |
86 + 5% |
Pass |
|
|
| binary_search |
regalloc |
0 |
0 |
230 |
0 |
N/A |
59 |
Fail |
|
Error in /tmp/tmpbfkxj5i9.asm line 153: Runtime exception at 0x00400150: address out of range 0x00000000
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 |
0 |
0 |
0 |
0 |
110 |
146 + 5% |
Pass |
|
|
| 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 |
20 |
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 |
0 |
0 |
230 |
0 |
N/A |
153 |
Fail |
|
Error in /tmp/tmp4w3z558e.asm line 1607: Runtime exception at 0x00400a68: address out of range 0x83c3ef70
Processing terminated due to errors.
|
| 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 |
230 |
0 |
N/A |
18 |
Fail |
|
|
| 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 |
230 |
0 |
N/A |
23 |
Fail |
|
|
| array_complex_reduction_1 |
regalloc |
0 |
0 |
0 |
0 |
51 |
53 + 5% |
Pass |
|
|
| array_complex_reduction_7 |
regalloc |
0 |
0 |
0 |
0 |
40 |
42 + 5% |
Pass |
|
|
| balanced_arithmetic_tree_large_hoisted |
regalloc |
0 |
0 |
230 |
0 |
N/A |
177 |
Fail |
|
|
| balanced_arithmetic_tree_small |
regalloc |
0 |
0 |
0 |
0 |
4 |
4 + 5% |
Pass |
|
|
| array_complex_reduction_10 |
regalloc |
0 |
0 |
0 |
0 |
79 |
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 |
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 |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_inheritance1 |
gen |
0 |
0 |
230 |
0 |
N/A |
N/A |
Fail |
|
|
| class_code_gen_inheritance2 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_reference1 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_reference2 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_reference3 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_reference4 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_function_call1 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_function_call2 |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_function_call_reference |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_function_call_typecast |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| 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/tmpc9knj_io.asm line 353: Runtime exception at 0x004003a0: address out of range 0x0000000c
Processing terminated due to errors.
|
| class_code_gen_inheritance_function |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_shadow_field |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|
| class_code_gen_fields1 |
gen |
240 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
|
|
| class_code_gen_fields2 |
gen |
240 |
0 |
0 |
0 |
N/A |
N/A |
Fail |
|
|
| class_code_gen_function_inherited |
gen |
0 |
0 |
0 |
0 |
N/A |
N/A |
Pass |
|
|