├── .github └── workflows │ ├── check_autogen_files.yml │ ├── test_all_commits.yaml │ └── test_tests.yaml ├── .gitignore ├── LICENSE ├── README.md ├── expected_results.json ├── gen_from_templates.py ├── generate_expected_results.py ├── templates ├── chapter_20_templates │ ├── alignment_check_wrapper.s.jinja │ ├── bin_uses_operands.c.jinja │ ├── briggs_coalesce.c.jinja │ ├── clobber_xmm_regs.s.jinja │ ├── division_interference.c.jinja │ ├── division_uses_ax.c.jinja │ ├── force_spill.c.jinja │ ├── fourteen_pseudos_interfere.c.jinja │ ├── funcall_generates_args.c.jinja │ ├── george_coalesce.c.jinja │ ├── george_off_by_one.c.jinja │ ├── reg_live_at_exit.c.jinja │ ├── rewrite_regression_test.c.jinja │ ├── twelve_pseudos_interfere.c.jinja │ ├── use_all_hardregs.c.jinja │ └── wrapper.s.jinja ├── includes │ ├── regalloc_macros.c.jinja │ ├── spill_var.c.jinja │ ├── twelve_regs_conflict.c.jinja │ ├── twelve_regs_conflict_validation.c.jinja │ └── wrapper_base.s.jinja ├── pre_ch20_spill_var.c.jinja ├── stack_alignment_check.s.jinja └── validate_return_pointer.s.jinja ├── test_compiler ├── test_framework ├── __init__.py ├── basic.py ├── parser │ ├── __init__.py │ ├── asm.py │ ├── parse.py │ └── tokenize.py ├── regalloc.py ├── runner.py ├── tacky │ ├── __init__.py │ ├── common.py │ ├── const_fold.py │ ├── copy_prop.py │ ├── dead_store_elim.py │ ├── pipeline.py │ ├── suite.py │ └── unreachable.py └── test_tests │ ├── __init__.py │ ├── test_parse.py │ ├── test_programs.py │ ├── test_tokenize.py │ └── test_toplevel.py ├── test_properties.json └── tests ├── chapter_1 ├── invalid_lex │ ├── at_sign.c │ ├── backslash.c │ ├── backtick.c │ ├── invalid_identifier.c │ └── invalid_identifier_2.c ├── invalid_parse │ ├── end_before_expr.c │ ├── extra_junk.c │ ├── invalid_function_name.c │ ├── keyword_wrong_case.c │ ├── missing_type.c │ ├── misspelled_keyword.c │ ├── no_semicolon.c │ ├── not_expression.c │ ├── space_in_keyword.c │ ├── switched_parens.c │ ├── unclosed_brace.c │ └── unclosed_paren.c └── valid │ ├── multi_digit.c │ ├── newlines.c │ ├── no_newlines.c │ ├── return_0.c │ ├── return_2.c │ ├── spaces.c │ └── tabs.c ├── chapter_10 ├── invalid_declarations │ ├── conflicting_local_declarations.c │ ├── extern_follows_local_var.c │ ├── extern_follows_static_local_var.c │ ├── local_var_follows_extern.c │ ├── out_of_scope_extern_var.c │ ├── redefine_param_as_identifier_with_linkage.c │ └── undeclared_global_variable.c ├── invalid_labels │ └── extra_credit │ │ └── goto_global_var.c ├── invalid_parse │ ├── extern_param.c │ ├── extra_credit │ │ ├── extern_label.c │ │ ├── file_scope_label.c │ │ └── static_label.c │ ├── missing_parameter_list.c │ ├── missing_type_specifier.c │ ├── multi_storage_class_fun.c │ ├── multi_storage_class_var.c │ ├── static_and_extern.c │ └── static_param.c ├── invalid_types │ ├── conflicting_function_linkage.c │ ├── conflicting_function_linkage_2.c │ ├── conflicting_global_definitions.c │ ├── conflicting_variable_linkage.c │ ├── conflicting_variable_linkage_2.c │ ├── extern_for_loop_counter.c │ ├── extern_variable_initializer.c │ ├── extra_credit │ │ └── static_var_case.c │ ├── non_constant_static_initializer.c │ ├── non_constant_static_local_initializer.c │ ├── redeclare_file_scope_var_as_fun.c │ ├── redeclare_fun_as_file_scope_var.c │ ├── redeclare_fun_as_var.c │ ├── static_block_scope_function_declaration.c │ ├── static_for_loop_counter.c │ └── use_file_scope_variable_as_fun.c └── valid │ ├── data_on_page_boundary_linux.s │ ├── data_on_page_boundary_osx.s │ ├── distinct_local_and_extern.c │ ├── extern_block_scope_variable.c │ ├── extra_credit │ ├── bitwise_ops_file_scope_vars.c │ ├── compound_assignment_static_var.c │ ├── goto_skip_static_initializer.c │ ├── increment_global_vars.c │ ├── label_file_scope_var_same_name.c │ ├── label_static_var_same_name.c │ ├── libraries │ │ ├── same_label_same_fun.c │ │ └── same_label_same_fun_client.c │ ├── switch_on_extern.c │ ├── switch_skip_extern_decl.c │ └── switch_skip_static_initializer.c │ ├── libraries │ ├── external_linkage_function.c │ ├── external_linkage_function_client.c │ ├── external_tentative_var.c │ ├── external_tentative_var_client.c │ ├── external_var_scoping.c │ ├── external_var_scoping_client.c │ ├── external_variable.c │ ├── external_variable_client.c │ ├── internal_hides_external_linkage.c │ ├── internal_hides_external_linkage_client.c │ ├── internal_linkage_function.c │ ├── internal_linkage_function_client.c │ ├── internal_linkage_var.c │ └── internal_linkage_var_client.c │ ├── multiple_static_file_scope_vars.c │ ├── multiple_static_local.c │ ├── push_arg_on_page_boundary.c │ ├── shadow_static_local_var.c │ ├── static_local_multiple_scopes.c │ ├── static_local_uninitialized.c │ ├── static_recursive_call.c │ ├── static_then_extern.c │ ├── static_variables_in_expressions.c │ ├── tentative_definition.c │ └── type_before_storage_class.c ├── chapter_11 ├── invalid_labels │ └── extra_credit │ │ ├── bitshift_duplicate_cases.c │ │ ├── switch_duplicate_cases.c │ │ └── switch_duplicate_cases_2.c ├── invalid_lex │ ├── invalid_suffix.c │ └── invalid_suffix2.c ├── invalid_parse │ ├── bad_specifiers.c │ ├── empty_cast.c │ ├── fun_name_long.c │ ├── invalid_cast.c │ ├── invalid_suffix.c │ ├── long_constant_as_var.c │ ├── missing_cast_parentheses.c │ └── var_name_long.c ├── invalid_types │ ├── call_long_as_function.c │ ├── cast_lvalue.c │ ├── conflicting_function_types.c │ ├── conflicting_global_types.c │ └── conflicting_variable_types.c └── valid │ ├── explicit_casts │ ├── sign_extend.c │ └── truncate.c │ ├── extra_credit │ ├── bitshift.c │ ├── bitwise_long_op.c │ ├── compound_assign_to_int.c │ ├── compound_assign_to_long.c │ ├── compound_bitshift.c │ ├── compound_bitwise.c │ ├── increment_long.c │ ├── switch_int.c │ └── switch_long.c │ ├── implicit_casts │ ├── common_type.c │ ├── convert_by_assignment.c │ ├── convert_function_arguments.c │ ├── convert_static_initializer.c │ └── long_constants.c │ ├── libraries │ ├── long_args.c │ ├── long_args_client.c │ ├── long_global_var.c │ ├── long_global_var_client.c │ ├── maintain_stack_alignment.c │ ├── maintain_stack_alignment_client.c │ ├── return_long.c │ └── return_long_client.c │ └── long_expressions │ ├── arithmetic_ops.c │ ├── assign.c │ ├── comparisons.c │ ├── large_constants.c │ ├── logical.c │ ├── long_and_int_locals.c │ ├── long_args.c │ ├── multi_op.c │ ├── return_long.c │ ├── rewrite_large_multiply_regression.c │ ├── simple.c │ ├── static_long.c │ └── type_specifiers.c ├── chapter_12 ├── invalid_labels │ └── extra_credit │ │ └── switch_duplicate_cases.c ├── invalid_lex │ ├── invalid_suffix.c │ └── invalid_suffix_2.c ├── invalid_parse │ ├── bad_specifiers.c │ └── bad_specifiers_2.c ├── invalid_types │ ├── conflicting_signed_unsigned.c │ └── conflicting_uint_ulong.c └── valid │ ├── explicit_casts │ ├── chained_casts.c │ ├── extension.c │ ├── rewrite_movz_regression.c │ ├── round_trip_casts.c │ ├── same_size_conversion.c │ └── truncate.c │ ├── extra_credit │ ├── bitwise_unsigned_ops.c │ ├── bitwise_unsigned_shift.c │ ├── compound_assign_uint.c │ ├── compound_bitshift.c │ ├── compound_bitwise.c │ ├── postfix_precedence.c │ ├── switch_uint.c │ └── unsigned_incr_decr.c │ ├── implicit_casts │ ├── common_type.c │ ├── convert_by_assignment.c │ ├── promote_constants.c │ └── static_initializers.c │ ├── libraries │ ├── unsigned_args.c │ ├── unsigned_args_client.c │ ├── unsigned_global_var.c │ └── unsigned_global_var_client.c │ ├── type_specifiers │ ├── signed_type_specifiers.c │ └── unsigned_type_specifiers.c │ └── unsigned_expressions │ ├── arithmetic_ops.c │ ├── arithmetic_wraparound.c │ ├── comparisons.c │ ├── locals.c │ ├── logical.c │ ├── simple.c │ └── static_variables.c ├── chapter_13 ├── helper_libs │ └── nan.c ├── invalid_lex │ ├── another_bad_constant.c │ ├── bad_exponent_suffix.c │ ├── malformed_const.c │ ├── malformed_exponent.c │ ├── missing_exponent.c │ ├── missing_negative_exponent.c │ └── yet_another_bad_constant.c ├── invalid_parse │ ├── invalid_type_specifier.c │ └── invalid_type_specifier_2.c ├── invalid_types │ ├── complement_double.c │ ├── extra_credit │ │ ├── bitwise_and.c │ │ ├── bitwise_or.c │ │ ├── bitwise_shift_double.c │ │ ├── bitwise_shift_double_2.c │ │ ├── bitwise_xor.c │ │ ├── compound_bitwise_and.c │ │ ├── compound_bitwise_xor.c │ │ ├── compound_left_bitshift.c │ │ ├── compound_mod.c │ │ ├── compound_mod_2.c │ │ ├── compound_right_bitshift.c │ │ ├── switch_double_case.c │ │ └── switch_on_double.c │ ├── mod_double.c │ └── mod_double_2.c └── valid │ ├── constants │ ├── constant_doubles.c │ └── round_constants.c │ ├── explicit_casts │ ├── cvttsd2si_rewrite.c │ ├── double_to_signed.c │ ├── double_to_unsigned.c │ ├── rewrite_cvttsd2si_regression.c │ ├── signed_to_double.c │ └── unsigned_to_double.c │ ├── extra_credit │ ├── compound_assign.c │ ├── compound_assign_implicit_cast.c │ ├── incr_and_decr.c │ ├── nan.c │ ├── nan_compound_assign.c │ └── nan_incr_and_decr.c │ ├── floating_expressions │ ├── arithmetic_ops.c │ ├── comparisons.c │ ├── logical.c │ ├── loop_controlling_expression.c │ ├── simple.c │ └── static_initialized_double.c │ ├── function_calls │ ├── double_and_int_parameters.c │ ├── double_and_int_params_recursive.c │ ├── double_parameters.c │ ├── push_xmm.c │ ├── return_double.c │ ├── standard_library_call.c │ └── use_arg_after_fun_call.c │ ├── implicit_casts │ ├── common_type.c │ ├── complex_arithmetic_common_type.c │ ├── convert_for_assignment.c │ └── static_initializers.c │ ├── libraries │ ├── double_and_int_params_recursive.c │ ├── double_and_int_params_recursive_client.c │ ├── double_parameters.c │ ├── double_parameters_client.c │ ├── double_params_and_result.c │ ├── double_params_and_result_client.c │ ├── extern_double.c │ ├── extern_double_client.c │ ├── use_arg_after_fun_call.c │ └── use_arg_after_fun_call_client.c │ └── special_values │ ├── infinity.c │ ├── negative_zero.c │ └── subnormal_not_zero.c ├── chapter_14 ├── invalid_declarations │ └── extra_credit │ │ ├── addr_of_label.c │ │ └── deref_label.c ├── invalid_parse │ ├── abstract_function_declarator.c │ ├── cast_to_declarator.c │ ├── malformed_abstract_declarator.c │ ├── malformed_declarator.c │ ├── malformed_function_declarator.c │ └── malformed_function_declarator_2.c ├── invalid_types │ ├── address_of_address.c │ ├── address_of_assignment.c │ ├── address_of_constant.c │ ├── address_of_ternary.c │ ├── assign_int_to_pointer.c │ ├── assign_int_var_to_pointer.c │ ├── assign_to_address.c │ ├── assign_wrong_pointer_type.c │ ├── bad_null_pointer_constant.c │ ├── cast_double_to_pointer.c │ ├── cast_pointer_to_double.c │ ├── compare_mixed_pointer_types.c │ ├── compare_pointer_to_ulong.c │ ├── complement_pointer.c │ ├── dereference_non_pointer.c │ ├── divide_pointer.c │ ├── extra_credit │ │ ├── bitwise_and_pointer.c │ │ ├── bitwise_compound_assign_to_pointer.c │ │ ├── bitwise_compound_assign_with_pointer.c │ │ ├── bitwise_lshift_pointer.c │ │ ├── bitwise_or_pointer.c │ │ ├── bitwise_rshift_pointer.c │ │ ├── bitwise_xor_pointer.c │ │ ├── compound_assign_thru_ptr_not_lval.c │ │ ├── compound_assignment_not_lval.c │ │ ├── compound_divide_pointer.c │ │ ├── compound_mod_pointer.c │ │ ├── compound_multiply_pointer.c │ │ ├── postfix_decr_not_lvalue.c │ │ ├── prefix_incr_not_lvalue.c │ │ └── switch_on_pointer.c │ ├── invalid_pointer_initializer.c │ ├── invalid_static_initializer.c │ ├── multiply_pointers.c │ ├── multiply_pointers_2.c │ ├── negate_pointer.c │ ├── pass_pointer_as_int.c │ ├── return_wrong_pointer_type.c │ └── ternary_mixed_pointer_types.c └── valid │ ├── casts │ ├── cast_between_pointer_types.c │ ├── null_pointer_conversion.c │ └── pointer_int_casts.c │ ├── comparisons │ ├── compare_pointers.c │ ├── compare_to_null.c │ └── pointers_as_conditions.c │ ├── declarators │ ├── abstract_declarators.c │ ├── declarators.c │ └── declare_pointer_in_for_loop.c │ ├── dereference │ ├── address_of_dereference.c │ ├── dereference_expression_result.c │ ├── multilevel_indirection.c │ ├── read_through_pointers.c │ ├── simple.c │ ├── static_var_indirection.c │ └── update_through_pointers.c │ ├── extra_credit │ ├── bitshift_dereferenced_ptrs.c │ ├── bitwise_ops_with_dereferenced_ptrs.c │ ├── compound_assign_conversion.c │ ├── compound_assign_through_pointer.c │ ├── compound_bitwise_dereferenced_ptrs.c │ ├── eval_compound_lhs_once.c │ ├── incr_and_decr_through_pointer.c │ └── switch_dereferenced_pointer.c │ ├── function_calls │ ├── address_of_argument.c │ ├── return_pointer.c │ └── update_value_through_pointer_parameter.c │ └── libraries │ ├── global_pointer.c │ ├── global_pointer_client.c │ ├── static_pointer.c │ └── static_pointer_client.c ├── chapter_15 ├── invalid_parse │ ├── array_of_functions.c │ ├── array_of_functions_2.c │ ├── double_declarator.c │ ├── empty_initializer_list.c │ ├── malformed_abstract_array_declarator.c │ ├── malformed_abstract_array_declarator_2.c │ ├── malformed_array_declarator.c │ ├── malformed_array_declarator_2.c │ ├── malformed_array_declarator_3.c │ ├── malformed_type_name.c │ ├── malformed_type_name_2.c │ ├── mismatched_subscript.c │ ├── negative_array_dimension.c │ ├── parenthesized_array_of_functions.c │ ├── return_array.c │ ├── unclosed_initializer.c │ ├── unclosed_nested_initializer.c │ └── unclosed_subscript.c ├── invalid_types │ ├── add_two_pointers.c │ ├── assign_incompatible_pointer_types.c │ ├── assign_to_array.c │ ├── assign_to_array_2.c │ ├── assign_to_array_3.c │ ├── bad_arg_type.c │ ├── cast_to_array_type.c │ ├── cast_to_array_type_2.c │ ├── cast_to_array_type_3.c │ ├── compare_different_pointer_types.c │ ├── compare_explicit_and_implict_addr.c │ ├── compare_pointer_to_int.c │ ├── compare_pointer_to_zero.c │ ├── compound_initializer_for_scalar.c │ ├── compound_initializer_for_static_scalar.c │ ├── compound_initializer_too_long_static.c │ ├── compound_inititializer_too_long.c │ ├── conflicting_array_declarations.c │ ├── conflicting_function_declarations.c │ ├── double_subscript.c │ ├── extra_credit │ │ ├── compound_add_double_to_pointer.c │ │ ├── compound_add_two_pointers.c │ │ ├── compound_assign_to_array.c │ │ ├── compound_assign_to_nested_array.c │ │ ├── compound_sub_pointer_from_int.c │ │ ├── postfix_incr_array.c │ │ ├── postfix_incr_nested_array.c │ │ ├── prefix_decr_array.c │ │ ├── prefix_decr_nested_array.c │ │ └── switch_on_array.c │ ├── function_returns_array.c │ ├── incompatible_elem_type_compound_init.c │ ├── incompatible_elem_type_static_compound_init.c │ ├── null_ptr_array_initializer.c │ ├── null_ptr_static_array_initializer.c │ ├── scalar_initializer_for_array.c │ ├── scalar_initializer_for_static_array.c │ ├── static_non_const_array.c │ ├── sub_different_pointer_types.c │ ├── sub_double_from_ptr.c │ ├── sub_ptr_from_int.c │ ├── subscript_both_pointers.c │ └── subscript_non_ptr.c └── valid │ ├── allocation │ └── test_alignment.c │ ├── casts │ ├── cast_array_of_pointers.c │ ├── implicit_and_explicit_conversions.c │ └── multi_dim_casts.c │ ├── declarators │ ├── array_as_argument.c │ ├── big_array.c │ ├── equivalent_declarators.c │ ├── for_loop_array.c │ └── return_nested_array.c │ ├── extra_credit │ ├── bitwise_subscript.c │ ├── compound_assign_and_increment.c │ ├── compound_assign_array_of_pointers.c │ ├── compound_assign_to_nested_subscript.c │ ├── compound_assign_to_subscripted_val.c │ ├── compound_bitwise_subscript.c │ ├── compound_lval_evaluated_once.c │ ├── compound_nested_pointer_assignment.c │ ├── compound_pointer_assignment.c │ ├── incr_and_decr_nested_pointers.c │ ├── incr_and_decr_pointers.c │ ├── incr_decr_subscripted_vals.c │ └── postfix_prefix_precedence.c │ ├── initialization │ ├── automatic.c │ ├── automatic_nested.c │ ├── static.c │ ├── static_nested.c │ └── trailing_comma_initializer.c │ ├── libraries │ ├── global_array.c │ ├── global_array_client.c │ ├── return_pointer_to_array.c │ ├── return_pointer_to_array_client.c │ ├── set_array_val.c │ └── set_array_val_client.c │ ├── pointer_arithmetic │ ├── add_dereference_and_assign.c │ ├── compare.c │ ├── pointer_add.c │ └── pointer_diff.c │ └── subscripting │ ├── addition_subscript_equivalence.c │ ├── array_of_pointers_to_arrays.c │ ├── complex_operands.c │ ├── simple.c │ ├── simple_subscripts.c │ ├── subscript_nested.c │ ├── subscript_pointer.c │ └── subscript_precedence.c ├── chapter_16 ├── invalid_labels │ └── extra_credit │ │ └── duplicate_case_char_const.c ├── invalid_lex │ ├── char_bad_escape_sequence.c │ ├── newline.c │ ├── string_bad_escape_sequence.c │ ├── unescaped_backslash.c │ ├── unescaped_double_quote.c │ ├── unescaped_single_quote.c │ ├── unterminated_char_constant.c │ └── unterminated_string.c ├── invalid_parse │ ├── extra_credit │ │ ├── character_const_goto.c │ │ ├── character_const_label.c │ │ ├── string_literal_goto.c │ │ └── string_literal_label.c │ ├── invalid_type_specifier.c │ ├── invalid_type_specifier_2.c │ ├── misplaced_char_literal.c │ └── string_literal_varname.c ├── invalid_types │ ├── assign_to_string_literal.c │ ├── char_and_schar_conflict.c │ ├── char_and_uchar_conflict.c │ ├── compound_initializer_for_pointer.c │ ├── extra_credit │ │ ├── bit_shift_string.c │ │ ├── bitwise_operation_on_string.c │ │ ├── case_statement_string.c │ │ ├── compound_assign_from_string.c │ │ ├── compound_assign_to_string.c │ │ ├── postfix_incr_string.c │ │ ├── prefix_incr_string.c │ │ └── switch_on_string.c │ ├── implicit_conversion_between_char_pointers.c │ ├── implicit_conversion_pointers_to_different_size_arrays.c │ ├── negate_char_pointer.c │ ├── string_initializer_for_multidim_array.c │ ├── string_initializer_too_long.c │ ├── string_initializer_too_long_nested.c │ ├── string_initializer_too_long_nested_static.c │ ├── string_initializer_too_long_static.c │ ├── string_initializer_wrong_type.c │ ├── string_initializer_wrong_type_nested.c │ ├── string_initializer_wrong_type_nested_static.c │ ├── string_literal_is_plain_char_pointer.c │ └── string_literal_is_plain_char_pointer_static.c └── valid │ ├── char_constants │ ├── char_constant_operations.c │ ├── control_characters.c │ ├── escape_sequences.c │ └── return_char_constant.c │ ├── chars │ ├── access_through_char_pointer.c │ ├── chained_casts.c │ ├── char_arguments.c │ ├── char_expressions.c │ ├── common_type.c │ ├── convert_by_assignment.c │ ├── data_on_page_boundary_linux.s │ ├── data_on_page_boundary_osx.s │ ├── explicit_casts.c │ ├── integer_promotion.c │ ├── partial_initialization.c │ ├── push_arg_on_page_boundary.c │ ├── return_char.c │ ├── rewrite_movz_regression.c │ ├── static_initializers.c │ └── type_specifiers.c │ ├── extra_credit │ ├── bitshift_chars.c │ ├── bitwise_ops_character_constants.c │ ├── bitwise_ops_chars.c │ ├── char_consts_as_cases.c │ ├── compound_assign_chars.c │ ├── compound_bitwise_ops_chars.c │ ├── incr_decr_chars.c │ ├── incr_decr_unsigned_chars.c │ ├── promote_switch_cond.c │ ├── promote_switch_cond_2.c │ └── switch_on_char_const.c │ ├── libraries │ ├── char_arguments.c │ ├── char_arguments_client.c │ ├── global_char.c │ ├── global_char_client.c │ ├── return_char.c │ └── return_char_client.c │ ├── strings_as_initializers │ ├── adjacent_strings_in_initializer.c │ ├── array_init_special_chars.c │ ├── literals_and_compound_initializers.c │ ├── partial_initialize_via_string.c │ ├── simple.c │ ├── terminating_null_bytes.c │ ├── test_alignment.c │ ├── transfer_by_eightbyte.c │ └── write_to_array.c │ └── strings_as_lvalues │ ├── addr_of_string.c │ ├── adjacent_strings.c │ ├── array_of_strings.c │ ├── cast_string_pointer.c │ ├── empty_string.c │ ├── pointer_operations.c │ ├── simple.c │ ├── standard_library_calls.c │ ├── string_special_characters.c │ └── strings_in_function_calls.c ├── chapter_17 ├── invalid_parse │ ├── bad_specifier.c │ ├── bad_specifier_2.c │ ├── sizeof_cast.c │ └── sizeof_type_no_parens.c ├── invalid_types │ ├── extra_credit │ │ ├── bitshift_void.c │ │ ├── bitwise_void.c │ │ ├── compound_add_void_pointer.c │ │ ├── compound_sub_void_pointer.c │ │ ├── compound_void_rval.c │ │ ├── compound_void_rval_add.c │ │ ├── compound_void_rval_bitshift.c │ │ ├── postfix_decr_void.c │ │ ├── postfix_decr_void_pointer.c │ │ ├── postfix_incr_void_pointer.c │ │ ├── prefix_decr_void_pointer.c │ │ ├── prefix_incr_void.c │ │ ├── prefix_incr_void_pointer.c │ │ └── switch_void.c │ ├── incomplete_types │ │ ├── add_void_pointer.c │ │ ├── sizeof_function.c │ │ ├── sizeof_void.c │ │ ├── sizeof_void_array.c │ │ ├── sizeof_void_expression.c │ │ ├── sub_void_pointer.c │ │ ├── subscript_void.c │ │ ├── subscript_void_pointer_conditional.c │ │ ├── void_array.c │ │ ├── void_array_in_cast.c │ │ ├── void_array_in_param_type.c │ │ ├── void_array_nested_in_declaration.c │ │ ├── void_array_pointer_in_declaration.c │ │ └── void_array_pointer_in_param_type.c │ ├── pointer_conversions │ │ ├── compare_void_ptr_to_int.c │ │ ├── compare_void_to_other_pointer.c │ │ ├── convert_ulong_to_void_ptr.c │ │ ├── convert_void_ptr_to_int.c │ │ └── usual_arithmetic_conversions_ptr.c │ ├── scalar_expressions │ │ ├── and_void.c │ │ ├── cast_void.c │ │ ├── not_void.c │ │ ├── or_void.c │ │ ├── void_condition_do_loop.c │ │ ├── void_condition_for_loop.c │ │ ├── void_condition_while_loop.c │ │ ├── void_if_condition.c │ │ └── void_ternary_condition.c │ └── void │ │ ├── assign_to_void_lvalue.c │ │ ├── assign_to_void_var.c │ │ ├── assign_void_rval.c │ │ ├── define_void.c │ │ ├── initialized_void.c │ │ ├── mismatched_conditional.c │ │ ├── negate_void.c │ │ ├── no_return_value.c │ │ ├── non_void_return.c │ │ ├── return_void_as_pointer.c │ │ ├── subscript_void.c │ │ ├── void_compare.c │ │ ├── void_equality.c │ │ └── void_fun_params.c └── valid │ ├── extra_credit │ ├── sizeof_bitwise.c │ ├── sizeof_compound.c │ ├── sizeof_compound_bitwise.c │ └── sizeof_incr.c │ ├── libraries │ ├── pass_alloced_memory.c │ ├── pass_alloced_memory_client.c │ ├── sizeof_extern.c │ ├── sizeof_extern_client.c │ ├── test_for_memory_leaks.c │ └── test_for_memory_leaks_client.c │ ├── sizeof │ ├── simple.c │ ├── sizeof_array.c │ ├── sizeof_basic_types.c │ ├── sizeof_consts.c │ ├── sizeof_derived_types.c │ ├── sizeof_expressions.c │ ├── sizeof_not_evaluated.c │ └── sizeof_result_is_ulong.c │ ├── void │ ├── cast_to_void.c │ ├── ternary.c │ ├── void_for_loop.c │ └── void_function.c │ └── void_pointer │ ├── array_of_pointers_to_void.c │ ├── common_pointer_type.c │ ├── conversion_by_assignment.c │ ├── explicit_cast.c │ ├── memory_management_functions.c │ └── simple.c ├── chapter_18 ├── invalid_lex │ ├── dot_bad_token.c │ └── dot_bad_token_2.c ├── invalid_parse │ ├── arrow_missing_member.c │ ├── dot_invalid_member.c │ ├── dot_no_left_expr.c │ ├── dot_operator_in_declarator.c │ ├── empty_initializer_list.c │ ├── extra_credit │ │ ├── case_struct_decl.c │ │ ├── default_kw_member_name.c │ │ ├── goto_kw_struct_tag.c │ │ ├── label_inside_struct_decl.c │ │ ├── labeled_struct_decl.c │ │ ├── struct_union.c │ │ ├── two_union_kws.c │ │ ├── union_bad_type_spec.c │ │ ├── union_decl_bad_type_specifier.c │ │ ├── union_decl_empty_member_list.c │ │ ├── union_decl_extra_semicolon.c │ │ ├── union_empty_initializer.c │ │ ├── union_member_initializer.c │ │ ├── union_member_is_function.c │ │ ├── union_member_name_kw.c │ │ ├── union_member_no_declarator.c │ │ ├── union_member_no_type.c │ │ ├── union_member_storage_class.c │ │ ├── union_struct_tag.c │ │ ├── union_two_tags.c │ │ ├── union_var_bad_tag.c │ │ └── union_var_tag_paren.c │ ├── misplaced_storage_class.c │ ├── struct_decl_double_semicolon.c │ ├── struct_decl_empty_member_list.c │ ├── struct_decl_extra_semicolon.c │ ├── struct_decl_kw_wrong_order.c │ ├── struct_decl_missing_end_semicolon.c │ ├── struct_decl_tag_kw.c │ ├── struct_decl_two_kws.c │ ├── struct_member_initializer.c │ ├── struct_member_is_function.c │ ├── struct_member_name_kw.c │ ├── struct_member_no_declarator.c │ ├── struct_member_no_semicolon.c │ ├── struct_member_no_type.c │ ├── struct_member_storage_class.c │ ├── var_decl_bad_tag_1.c │ ├── var_decl_bad_tag_2.c │ ├── var_decl_bad_type_specifier.c │ ├── var_decl_missing_struct_kw.c │ ├── var_decl_two_struct_kws.c │ └── var_decl_two_tags.c ├── invalid_struct_tags │ ├── array_of_undeclared.c │ ├── cast_undeclared.c │ ├── deref_undeclared.c │ ├── extra_credit │ │ ├── sizeof_undeclared_union.c │ │ └── var_undeclared_union_type.c │ ├── file_scope_var_type_undeclared.c │ ├── for_loop_scope.c │ ├── for_loop_scope_2.c │ ├── member_type_undeclared.c │ ├── param_undeclared.c │ ├── return_type_undeclared.c │ ├── sizeof_undeclared.c │ └── var_type_undeclared.c ├── invalid_types │ ├── extra_credit │ │ ├── README.md │ │ ├── bad_union_member_access │ │ │ ├── nested_non_member.c │ │ │ ├── union_bad_member.c │ │ │ └── union_bad_pointer_member.c │ │ ├── incompatible_union_types │ │ │ ├── assign_different_union_type.c │ │ │ ├── assign_scalar_to_union.c │ │ │ ├── return_type_mismatch.c │ │ │ ├── union_branch_mismatch.c │ │ │ └── union_pointer_branch_mismatch.c │ │ ├── incomplete_unions │ │ │ ├── define_incomplete_union.c │ │ │ └── sizeof_incomplete_union_type.c │ │ ├── invalid_union_lvalues │ │ │ ├── address_of_non_lvalue_union_member.c │ │ │ └── assign_non_lvalue_union_member.c │ │ ├── other_features │ │ │ ├── bitwise_op_structure.c │ │ │ ├── compound_assign_struct_rval.c │ │ │ ├── compound_assign_to_nested_struct.c │ │ │ ├── compound_assign_to_struct.c │ │ │ ├── duplicate_struct_types_after_label.c │ │ │ ├── postfix_decr_struct_arrow.c │ │ │ ├── postfix_incr_struct.c │ │ │ ├── prefix_decr_struct.c │ │ │ ├── prefix_incr_nested_struct.c │ │ │ └── switch_on_struct.c │ │ ├── scalar_required │ │ │ ├── cast_between_unions.c │ │ │ ├── cast_union_to_int.c │ │ │ ├── compare_unions.c │ │ │ ├── switch_on_union.c │ │ │ └── union_as_controlling_expression.c │ │ ├── union_initializers │ │ │ ├── initializer_too_long.c │ │ │ ├── nested_init_wrong_type.c │ │ │ ├── nested_union_init_too_long.c │ │ │ ├── scalar_union_initializer.c │ │ │ ├── static_aggregate_init_wrong_type.c │ │ │ ├── static_nested_init_not_const.c │ │ │ ├── static_nested_init_too_long.c │ │ │ ├── static_scalar_union_initializer.c │ │ │ ├── static_too_long.c │ │ │ ├── static_union_init_not_constant.c │ │ │ ├── static_union_init_wrong_type.c │ │ │ └── union_init_wrong_type.c │ │ ├── union_struct_conflicts │ │ │ ├── conflicting_tag_decl_and_use.c │ │ │ ├── conflicting_tag_decl_and_use_self_reference.c │ │ │ ├── conflicting_tag_declarations.c │ │ │ ├── struct_shadowed_by_union.c │ │ │ ├── tag_decl_conflicts_with_def.c │ │ │ ├── tag_def_conflicts_with_decl.c │ │ │ └── union_shadowed_by_incomplete_struct.c │ │ ├── union_tag_resolution │ │ │ ├── address_of_wrong_union_type.c │ │ │ ├── compare_struct_and_union_ptrs.c │ │ │ ├── conflicting_param_union_types.c │ │ │ ├── distinct_union_types.c │ │ │ ├── union_type_shadows_struct.c │ │ │ └── union_wrong_member.c │ │ └── union_type_declarations │ │ │ ├── array_of_incomplete_union_type.c │ │ │ ├── duplicate_union_def.c │ │ │ ├── incomplete_union_member.c │ │ │ ├── member_name_conflicts.c │ │ │ └── union_self_reference.c │ ├── incompatible_types │ │ ├── assign_different_pointer_type.c │ │ ├── assign_different_struct_type.c │ │ ├── branch_mismatch.c │ │ ├── branch_mismatch_2.c │ │ ├── compare_different_struct_pointers.c │ │ ├── return_wrong_struct_type.c │ │ ├── struct_param_mismatch.c │ │ └── struct_pointer_param_mismatch.c │ ├── initializers │ │ ├── compound_initializer_too_long.c │ │ ├── init_struct_with_string.c │ │ ├── initialize_nested_static_struct_member_wrong_type.c │ │ ├── initialize_static_struct_with_zero.c │ │ ├── initialize_struct_member_wrong_type.c │ │ ├── initialize_struct_with_scalar.c │ │ ├── initialize_struct_wrong_type.c │ │ ├── nested_compound_initializer_too_long.c │ │ ├── nested_static_compound_initializer_too_long.c │ │ ├── nested_struct_initializer_wrong_type.c │ │ ├── non_constant_static_elem_init.c │ │ ├── non_constant_static_init.c │ │ └── static_initializer_too_long.c │ ├── invalid_incomplete_structs │ │ ├── assign_to_incomplete_var.c │ │ ├── cast_incomplete_struct.c │ │ ├── deref_incomplete_struct_pointer.c │ │ ├── incomplete_arg_funcall.c │ │ ├── incomplete_array_element.c │ │ ├── incomplete_local_var.c │ │ ├── incomplete_param.c │ │ ├── incomplete_ptr_addition.c │ │ ├── incomplete_ptr_subtraction.c │ │ ├── incomplete_return_type_fun_def.c │ │ ├── incomplete_return_type_funcall.c │ │ ├── incomplete_struct_conditional.c │ │ ├── incomplete_struct_full_expr.c │ │ ├── incomplete_struct_member.c │ │ ├── incomplete_subscript.c │ │ ├── incomplete_tentative_def.c │ │ ├── initialize_incomplete.c │ │ ├── sizeof_incomplete.c │ │ └── sizeof_incomplete_expr.c │ ├── invalid_lvalues │ │ ├── address_of_non_lvalue.c │ │ ├── assign_nested_non_lvalue.c │ │ ├── assign_to_array.c │ │ └── assign_to_non_lvalue.c │ ├── invalid_member_operators │ │ ├── arrow_pointer_to_non_struct.c │ │ ├── bad_member.c │ │ ├── bad_pointer_member.c │ │ ├── member_of_non_struct.c │ │ ├── member_pointer_non_struct_pointer.c │ │ ├── nested_arrow_pointer_to_non_struct.c │ │ └── postfix_precedence.c │ ├── invalid_struct_declaration │ │ ├── duplicate_member_name.c │ │ ├── duplicate_struct_declaration.c │ │ ├── incomplete_member.c │ │ ├── invalid_array_member.c │ │ ├── invalid_self_reference.c │ │ └── void_member.c │ ├── scalar_required │ │ ├── and_struct.c │ │ ├── assign_null_ptr_to_struct.c │ │ ├── assign_scalar_to_struct.c │ │ ├── cast_struct_to_scalar.c │ │ ├── cast_to_struct.c │ │ ├── compare_structs.c │ │ ├── not_struct.c │ │ ├── pass_struct_as_scalar_param.c │ │ ├── struct_as_int.c │ │ ├── struct_controlling_expression.c │ │ └── subscript_struct.c │ └── tag_resolution │ │ ├── address_of_wrong_type.c │ │ ├── conflicting_fun_param_types.c │ │ ├── conflicting_fun_ret_types.c │ │ ├── distinct_struct_types.c │ │ ├── incomplete_shadows_complete.c │ │ ├── incomplete_shadows_complete_cast.c │ │ ├── invalid_shadow_self_reference.c │ │ ├── member_name_wrong_scope.c │ │ ├── member_name_wrong_scope_nested.c │ │ ├── mismatched_return_type.c │ │ ├── shadow_struct.c │ │ └── shadowed_tag_branch_mismatch.c └── valid │ ├── extra_credit │ ├── README.md │ ├── libraries │ │ ├── classify_unions.c │ │ ├── classify_unions_client.c │ │ ├── param_passing.c │ │ ├── param_passing_client.c │ │ ├── static_union_inits.c │ │ ├── static_union_inits.h │ │ ├── static_union_inits_client.c │ │ ├── union_inits.c │ │ ├── union_inits.h │ │ ├── union_inits_client.c │ │ ├── union_lib.h │ │ ├── union_retvals.c │ │ └── union_retvals_client.c │ ├── member_access │ │ ├── nested_union_access.c │ │ ├── static_union_access.c │ │ ├── union_init_and_member_access.c │ │ └── union_temp_lifetime.c │ ├── other_features │ │ ├── bitwise_ops_struct_members.c │ │ ├── compound_assign_struct_members.c │ │ ├── decr_arrow_lexing.c │ │ ├── incr_struct_members.c │ │ ├── label_tag_member_namespace.c │ │ └── struct_decl_in_switch_statement.c │ ├── semantic_analysis │ │ ├── cast_union_to_void.c │ │ ├── decl_shadows_decl.c │ │ ├── incomplete_union_types.c │ │ ├── redeclare_union.c │ │ ├── struct_shadows_union.c │ │ ├── union_members_same_type.c │ │ ├── union_namespace.c │ │ ├── union_self_pointer.c │ │ └── union_shadows_struct.c │ ├── size_and_offset │ │ ├── compare_union_pointers.c │ │ └── union_sizes.c │ ├── union_copy │ │ ├── assign_to_union.c │ │ ├── copy_non_scalar_members.c │ │ ├── copy_thru_pointer.c │ │ └── unions_in_conditionals.c │ └── union_types.h │ ├── no_structure_parameters │ ├── README.md │ ├── libraries │ │ ├── array_of_structs.c │ │ ├── array_of_structs.h │ │ ├── array_of_structs_client.c │ │ ├── global_struct.c │ │ ├── global_struct.h │ │ ├── global_struct_client.c │ │ ├── initializers │ │ │ ├── auto_struct_initializers.c │ │ │ ├── auto_struct_initializers.h │ │ │ ├── auto_struct_initializers_client.c │ │ │ ├── nested_auto_struct_initializers.c │ │ │ ├── nested_auto_struct_initializers.h │ │ │ ├── nested_auto_struct_initializers_client.c │ │ │ ├── nested_static_struct_initializers.c │ │ │ ├── nested_static_struct_initializers.h │ │ │ ├── nested_static_struct_initializers_client.c │ │ │ ├── static_struct_initializers.c │ │ │ ├── static_struct_initializers.h │ │ │ └── static_struct_initializers_client.c │ │ ├── opaque_struct.c │ │ ├── opaque_struct_client.c │ │ ├── param_struct_pointer.c │ │ ├── param_struct_pointer.h │ │ ├── param_struct_pointer_client.c │ │ ├── return_struct_pointer.c │ │ ├── return_struct_pointer.h │ │ └── return_struct_pointer_client.c │ ├── parse_and_lex │ │ ├── postfix_precedence.c │ │ ├── space_around_struct_member.c │ │ ├── struct_member_looks_like_const.c │ │ └── trailing_comma.c │ ├── scalar_member_access │ │ ├── arrow.c │ │ ├── dot.c │ │ ├── linked_list.c │ │ ├── nested_struct.c │ │ └── static_structs.c │ ├── semantic_analysis │ │ ├── cast_struct_to_void.c │ │ ├── incomplete_structs.c │ │ ├── namespaces.c │ │ └── resolve_tags.c │ ├── size_and_offset_calculations │ │ ├── member_comparisons.c │ │ ├── member_offsets.c │ │ ├── sizeof_exps.c │ │ ├── sizeof_type.c │ │ └── struct_sizes.h │ ├── smoke_tests │ │ ├── simple.c │ │ └── static_vs_auto.c │ └── struct_copy │ │ ├── copy_struct.c │ │ ├── copy_struct_through_pointer.c │ │ ├── copy_struct_with_arrow_operator.c │ │ ├── copy_struct_with_dot_operator.c │ │ ├── stack_clobber.c │ │ └── structs.h │ ├── parameters │ ├── data_on_page_boundary_linux.s │ ├── data_on_page_boundary_osx.s │ ├── incomplete_param_type.c │ ├── libraries │ │ ├── classify_params.c │ │ ├── classify_params.h │ │ ├── classify_params_client.c │ │ ├── modify_param.c │ │ ├── modify_param.h │ │ ├── modify_param_client.c │ │ ├── param_calling_conventions.c │ │ ├── param_calling_conventions.h │ │ ├── param_calling_conventions_client.c │ │ ├── pass_struct.c │ │ ├── pass_struct.h │ │ ├── pass_struct_client.c │ │ ├── struct_sizes.c │ │ ├── struct_sizes.h │ │ └── struct_sizes_client.c │ ├── pass_args_on_page_boundary.c │ ├── simple.c │ └── stack_clobber.c │ └── params_and_returns │ ├── big_data_on_page_boundary_linux.s │ ├── big_data_on_page_boundary_osx.s │ ├── data_on_page_boundary_linux.s │ ├── data_on_page_boundary_osx.s │ ├── ignore_retval.c │ ├── libraries │ ├── access_retval_members.c │ ├── access_retval_members.h │ ├── access_retval_members_client.c │ ├── missing_retval.c │ ├── missing_retval.h │ ├── missing_retval_client.c │ ├── return_calling_conventions.c │ ├── return_calling_conventions.h │ ├── return_calling_conventions_client.c │ ├── retval_struct_sizes.c │ ├── retval_struct_sizes.h │ └── retval_struct_sizes_client.c │ ├── return_big_struct_on_page_boundary.c │ ├── return_incomplete_type.c │ ├── return_pointer_in_rax.c │ ├── return_space_address_overlap_linux.s │ ├── return_space_address_overlap_osx.s │ ├── return_space_overlap.c │ ├── return_struct_on_page_boundary.c │ ├── simple.c │ ├── stack_clobber.c │ ├── temporary_lifetime.c │ ├── validate_return_pointer_linux.s │ └── validate_return_pointer_osx.s ├── chapter_19 ├── constant_folding │ ├── README.md │ ├── all_types │ │ ├── extra_credit │ │ │ ├── cast_nan_not_executed.c │ │ │ ├── fold_bitwise_long.c │ │ │ ├── fold_bitwise_unsigned.c │ │ │ ├── fold_nan.c │ │ │ └── return_nan.c │ │ ├── fold_cast_from_double.c │ │ ├── fold_cast_to_double.c │ │ ├── fold_conditional_jump.c │ │ ├── fold_double.c │ │ ├── fold_double_cast_exception.c │ │ ├── fold_extensions_and_copies.c │ │ ├── fold_long.c │ │ ├── fold_truncate.c │ │ ├── fold_uint.c │ │ ├── fold_ulong.c │ │ └── negative_zero.c │ └── int_only │ │ ├── extra_credit │ │ └── fold_bitwise.c │ │ ├── fold_binary.c │ │ ├── fold_conditional_jump.c │ │ ├── fold_control_flow.c │ │ ├── fold_exception.c │ │ └── fold_unary.c ├── copy_propagation │ ├── README.md │ ├── all_types │ │ ├── alias_analysis.c │ │ ├── char_type_conversion.c │ │ ├── copy_struct.c │ │ ├── dont_propagate │ │ │ ├── copy_to_offset.c │ │ │ ├── dont_propagate_addr_of.c │ │ │ ├── static_are_aliased.c │ │ │ ├── store_kills_aliased.c │ │ │ ├── type_conversion.c │ │ │ └── zero_neg_zero_different.c │ │ ├── extra_credit │ │ │ ├── copy_union.c │ │ │ ├── dont_propagate │ │ │ │ ├── update_union_member.c │ │ │ │ └── update_union_member_2.c │ │ │ ├── pointer_compound_assignment.c │ │ │ ├── pointer_incr.c │ │ │ ├── redundant_nan_copy.c │ │ │ └── redundant_union_copy.c │ │ ├── funcall_kills_aliased.c │ │ ├── pointer_arithmetic.c │ │ ├── propagate_all_types.c │ │ ├── propagate_into_type_conversions.c │ │ ├── propagate_null_pointer.c │ │ ├── redundant_double_copies.c │ │ ├── redundant_struct_copies.c │ │ └── store_doesnt_kill.c │ └── int_only │ │ ├── constant_propagation.c │ │ ├── different_paths_same_copy.c │ │ ├── different_source_values_same_copy.c │ │ ├── dont_propagate │ │ ├── add_all_blocks_to_worklist.c │ │ ├── dest_killed.c │ │ ├── listing_19_14.c │ │ ├── multi_values.c │ │ ├── no_copies_reach_entry.c │ │ ├── one_reaching_copy.c │ │ ├── source_killed.c │ │ ├── source_killed_on_one_path.c │ │ ├── static_dst_killed.c │ │ └── static_src_killed.c │ │ ├── extra_credit │ │ ├── dont_propagate │ │ │ ├── decr_kills_dest.c │ │ │ └── switch_fallthrough.c │ │ ├── goto_define.c │ │ ├── prefix_result.c │ │ ├── propagate_from_default.c │ │ └── propagate_into_case.c │ │ ├── fig_19_8.c │ │ ├── init_all_copies.c │ │ ├── kill_and_add_copies.c │ │ ├── killed_then_redefined.c │ │ ├── multi_path_no_kill.c │ │ ├── nested_loops.c │ │ ├── propagate_into_complex_expressions.c │ │ ├── propagate_params.c │ │ ├── propagate_static.c │ │ ├── propagate_static_var.c │ │ ├── propagate_var.c │ │ └── redundant_copies.c ├── dead_store_elimination │ ├── README.md │ ├── all_types │ │ ├── aliased_dead_at_exit.c │ │ ├── copy_to_dead_struct.c │ │ ├── delete_dead_pt_ii_instructions.c │ │ ├── dont_elim │ │ │ ├── copytooffset_doesnt_kill.c │ │ │ ├── funcall_generates_aliased.c │ │ │ ├── load_generates_aliased.c │ │ │ ├── never_kill_store.c │ │ │ ├── recognize_all_uses.c │ │ │ └── use_and_update.c │ │ ├── extra_credit │ │ │ ├── compound_assign_to_dead_struct_member.c │ │ │ ├── copy_to_dead_union.c │ │ │ ├── decr_struct_member.c │ │ │ └── dont_elim │ │ │ │ ├── copy_generates_union.c │ │ │ │ ├── incr_through_pointer.c │ │ │ │ └── type_punning.c │ │ └── getaddr_doesnt_gen.c │ └── int_only │ │ ├── dead_store_static_var.c │ │ ├── delete_arithmetic_ops.c │ │ ├── dont_elim │ │ ├── add_all_to_worklist.c │ │ ├── dont_remove_funcall.c │ │ ├── loop.c │ │ ├── nested_loops.c │ │ ├── recognize_all_uses.c │ │ ├── self_copy.c │ │ ├── static_vars_at_exit.c │ │ ├── static_vars_fun.c │ │ └── used_one_path.c │ │ ├── elim_second_copy.c │ │ ├── extra_credit │ │ ├── dead_compound_assignment.c │ │ ├── dead_incr_decr.c │ │ └── dont_elim │ │ │ └── incr_and_dead_store.c │ │ ├── fig_19_11.c │ │ ├── initialize_blocks_with_empty_set.c │ │ ├── loop_dead_store.c │ │ ├── simple.c │ │ └── static_not_always_live.c ├── helper_libs │ └── exit.c ├── unreachable_code_elimination │ ├── README.md │ ├── and_clause.c │ ├── constant_if_else.c │ ├── dead_after_if_else.c │ ├── dead_after_return.c │ ├── dead_blocks_with_predecessors.c │ ├── dead_branch_inside_loop.c │ ├── dead_for_loop.c │ ├── empty.c │ ├── empty_block.c │ ├── extra_credit │ │ ├── dead_before_first_switch_case.c │ │ ├── dead_in_switch_body.c │ │ ├── goto_skips_over_code.c │ │ ├── remove_unused_label.c │ │ └── unreachable_switch_body.c │ ├── infinite_loop.c │ ├── keep_final_jump.c │ ├── or_clause.c │ ├── remove_conditional_jumps.c │ ├── remove_jump_keep_label.c │ └── remove_useless_starting_label.c └── whole_pipeline │ ├── README.md │ ├── all_types │ ├── alias_analysis_change.c │ ├── extra_credit │ │ ├── eval_nan_condition.c │ │ ├── fold_compound_assign_all_types.c │ │ ├── fold_compound_bitwise_assign_all_types.c │ │ ├── fold_incr_decr_chars.c │ │ ├── fold_incr_decr_doubles.c │ │ ├── fold_incr_decr_unsigned.c │ │ ├── fold_negative_long_bitshift.c │ │ └── nan.c │ ├── fold_cast_from_double.c │ ├── fold_cast_to_double.c │ ├── fold_char_condition.c │ ├── fold_extension_and_truncation.c │ ├── fold_infinity.c │ ├── fold_negative_values.c │ ├── fold_negative_zero.c │ ├── integer_promotions.c │ ├── listing_19_5_more_types.c │ ├── propagate_into_copyfromoffset.c │ ├── propagate_into_copytooffset.c │ ├── propagate_into_load.c │ ├── propagate_into_store.c │ └── signed_unsigned_conversion.c │ └── int_only │ ├── dead_condition.c │ ├── elim_and_copy_prop.c │ ├── extra_credit │ ├── compound_assign_exceptions.c │ ├── evaluate_switch.c │ ├── fold_bitwise_compound_assignment.c │ ├── fold_compound_assignment.c │ ├── fold_incr_and_decr.c │ └── fold_negative_bitshift.c │ ├── int_min.c │ ├── listing_19_5.c │ └── remainder_test.c ├── chapter_2 ├── invalid_parse │ ├── extra_paren.c │ ├── missing_const.c │ ├── missing_semicolon.c │ ├── nested_missing_const.c │ ├── parenthesize_operand.c │ ├── unclosed_paren.c │ └── wrong_order.c └── valid │ ├── bitwise.c │ ├── bitwise_int_min.c │ ├── bitwise_zero.c │ ├── neg.c │ ├── neg_zero.c │ ├── negate_int_max.c │ ├── nested_ops.c │ ├── nested_ops_2.c │ ├── parens.c │ ├── parens_2.c │ ├── parens_3.c │ └── redundant_parens.c ├── chapter_20 ├── all_types │ ├── no_coalescing │ │ ├── aliasing_optimized_away.c │ │ ├── dbl_bin_uses_operands.c │ │ ├── dbl_fun_call.c │ │ ├── dbl_funcall_generates_args.c │ │ ├── dbl_trivially_colorable.c │ │ ├── div_interference.c │ │ ├── div_uses_ax.c │ │ ├── force_spill_doubles.c │ │ ├── force_spill_mixed_ints.c │ │ ├── fourteen_pseudos_interfere.c │ │ ├── gp_xmm_mixed.c │ │ ├── indexed_operand_reads_regs.c │ │ ├── mixed_type_arg_registers.c │ │ ├── mixed_type_funcall_generates_args.c │ │ ├── mixed_type_stack_alignment.c │ │ ├── one_aliased_var.c │ │ ├── ptr_rax_live_at_exit.c │ │ ├── return_all_int_struct.c │ │ ├── return_double.c │ │ ├── return_double_struct.c │ │ ├── store_pointer_in_register.c │ │ ├── track_dbl_arg_registers.c │ │ ├── type_conversion_interference.c │ │ └── xmm0_live_at_exit.c │ ├── util.h │ └── with_coalescing │ │ ├── briggs_coalesce_long.c │ │ ├── briggs_coalesce_xmm.c │ │ ├── briggs_xmm_k_value.c │ │ ├── coalesce_char.c │ │ ├── dont_coalesce_movzx.c │ │ ├── george_coalesce_xmm.c │ │ ├── george_off_by_one_xmm.c │ │ └── george_xmm_k_value.c ├── helper_libs │ ├── alignment_check_wrapper_linux.s │ ├── alignment_check_wrapper_osx.s │ ├── clobber_xmm_regs_linux.s │ ├── clobber_xmm_regs_osx.s │ ├── coalesce_prevents_spill_lib.c │ ├── funcall_generates_args_lib.c │ ├── mixed_type_arg_registers_lib.c │ ├── mixed_type_funcall_generates_args_lib.c │ ├── return_all_int_struct_lib.c │ ├── return_double_lib.c │ ├── return_double_struct_lib.c │ ├── target_shim.c │ ├── track_arg_registers_lib.c │ ├── track_dbl_arg_registers_lib.c │ ├── util.c │ ├── wrapper_linux.s │ └── wrapper_osx.s └── int_only │ ├── no_coalescing │ ├── bin_uses_operands.c │ ├── callee_saved_stack_alignment.c │ ├── cdq_interference.c │ ├── cmp_generates_operands.c │ ├── cmp_no_updates.c │ ├── copy_no_interference.c │ ├── division_uses_ax.c │ ├── eax_live_at_exit.c │ ├── force_spill.c │ ├── funcall_generates_args.c │ ├── idiv_interference.c │ ├── loop.c │ ├── many_pseudos_fewer_conflicts.c │ ├── optimistic_coloring.c │ ├── preserve_across_fun_call.c │ ├── rewrite_regression_test.c │ ├── same_instr_interference.c │ ├── same_instr_no_interference.c │ ├── test_spill_metric.c │ ├── test_spill_metric_2.c │ ├── track_arg_registers.c │ ├── trivially_colorable.c │ ├── unary_interference.c │ ├── unary_uses_operand.c │ └── use_all_hardregs.c │ ├── util.h │ └── with_coalescing │ ├── briggs_coalesce.c │ ├── briggs_coalesce_hardreg.c │ ├── briggs_dont_coalesce.c │ ├── coalesce_prevents_spill.c │ ├── george_coalesce.c │ ├── george_dont_coalesce.c │ ├── george_dont_coalesce_2.c │ ├── george_off_by_one.c │ └── no_george_test_for_pseudos.c ├── chapter_3 ├── invalid_parse │ ├── double_operation.c │ ├── extra_credit │ │ └── bitwise_double_operator.c │ ├── imbalanced_paren.c │ ├── malformed_paren.c │ ├── misplaced_semicolon.c │ ├── missing_first_op.c │ ├── missing_open_paren.c │ ├── missing_second_op.c │ └── no_semicolon.c └── valid │ ├── add.c │ ├── associativity.c │ ├── associativity_2.c │ ├── associativity_3.c │ ├── associativity_and_precedence.c │ ├── div.c │ ├── div_neg.c │ ├── extra_credit │ ├── bitwise_and.c │ ├── bitwise_or.c │ ├── bitwise_precedence.c │ ├── bitwise_shift_associativity.c │ ├── bitwise_shift_associativity_2.c │ ├── bitwise_shift_precedence.c │ ├── bitwise_shiftl.c │ ├── bitwise_shiftr.c │ ├── bitwise_shiftr_negative.c │ ├── bitwise_variable_shift_count.c │ └── bitwise_xor.c │ ├── mod.c │ ├── mult.c │ ├── parens.c │ ├── precedence.c │ ├── sub.c │ ├── sub_neg.c │ ├── unop_add.c │ └── unop_parens.c ├── chapter_4 ├── invalid_parse │ ├── missing_const.c │ ├── missing_first_op.c │ ├── missing_operand.c │ ├── missing_second_op.c │ ├── missing_semicolon.c │ └── unary_missing_semicolon.c └── valid │ ├── and_false.c │ ├── and_short_circuit.c │ ├── and_true.c │ ├── associativity.c │ ├── compare_arithmetic_results.c │ ├── eq_false.c │ ├── eq_precedence.c │ ├── eq_true.c │ ├── extra_credit │ ├── bitwise_and_precedence.c │ ├── bitwise_or_precedence.c │ ├── bitwise_shift_precedence.c │ └── bitwise_xor_precedence.c │ ├── ge_false.c │ ├── ge_true.c │ ├── gt_false.c │ ├── gt_true.c │ ├── le_false.c │ ├── le_true.c │ ├── lt_false.c │ ├── lt_true.c │ ├── multi_short_circuit.c │ ├── ne_false.c │ ├── ne_true.c │ ├── nested_ops.c │ ├── not.c │ ├── not_sum.c │ ├── not_sum_2.c │ ├── not_zero.c │ ├── operate_on_booleans.c │ ├── or_false.c │ ├── or_short_circuit.c │ ├── or_true.c │ ├── precedence.c │ ├── precedence_2.c │ ├── precedence_3.c │ ├── precedence_4.c │ └── precedence_5.c ├── chapter_5 ├── invalid_parse │ ├── compound_invalid_operator.c │ ├── declare_keyword_as_var.c │ ├── extra_credit │ │ ├── binary_decrement.c │ │ ├── binary_increment.c │ │ ├── compound_initializer.c │ │ └── increment_declaration.c │ ├── invalid_specifier.c │ ├── invalid_type.c │ ├── invalid_variable_name.c │ ├── malformed_compound_assignment.c │ ├── malformed_decrement.c │ ├── malformed_increment.c │ ├── malformed_less_equal.c │ ├── malformed_not_equal.c │ ├── missing_semicolon.c │ └── return_in_assignment.c ├── invalid_semantics │ ├── declared_after_use.c │ ├── extra_credit │ │ ├── compound_invalid_lvalue.c │ │ ├── compound_invalid_lvalue_2.c │ │ ├── postfix_decr_non_lvalue.c │ │ ├── postfix_incr_non_lvalue.c │ │ ├── prefix_decr_non_lvalue.c │ │ ├── prefix_incr_non_lvalue.c │ │ ├── undeclared_bitwise_op.c │ │ ├── undeclared_compound_assignment.c │ │ ├── undeclared_compound_assignment_use.c │ │ ├── undeclared_postfix_decr.c │ │ └── undeclared_prefix_incr.c │ ├── invalid_lvalue.c │ ├── invalid_lvalue_2.c │ ├── mixed_precedence_assignment.c │ ├── redefine.c │ ├── undeclared_var.c │ ├── undeclared_var_and.c │ ├── undeclared_var_compare.c │ ├── undeclared_var_unary.c │ └── use_then_redefine.c └── valid │ ├── add_variables.c │ ├── allocate_temps_and_vars.c │ ├── assign.c │ ├── assign_val_in_initializer.c │ ├── assignment_in_initializer.c │ ├── assignment_lowest_precedence.c │ ├── empty_function_body.c │ ├── exp_then_declaration.c │ ├── extra_credit │ ├── bitwise_in_initializer.c │ ├── bitwise_ops_vars.c │ ├── bitwise_shiftl_variable.c │ ├── bitwise_shiftr_assign.c │ ├── compound_assignment_chained.c │ ├── compound_assignment_lowest_precedence.c │ ├── compound_assignment_use_result.c │ ├── compound_bitwise_and.c │ ├── compound_bitwise_assignment_lowest_precedence.c │ ├── compound_bitwise_chained.c │ ├── compound_bitwise_or.c │ ├── compound_bitwise_shiftl.c │ ├── compound_bitwise_shiftr.c │ ├── compound_bitwise_xor.c │ ├── compound_divide.c │ ├── compound_minus.c │ ├── compound_mod.c │ ├── compound_multiply.c │ ├── compound_plus.c │ ├── incr_expression_statement.c │ ├── incr_in_binary_expr.c │ ├── incr_parenthesized.c │ ├── postfix_incr_and_decr.c │ ├── postfix_precedence.c │ └── prefix_incr_and_decr.c │ ├── kw_var_names.c │ ├── local_var_missing_return.c │ ├── mixed_precedence_assignment.c │ ├── non_short_circuit_or.c │ ├── null_statement.c │ ├── null_then_return.c │ ├── return_var.c │ ├── short_circuit_and_fail.c │ ├── short_circuit_or.c │ ├── unused_exp.c │ ├── use_assignment_result.c │ └── use_val_in_own_initializer.c ├── chapter_6 ├── invalid_lex │ └── extra_credit │ │ └── bad_label.c ├── invalid_parse │ ├── declaration_as_statement.c │ ├── empty_if_body.c │ ├── extra_credit │ │ ├── goto_without_label.c │ │ ├── kw_label.c │ │ ├── label_declaration.c │ │ ├── label_expression_clause.c │ │ ├── label_outside_function.c │ │ ├── label_without_statement.c │ │ └── parenthesized_label.c │ ├── if_assignment.c │ ├── if_no_parens.c │ ├── incomplete_ternary.c │ ├── malformed_ternary.c │ ├── malformed_ternary_2.c │ ├── mismatched_nesting.c │ └── wrong_ternary_delimiter.c ├── invalid_semantics │ ├── extra_credit │ │ ├── duplicate_labels.c │ │ ├── goto_missing_label.c │ │ ├── goto_variable.c │ │ ├── undeclared_var_in_labeled_statement.c │ │ └── use_label_as_variable.c │ ├── invalid_var_in_if.c │ ├── ternary_assign.c │ └── undeclared_var_in_ternary.c └── valid │ ├── assign_ternary.c │ ├── binary_condition.c │ ├── binary_false_condition.c │ ├── else.c │ ├── extra_credit │ ├── bitwise_ternary.c │ ├── compound_assign_ternary.c │ ├── compound_if_expression.c │ ├── goto_after_declaration.c │ ├── goto_backwards.c │ ├── goto_label.c │ ├── goto_label_and_var.c │ ├── goto_label_main.c │ ├── goto_label_main_2.c │ ├── goto_nested_label.c │ ├── label_all_statements.c │ ├── label_token.c │ ├── lh_compound_assignment.c │ ├── postfix_if.c │ ├── postfix_in_ternary.c │ ├── prefix_if.c │ ├── prefix_in_ternary.c │ ├── unused_label.c │ └── whitespace_after_label.c │ ├── if_nested.c │ ├── if_nested_2.c │ ├── if_nested_3.c │ ├── if_nested_4.c │ ├── if_nested_5.c │ ├── if_not_taken.c │ ├── if_null_body.c │ ├── if_taken.c │ ├── lh_assignment.c │ ├── multiple_if.c │ ├── nested_ternary.c │ ├── nested_ternary_2.c │ ├── rh_assignment.c │ ├── ternary.c │ ├── ternary_middle_assignment.c │ ├── ternary_middle_binop.c │ ├── ternary_precedence.c │ ├── ternary_rh_binop.c │ ├── ternary_short_circuit.c │ └── ternary_short_circuit_2.c ├── chapter_7 ├── invalid_parse │ ├── extra_brace.c │ ├── missing_brace.c │ ├── missing_semicolon.c │ └── ternary_blocks.c ├── invalid_semantics │ ├── double_define.c │ ├── double_define_after_scope.c │ ├── extra_credit │ │ ├── different_labels_same_scope.c │ │ ├── duplicate_labels_different_scopes.c │ │ └── goto_use_before_declare.c │ ├── out_of_scope.c │ └── use_before_declare.c └── valid │ ├── assign_to_self.c │ ├── assign_to_self_2.c │ ├── declaration_only.c │ ├── empty_blocks.c │ ├── extra_credit │ ├── compound_subtract_in_block.c │ ├── goto_before_declaration.c │ ├── goto_inner_scope.c │ ├── goto_outer_scope.c │ └── goto_sibling_scope.c │ ├── hidden_then_visible.c │ ├── hidden_variable.c │ ├── inner_uninitialized.c │ ├── multiple_vars_same_name.c │ ├── nested_if.c │ ├── similar_var_names.c │ └── use_in_inner_scope.c ├── chapter_8 ├── invalid_parse │ ├── decl_as_loop_body.c │ ├── do_extra_semicolon.c │ ├── do_missing_semicolon.c │ ├── do_while_empty_parens.c │ ├── extra_credit │ │ ├── compound_assignment_invalid_decl.c │ │ ├── label_in_loop_header.c │ │ ├── label_is_not_block.c │ │ ├── switch_case_declaration.c │ │ ├── switch_goto_case.c │ │ ├── switch_missing_case_value.c │ │ ├── switch_missing_paren.c │ │ └── switch_no_condition.c │ ├── extra_for_header_clause.c │ ├── invalid_for_declaration.c │ ├── missing_for_header_clause.c │ ├── missing_for_header_clauses.c │ ├── missing_for_header_semicolon.c │ ├── paren_mismatch.c │ ├── statement_in_condition.c │ └── while_missing_paren.c ├── invalid_semantics │ ├── break_not_in_loop.c │ ├── continue_not_in_loop.c │ ├── extra_credit │ │ ├── case_continue.c │ │ ├── case_outside_switch.c │ │ ├── default_continue.c │ │ ├── default_outside_switch.c │ │ ├── different_cases_same_scope.c │ │ ├── duplicate_case.c │ │ ├── duplicate_case_in_labeled_switch.c │ │ ├── duplicate_case_in_nested_statement.c │ │ ├── duplicate_default.c │ │ ├── duplicate_default_in_nested_statement.c │ │ ├── duplicate_label_in_default.c │ │ ├── duplicate_label_in_loop.c │ │ ├── duplicate_variable_in_switch.c │ │ ├── labeled_break_outside_loop.c │ │ ├── non_constant_case.c │ │ ├── switch_continue.c │ │ ├── undeclared_var_switch_expression.c │ │ ├── undeclared_variable_in_case.c │ │ ├── undeclared_variable_in_default.c │ │ └── undefined_label_in_case.c │ ├── out_of_scope_do_loop.c │ └── out_of_scope_loop_variable.c └── valid │ ├── break.c │ ├── break_immediate.c │ ├── continue.c │ ├── continue_empty_post.c │ ├── do_while.c │ ├── do_while_break_immediate.c │ ├── empty_expression.c │ ├── empty_loop_body.c │ ├── extra_credit │ ├── case_block.c │ ├── compound_assignment_controlling_expression.c │ ├── compound_assignment_for_loop.c │ ├── duffs_device.c │ ├── goto_bypass_condition.c │ ├── goto_bypass_init_exp.c │ ├── goto_bypass_post_exp.c │ ├── label_loop_body.c │ ├── label_loops_breaks_and_continues.c │ ├── loop_header_postfix_and_prefix.c │ ├── loop_in_switch.c │ ├── post_exp_incr.c │ ├── switch.c │ ├── switch_assign_in_condition.c │ ├── switch_break.c │ ├── switch_decl.c │ ├── switch_default.c │ ├── switch_default_fallthrough.c │ ├── switch_default_not_last.c │ ├── switch_default_only.c │ ├── switch_empty.c │ ├── switch_fallthrough.c │ ├── switch_goto_mid_case.c │ ├── switch_in_loop.c │ ├── switch_nested_cases.c │ ├── switch_nested_not_taken.c │ ├── switch_nested_switch.c │ ├── switch_no_case.c │ ├── switch_not_taken.c │ ├── switch_single_case.c │ ├── switch_with_continue.c │ └── switch_with_continue_2.c │ ├── for.c │ ├── for_absent_condition.c │ ├── for_absent_post.c │ ├── for_decl.c │ ├── for_decl_no_init.c │ ├── for_nested_shadow.c │ ├── for_shadow.c │ ├── multi_break.c │ ├── multi_continue_same_loop.c │ ├── nested_break.c │ ├── nested_continue.c │ ├── nested_loop.c │ ├── null_for_header.c │ └── while.c └── chapter_9 ├── invalid_declarations ├── assign_to_fun_call.c ├── decl_params_with_same_name.c ├── extra_credit │ ├── call_label_as_function.c │ ├── compound_assign_to_fun_call.c │ ├── decrement_fun_call.c │ └── increment_fun_call.c ├── nested_function_definition.c ├── params_with_same_name.c ├── redefine_fun_as_var.c ├── redefine_parameter.c ├── redefine_var_as_fun.c ├── undeclared_fun.c └── wrong_parameter_names.c ├── invalid_labels └── extra_credit │ ├── goto_cross_function.c │ └── goto_function.c ├── invalid_parse ├── call_non_identifier.c ├── decl_wrong_closing_delim.c ├── fun_decl_for_loop.c ├── funcall_wrong_closing_delim.c ├── function_call_declaration.c ├── function_returning_function.c ├── initialize_function_as_variable.c ├── trailing_comma.c ├── trailing_comma_decl.c ├── unclosed_paren_decl.c └── var_init_in_param_list.c ├── invalid_types ├── assign_fun_to_variable.c ├── assign_value_to_function.c ├── call_variable_as_function.c ├── conflicting_function_declarations.c ├── conflicting_local_function_declaration.c ├── divide_by_function.c ├── extra_credit │ ├── bitwise_op_function.c │ ├── compound_assign_function_lhs.c │ ├── compound_assign_function_rhs.c │ ├── postfix_incr_fun_name.c │ ├── prefix_decr_fun_name.c │ └── switch_on_function.c ├── multiple_function_definitions.c ├── multiple_function_definitions_2.c ├── too_few_args.c └── too_many_args.c └── valid ├── arguments_in_registers ├── dont_clobber_edx.c ├── expression_args.c ├── fibonacci.c ├── forward_decl_multi_arg.c ├── hello_world.c ├── param_shadows_local_var.c ├── parameter_shadows_function.c ├── parameter_shadows_own_function.c ├── parameters_are_preserved.c └── single_arg.c ├── extra_credit ├── compound_assign_function_result.c ├── dont_clobber_ecx.c ├── goto_label_multiple_functions.c ├── goto_shared_name.c └── label_naming_scheme.c ├── libraries ├── addition.c ├── addition_client.c ├── many_args.c ├── many_args_client.c ├── no_function_calls │ ├── division.c │ ├── division_client.c │ ├── local_stack_variables.c │ └── local_stack_variables_client.c ├── system_call.c └── system_call_client.c ├── no_arguments ├── forward_decl.c ├── function_shadows_variable.c ├── multiple_declarations.c ├── no_return_value.c ├── precedence.c ├── use_function_in_expression.c └── variable_shadows_function.c └── stack_arguments ├── call_putchar.c ├── lots_of_arguments.c ├── stack_alignment.c ├── stack_alignment_check_linux.s ├── stack_alignment_check_osx.s └── test_for_memory_leaks.c /.github/workflows/check_autogen_files.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/.github/workflows/check_autogen_files.yml -------------------------------------------------------------------------------- /.github/workflows/test_all_commits.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/.github/workflows/test_all_commits.yaml -------------------------------------------------------------------------------- /.github/workflows/test_tests.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/.github/workflows/test_tests.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/__pycache__/* 2 | mycc 3 | *.s -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/README.md -------------------------------------------------------------------------------- /expected_results.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/expected_results.json -------------------------------------------------------------------------------- /gen_from_templates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/gen_from_templates.py -------------------------------------------------------------------------------- /generate_expected_results.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/generate_expected_results.py -------------------------------------------------------------------------------- /templates/chapter_20_templates/bin_uses_operands.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/bin_uses_operands.c.jinja -------------------------------------------------------------------------------- /templates/chapter_20_templates/briggs_coalesce.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/briggs_coalesce.c.jinja -------------------------------------------------------------------------------- /templates/chapter_20_templates/clobber_xmm_regs.s.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/clobber_xmm_regs.s.jinja -------------------------------------------------------------------------------- /templates/chapter_20_templates/division_uses_ax.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/division_uses_ax.c.jinja -------------------------------------------------------------------------------- /templates/chapter_20_templates/force_spill.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/force_spill.c.jinja -------------------------------------------------------------------------------- /templates/chapter_20_templates/george_coalesce.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/george_coalesce.c.jinja -------------------------------------------------------------------------------- /templates/chapter_20_templates/george_off_by_one.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/george_off_by_one.c.jinja -------------------------------------------------------------------------------- /templates/chapter_20_templates/reg_live_at_exit.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/reg_live_at_exit.c.jinja -------------------------------------------------------------------------------- /templates/chapter_20_templates/use_all_hardregs.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/use_all_hardregs.c.jinja -------------------------------------------------------------------------------- /templates/chapter_20_templates/wrapper.s.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/chapter_20_templates/wrapper.s.jinja -------------------------------------------------------------------------------- /templates/includes/regalloc_macros.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/includes/regalloc_macros.c.jinja -------------------------------------------------------------------------------- /templates/includes/spill_var.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/includes/spill_var.c.jinja -------------------------------------------------------------------------------- /templates/includes/twelve_regs_conflict.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/includes/twelve_regs_conflict.c.jinja -------------------------------------------------------------------------------- /templates/includes/twelve_regs_conflict_validation.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/includes/twelve_regs_conflict_validation.c.jinja -------------------------------------------------------------------------------- /templates/includes/wrapper_base.s.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/includes/wrapper_base.s.jinja -------------------------------------------------------------------------------- /templates/pre_ch20_spill_var.c.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/pre_ch20_spill_var.c.jinja -------------------------------------------------------------------------------- /templates/stack_alignment_check.s.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/stack_alignment_check.s.jinja -------------------------------------------------------------------------------- /templates/validate_return_pointer.s.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/templates/validate_return_pointer.s.jinja -------------------------------------------------------------------------------- /test_compiler: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_compiler -------------------------------------------------------------------------------- /test_framework/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test_framework/basic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/basic.py -------------------------------------------------------------------------------- /test_framework/parser/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test_framework/parser/asm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/parser/asm.py -------------------------------------------------------------------------------- /test_framework/parser/parse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/parser/parse.py -------------------------------------------------------------------------------- /test_framework/parser/tokenize.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/parser/tokenize.py -------------------------------------------------------------------------------- /test_framework/regalloc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/regalloc.py -------------------------------------------------------------------------------- /test_framework/runner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/runner.py -------------------------------------------------------------------------------- /test_framework/tacky/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test_framework/tacky/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/tacky/common.py -------------------------------------------------------------------------------- /test_framework/tacky/const_fold.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/tacky/const_fold.py -------------------------------------------------------------------------------- /test_framework/tacky/copy_prop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/tacky/copy_prop.py -------------------------------------------------------------------------------- /test_framework/tacky/dead_store_elim.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/tacky/dead_store_elim.py -------------------------------------------------------------------------------- /test_framework/tacky/pipeline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/tacky/pipeline.py -------------------------------------------------------------------------------- /test_framework/tacky/suite.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/tacky/suite.py -------------------------------------------------------------------------------- /test_framework/tacky/unreachable.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/tacky/unreachable.py -------------------------------------------------------------------------------- /test_framework/test_tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/test_tests/__init__.py -------------------------------------------------------------------------------- /test_framework/test_tests/test_parse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/test_tests/test_parse.py -------------------------------------------------------------------------------- /test_framework/test_tests/test_programs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/test_tests/test_programs.py -------------------------------------------------------------------------------- /test_framework/test_tests/test_tokenize.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/test_tests/test_tokenize.py -------------------------------------------------------------------------------- /test_framework/test_tests/test_toplevel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_framework/test_tests/test_toplevel.py -------------------------------------------------------------------------------- /test_properties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/test_properties.json -------------------------------------------------------------------------------- /tests/chapter_1/invalid_lex/at_sign.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_1/invalid_lex/at_sign.c -------------------------------------------------------------------------------- /tests/chapter_1/invalid_lex/backslash.c: -------------------------------------------------------------------------------- 1 | /* A single backslash is not a valid token. */ 2 | \ -------------------------------------------------------------------------------- /tests/chapter_1/invalid_lex/backtick.c: -------------------------------------------------------------------------------- 1 | /* A backtick is not a valid token. */ 2 | ` -------------------------------------------------------------------------------- /tests/chapter_1/invalid_lex/invalid_identifier.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_1/invalid_lex/invalid_identifier.c -------------------------------------------------------------------------------- /tests/chapter_1/invalid_lex/invalid_identifier_2.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return @b; 4 | } -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/end_before_expr.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/extra_junk.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_1/invalid_parse/extra_junk.c -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/invalid_function_name.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_1/invalid_parse/invalid_function_name.c -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/keyword_wrong_case.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | RETURN 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/missing_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_1/invalid_parse/missing_type.c -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/misspelled_keyword.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | returns 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/no_semicolon.c: -------------------------------------------------------------------------------- 1 | int main (void) { 2 | return 0 3 | } -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/not_expression.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return int; 3 | } -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/space_in_keyword.c: -------------------------------------------------------------------------------- 1 | int main(void){ 2 | retur n 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/switched_parens.c: -------------------------------------------------------------------------------- 1 | int main )( { 2 | return 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/unclosed_brace.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 0; 3 | -------------------------------------------------------------------------------- /tests/chapter_1/invalid_parse/unclosed_paren.c: -------------------------------------------------------------------------------- 1 | int main( { 2 | return 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_1/valid/multi_digit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_1/valid/multi_digit.c -------------------------------------------------------------------------------- /tests/chapter_1/valid/newlines.c: -------------------------------------------------------------------------------- 1 | int 2 | main 3 | ( 4 | void 5 | ) 6 | { 7 | return 8 | 0 9 | ; 10 | } -------------------------------------------------------------------------------- /tests/chapter_1/valid/no_newlines.c: -------------------------------------------------------------------------------- 1 | int main(void){return 0;} -------------------------------------------------------------------------------- /tests/chapter_1/valid/return_0.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_1/valid/return_2.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_1/valid/spaces.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_1/valid/spaces.c -------------------------------------------------------------------------------- /tests/chapter_1/valid/tabs.c: -------------------------------------------------------------------------------- 1 | int main ( void) { return 0 ; } -------------------------------------------------------------------------------- /tests/chapter_10/invalid_parse/extern_param.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_parse/extern_param.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_parse/extra_credit/extern_label.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_parse/extra_credit/extern_label.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_parse/extra_credit/static_label.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_parse/extra_credit/static_label.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_parse/missing_parameter_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_parse/missing_parameter_list.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_parse/missing_type_specifier.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_parse/missing_type_specifier.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_parse/multi_storage_class_fun.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_parse/multi_storage_class_fun.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_parse/multi_storage_class_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_parse/multi_storage_class_var.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_parse/static_and_extern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_parse/static_and_extern.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_parse/static_param.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_parse/static_param.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_types/extern_for_loop_counter.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_types/extern_for_loop_counter.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_types/redeclare_fun_as_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_types/redeclare_fun_as_var.c -------------------------------------------------------------------------------- /tests/chapter_10/invalid_types/static_for_loop_counter.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/invalid_types/static_for_loop_counter.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/data_on_page_boundary_linux.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/data_on_page_boundary_linux.s -------------------------------------------------------------------------------- /tests/chapter_10/valid/data_on_page_boundary_osx.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/data_on_page_boundary_osx.s -------------------------------------------------------------------------------- /tests/chapter_10/valid/distinct_local_and_extern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/distinct_local_and_extern.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/extern_block_scope_variable.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/extern_block_scope_variable.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/extra_credit/switch_on_extern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/extra_credit/switch_on_extern.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/libraries/external_tentative_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/libraries/external_tentative_var.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/libraries/external_var_scoping.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/libraries/external_var_scoping.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/libraries/external_variable.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/libraries/external_variable.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/libraries/internal_linkage_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/libraries/internal_linkage_var.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/multiple_static_file_scope_vars.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/multiple_static_file_scope_vars.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/multiple_static_local.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/multiple_static_local.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/push_arg_on_page_boundary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/push_arg_on_page_boundary.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/shadow_static_local_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/shadow_static_local_var.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/static_local_multiple_scopes.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/static_local_multiple_scopes.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/static_local_uninitialized.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/static_local_uninitialized.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/static_recursive_call.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/static_recursive_call.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/static_then_extern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/static_then_extern.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/static_variables_in_expressions.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/static_variables_in_expressions.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/tentative_definition.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/tentative_definition.c -------------------------------------------------------------------------------- /tests/chapter_10/valid/type_before_storage_class.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_10/valid/type_before_storage_class.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_lex/invalid_suffix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_lex/invalid_suffix.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_lex/invalid_suffix2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_lex/invalid_suffix2.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_parse/bad_specifiers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_parse/bad_specifiers.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_parse/empty_cast.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_parse/empty_cast.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_parse/fun_name_long.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_parse/fun_name_long.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_parse/invalid_cast.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_parse/invalid_cast.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_parse/invalid_suffix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_parse/invalid_suffix.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_parse/long_constant_as_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_parse/long_constant_as_var.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_parse/missing_cast_parentheses.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_parse/missing_cast_parentheses.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_parse/var_name_long.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_parse/var_name_long.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_types/call_long_as_function.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_types/call_long_as_function.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_types/cast_lvalue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_types/cast_lvalue.c -------------------------------------------------------------------------------- /tests/chapter_11/invalid_types/conflicting_global_types.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/invalid_types/conflicting_global_types.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/explicit_casts/sign_extend.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/explicit_casts/sign_extend.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/explicit_casts/truncate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/explicit_casts/truncate.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/extra_credit/bitshift.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/extra_credit/bitshift.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/extra_credit/bitwise_long_op.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/extra_credit/bitwise_long_op.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/extra_credit/compound_bitshift.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/extra_credit/compound_bitshift.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/extra_credit/compound_bitwise.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/extra_credit/compound_bitwise.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/extra_credit/increment_long.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/extra_credit/increment_long.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/extra_credit/switch_int.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/extra_credit/switch_int.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/extra_credit/switch_long.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/extra_credit/switch_long.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/implicit_casts/common_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/implicit_casts/common_type.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/implicit_casts/long_constants.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/implicit_casts/long_constants.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/libraries/long_args.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/libraries/long_args.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/libraries/long_args_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/libraries/long_args_client.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/libraries/long_global_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/libraries/long_global_var.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/libraries/long_global_var_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/libraries/long_global_var_client.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/libraries/return_long.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/libraries/return_long.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/libraries/return_long_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/libraries/return_long_client.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/arithmetic_ops.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/arithmetic_ops.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/assign.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/assign.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/comparisons.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/comparisons.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/large_constants.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/large_constants.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/logical.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/logical.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/long_args.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/long_args.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/multi_op.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/multi_op.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/return_long.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/return_long.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/simple.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/static_long.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/static_long.c -------------------------------------------------------------------------------- /tests/chapter_11/valid/long_expressions/type_specifiers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_11/valid/long_expressions/type_specifiers.c -------------------------------------------------------------------------------- /tests/chapter_12/invalid_lex/invalid_suffix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/invalid_lex/invalid_suffix.c -------------------------------------------------------------------------------- /tests/chapter_12/invalid_lex/invalid_suffix_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/invalid_lex/invalid_suffix_2.c -------------------------------------------------------------------------------- /tests/chapter_12/invalid_parse/bad_specifiers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/invalid_parse/bad_specifiers.c -------------------------------------------------------------------------------- /tests/chapter_12/invalid_parse/bad_specifiers_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/invalid_parse/bad_specifiers_2.c -------------------------------------------------------------------------------- /tests/chapter_12/invalid_types/conflicting_uint_ulong.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/invalid_types/conflicting_uint_ulong.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/explicit_casts/chained_casts.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/explicit_casts/chained_casts.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/explicit_casts/extension.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/explicit_casts/extension.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/explicit_casts/round_trip_casts.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/explicit_casts/round_trip_casts.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/explicit_casts/truncate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/explicit_casts/truncate.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/extra_credit/bitwise_unsigned_ops.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/extra_credit/bitwise_unsigned_ops.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/extra_credit/compound_assign_uint.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/extra_credit/compound_assign_uint.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/extra_credit/compound_bitshift.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/extra_credit/compound_bitshift.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/extra_credit/compound_bitwise.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/extra_credit/compound_bitwise.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/extra_credit/postfix_precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/extra_credit/postfix_precedence.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/extra_credit/switch_uint.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/extra_credit/switch_uint.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/extra_credit/unsigned_incr_decr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/extra_credit/unsigned_incr_decr.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/implicit_casts/common_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/implicit_casts/common_type.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/implicit_casts/promote_constants.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/implicit_casts/promote_constants.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/libraries/unsigned_args.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/libraries/unsigned_args.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/libraries/unsigned_args_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/libraries/unsigned_args_client.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/libraries/unsigned_global_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/libraries/unsigned_global_var.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/unsigned_expressions/comparisons.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/unsigned_expressions/comparisons.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/unsigned_expressions/locals.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/unsigned_expressions/locals.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/unsigned_expressions/logical.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/unsigned_expressions/logical.c -------------------------------------------------------------------------------- /tests/chapter_12/valid/unsigned_expressions/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_12/valid/unsigned_expressions/simple.c -------------------------------------------------------------------------------- /tests/chapter_13/helper_libs/nan.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/helper_libs/nan.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_lex/another_bad_constant.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_lex/another_bad_constant.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_lex/bad_exponent_suffix.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | double foo = 1E2x; 4 | } -------------------------------------------------------------------------------- /tests/chapter_13/invalid_lex/malformed_const.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_lex/malformed_const.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_lex/malformed_exponent.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_lex/malformed_exponent.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_lex/missing_exponent.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_lex/missing_exponent.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_lex/missing_negative_exponent.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_lex/missing_negative_exponent.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_lex/yet_another_bad_constant.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return 1.e-10x; 4 | } -------------------------------------------------------------------------------- /tests/chapter_13/invalid_parse/invalid_type_specifier.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_parse/invalid_type_specifier.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_parse/invalid_type_specifier_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_parse/invalid_type_specifier_2.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_types/complement_double.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_types/complement_double.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_types/extra_credit/bitwise_and.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_types/extra_credit/bitwise_and.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_types/extra_credit/bitwise_or.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_types/extra_credit/bitwise_or.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_types/extra_credit/bitwise_xor.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_types/extra_credit/bitwise_xor.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_types/extra_credit/compound_mod.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_types/extra_credit/compound_mod.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_types/mod_double.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_types/mod_double.c -------------------------------------------------------------------------------- /tests/chapter_13/invalid_types/mod_double_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/invalid_types/mod_double_2.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/constants/constant_doubles.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/constants/constant_doubles.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/constants/round_constants.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/constants/round_constants.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/explicit_casts/cvttsd2si_rewrite.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/explicit_casts/cvttsd2si_rewrite.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/explicit_casts/double_to_signed.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/explicit_casts/double_to_signed.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/explicit_casts/double_to_unsigned.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/explicit_casts/double_to_unsigned.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/explicit_casts/signed_to_double.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/explicit_casts/signed_to_double.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/explicit_casts/unsigned_to_double.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/explicit_casts/unsigned_to_double.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/extra_credit/compound_assign.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/extra_credit/compound_assign.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/extra_credit/incr_and_decr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/extra_credit/incr_and_decr.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/extra_credit/nan.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/extra_credit/nan.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/extra_credit/nan_compound_assign.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/extra_credit/nan_compound_assign.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/extra_credit/nan_incr_and_decr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/extra_credit/nan_incr_and_decr.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/floating_expressions/comparisons.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/floating_expressions/comparisons.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/floating_expressions/logical.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/floating_expressions/logical.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/floating_expressions/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/floating_expressions/simple.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/function_calls/double_parameters.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/function_calls/double_parameters.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/function_calls/push_xmm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/function_calls/push_xmm.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/function_calls/return_double.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/function_calls/return_double.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/implicit_casts/common_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/implicit_casts/common_type.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/libraries/double_parameters.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/libraries/double_parameters.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/libraries/extern_double.c: -------------------------------------------------------------------------------- 1 | double d = 1e20; -------------------------------------------------------------------------------- /tests/chapter_13/valid/libraries/extern_double_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/libraries/extern_double_client.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/libraries/use_arg_after_fun_call.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/libraries/use_arg_after_fun_call.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/special_values/infinity.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/special_values/infinity.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/special_values/negative_zero.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/special_values/negative_zero.c -------------------------------------------------------------------------------- /tests/chapter_13/valid/special_values/subnormal_not_zero.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_13/valid/special_values/subnormal_not_zero.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_parse/cast_to_declarator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_parse/cast_to_declarator.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_parse/malformed_declarator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_parse/malformed_declarator.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/address_of_address.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/address_of_address.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/address_of_assignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/address_of_assignment.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/address_of_constant.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/address_of_constant.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/address_of_ternary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/address_of_ternary.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/assign_int_to_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/assign_int_to_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/assign_int_var_to_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/assign_int_var_to_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/assign_to_address.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/assign_to_address.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/assign_wrong_pointer_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/assign_wrong_pointer_type.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/bad_null_pointer_constant.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/bad_null_pointer_constant.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/cast_double_to_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/cast_double_to_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/cast_pointer_to_double.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/cast_pointer_to_double.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/compare_pointer_to_ulong.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/compare_pointer_to_ulong.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/complement_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/complement_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/dereference_non_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/dereference_non_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/divide_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/divide_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/multiply_pointers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/multiply_pointers.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/multiply_pointers_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/multiply_pointers_2.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/negate_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/negate_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/pass_pointer_as_int.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/pass_pointer_as_int.c -------------------------------------------------------------------------------- /tests/chapter_14/invalid_types/return_wrong_pointer_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/invalid_types/return_wrong_pointer_type.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/casts/cast_between_pointer_types.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/casts/cast_between_pointer_types.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/casts/null_pointer_conversion.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/casts/null_pointer_conversion.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/casts/pointer_int_casts.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/casts/pointer_int_casts.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/comparisons/compare_pointers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/comparisons/compare_pointers.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/comparisons/compare_to_null.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/comparisons/compare_to_null.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/declarators/abstract_declarators.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/declarators/abstract_declarators.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/declarators/declarators.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/declarators/declarators.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/dereference/read_through_pointers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/dereference/read_through_pointers.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/dereference/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/dereference/simple.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/function_calls/return_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/function_calls/return_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/libraries/global_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/libraries/global_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/libraries/global_pointer_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/libraries/global_pointer_client.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/libraries/static_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/libraries/static_pointer.c -------------------------------------------------------------------------------- /tests/chapter_14/valid/libraries/static_pointer_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_14/valid/libraries/static_pointer_client.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/array_of_functions.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/array_of_functions.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/array_of_functions_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/array_of_functions_2.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/double_declarator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/double_declarator.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/empty_initializer_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/empty_initializer_list.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/malformed_type_name.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/malformed_type_name.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/malformed_type_name_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/malformed_type_name_2.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/mismatched_subscript.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/mismatched_subscript.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/negative_array_dimension.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/negative_array_dimension.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/return_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/return_array.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/unclosed_initializer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/unclosed_initializer.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_parse/unclosed_subscript.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_parse/unclosed_subscript.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/add_two_pointers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/add_two_pointers.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/assign_to_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/assign_to_array.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/assign_to_array_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/assign_to_array_2.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/assign_to_array_3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/assign_to_array_3.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/bad_arg_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/bad_arg_type.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/cast_to_array_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/cast_to_array_type.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/cast_to_array_type_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/cast_to_array_type_2.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/cast_to_array_type_3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/cast_to_array_type_3.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/compare_pointer_to_int.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/compare_pointer_to_int.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/compare_pointer_to_zero.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/compare_pointer_to_zero.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/double_subscript.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/double_subscript.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/function_returns_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/function_returns_array.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/static_non_const_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/static_non_const_array.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/sub_double_from_ptr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/sub_double_from_ptr.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/sub_ptr_from_int.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/sub_ptr_from_int.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/subscript_both_pointers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/subscript_both_pointers.c -------------------------------------------------------------------------------- /tests/chapter_15/invalid_types/subscript_non_ptr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/invalid_types/subscript_non_ptr.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/allocation/test_alignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/allocation/test_alignment.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/casts/cast_array_of_pointers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/casts/cast_array_of_pointers.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/casts/multi_dim_casts.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/casts/multi_dim_casts.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/declarators/array_as_argument.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/declarators/array_as_argument.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/declarators/big_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/declarators/big_array.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/declarators/for_loop_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/declarators/for_loop_array.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/declarators/return_nested_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/declarators/return_nested_array.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/extra_credit/bitwise_subscript.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/extra_credit/bitwise_subscript.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/initialization/automatic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/initialization/automatic.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/initialization/automatic_nested.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/initialization/automatic_nested.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/initialization/static.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/initialization/static.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/initialization/static_nested.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/initialization/static_nested.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/libraries/global_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/libraries/global_array.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/libraries/global_array_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/libraries/global_array_client.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/libraries/return_pointer_to_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/libraries/return_pointer_to_array.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/libraries/set_array_val.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/libraries/set_array_val.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/libraries/set_array_val_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/libraries/set_array_val_client.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/pointer_arithmetic/compare.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/pointer_arithmetic/compare.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/pointer_arithmetic/pointer_add.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/pointer_arithmetic/pointer_add.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/pointer_arithmetic/pointer_diff.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/pointer_arithmetic/pointer_diff.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/subscripting/complex_operands.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/subscripting/complex_operands.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/subscripting/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/subscripting/simple.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/subscripting/simple_subscripts.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/subscripting/simple_subscripts.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/subscripting/subscript_nested.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/subscripting/subscript_nested.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/subscripting/subscript_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/subscripting/subscript_pointer.c -------------------------------------------------------------------------------- /tests/chapter_15/valid/subscripting/subscript_precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_15/valid/subscripting/subscript_precedence.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_lex/char_bad_escape_sequence.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return '\y'; 4 | } -------------------------------------------------------------------------------- /tests/chapter_16/invalid_lex/newline.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_lex/newline.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_lex/string_bad_escape_sequence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_lex/string_bad_escape_sequence.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_lex/unescaped_backslash.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return '\'; 4 | } -------------------------------------------------------------------------------- /tests/chapter_16/invalid_lex/unescaped_double_quote.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_lex/unescaped_double_quote.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_lex/unescaped_single_quote.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return '''; 4 | } -------------------------------------------------------------------------------- /tests/chapter_16/invalid_lex/unterminated_char_constant.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return 'x 4 | } -------------------------------------------------------------------------------- /tests/chapter_16/invalid_lex/unterminated_string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_lex/unterminated_string.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_parse/invalid_type_specifier.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_parse/invalid_type_specifier.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_parse/invalid_type_specifier_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_parse/invalid_type_specifier_2.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_parse/misplaced_char_literal.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_parse/misplaced_char_literal.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_parse/string_literal_varname.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_parse/string_literal_varname.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_types/assign_to_string_literal.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_types/assign_to_string_literal.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_types/char_and_schar_conflict.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_types/char_and_schar_conflict.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_types/char_and_uchar_conflict.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_types/char_and_uchar_conflict.c -------------------------------------------------------------------------------- /tests/chapter_16/invalid_types/negate_char_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/invalid_types/negate_char_pointer.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/char_constants/control_characters.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/char_constants/control_characters.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/char_constants/escape_sequences.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/char_constants/escape_sequences.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/access_through_char_pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/access_through_char_pointer.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/chained_casts.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/chained_casts.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/char_arguments.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/char_arguments.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/char_expressions.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/char_expressions.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/common_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/common_type.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/convert_by_assignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/convert_by_assignment.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/data_on_page_boundary_linux.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/data_on_page_boundary_linux.s -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/data_on_page_boundary_osx.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/data_on_page_boundary_osx.s -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/explicit_casts.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/explicit_casts.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/integer_promotion.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/integer_promotion.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/partial_initialization.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/partial_initialization.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/push_arg_on_page_boundary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/push_arg_on_page_boundary.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/return_char.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/return_char.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/rewrite_movz_regression.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/rewrite_movz_regression.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/static_initializers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/static_initializers.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/chars/type_specifiers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/chars/type_specifiers.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/extra_credit/bitshift_chars.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/extra_credit/bitshift_chars.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/extra_credit/bitwise_ops_chars.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/extra_credit/bitwise_ops_chars.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/extra_credit/char_consts_as_cases.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/extra_credit/char_consts_as_cases.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/extra_credit/incr_decr_chars.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/extra_credit/incr_decr_chars.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/extra_credit/promote_switch_cond.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/extra_credit/promote_switch_cond.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/extra_credit/switch_on_char_const.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/extra_credit/switch_on_char_const.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/libraries/char_arguments.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/libraries/char_arguments.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/libraries/char_arguments_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/libraries/char_arguments_client.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/libraries/global_char.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/libraries/global_char.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/libraries/global_char_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/libraries/global_char_client.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/libraries/return_char.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/libraries/return_char.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/libraries/return_char_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/libraries/return_char_client.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/strings_as_initializers/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/strings_as_initializers/simple.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/strings_as_lvalues/addr_of_string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/strings_as_lvalues/addr_of_string.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/strings_as_lvalues/empty_string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/strings_as_lvalues/empty_string.c -------------------------------------------------------------------------------- /tests/chapter_16/valid/strings_as_lvalues/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_16/valid/strings_as_lvalues/simple.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_parse/bad_specifier.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_parse/bad_specifier.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_parse/bad_specifier_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_parse/bad_specifier_2.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_parse/sizeof_cast.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_parse/sizeof_cast.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_parse/sizeof_type_no_parens.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_parse/sizeof_type_no_parens.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/extra_credit/bitwise_void.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/extra_credit/bitwise_void.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/extra_credit/switch_void.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/extra_credit/switch_void.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/assign_to_void_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/assign_to_void_var.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/assign_void_rval.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/assign_void_rval.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/define_void.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/define_void.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/initialized_void.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/initialized_void.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/negate_void.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/negate_void.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/no_return_value.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/no_return_value.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/non_void_return.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/non_void_return.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/subscript_void.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/subscript_void.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/void_compare.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/void_compare.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/void_equality.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/void_equality.c -------------------------------------------------------------------------------- /tests/chapter_17/invalid_types/void/void_fun_params.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/invalid_types/void/void_fun_params.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/extra_credit/sizeof_bitwise.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/extra_credit/sizeof_bitwise.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/extra_credit/sizeof_compound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/extra_credit/sizeof_compound.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/extra_credit/sizeof_incr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/extra_credit/sizeof_incr.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/libraries/pass_alloced_memory.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/libraries/pass_alloced_memory.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/libraries/sizeof_extern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/libraries/sizeof_extern.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/libraries/sizeof_extern_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/libraries/sizeof_extern_client.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/libraries/test_for_memory_leaks.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/libraries/test_for_memory_leaks.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/sizeof/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/sizeof/simple.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/sizeof/sizeof_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/sizeof/sizeof_array.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/sizeof/sizeof_basic_types.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/sizeof/sizeof_basic_types.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/sizeof/sizeof_consts.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/sizeof/sizeof_consts.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/sizeof/sizeof_derived_types.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/sizeof/sizeof_derived_types.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/sizeof/sizeof_expressions.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/sizeof/sizeof_expressions.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/sizeof/sizeof_not_evaluated.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/sizeof/sizeof_not_evaluated.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/sizeof/sizeof_result_is_ulong.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/sizeof/sizeof_result_is_ulong.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/void/cast_to_void.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/void/cast_to_void.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/void/ternary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/void/ternary.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/void/void_for_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/void/void_for_loop.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/void/void_function.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/void/void_function.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/void_pointer/common_pointer_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/void_pointer/common_pointer_type.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/void_pointer/explicit_cast.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/void_pointer/explicit_cast.c -------------------------------------------------------------------------------- /tests/chapter_17/valid/void_pointer/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_17/valid/void_pointer/simple.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_lex/dot_bad_token.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_lex/dot_bad_token.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_lex/dot_bad_token_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_lex/dot_bad_token_2.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/arrow_missing_member.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/arrow_missing_member.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/dot_invalid_member.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/dot_invalid_member.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/dot_no_left_expr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/dot_no_left_expr.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/empty_initializer_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/empty_initializer_list.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/extra_credit/struct_union.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/extra_credit/struct_union.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/misplaced_storage_class.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/misplaced_storage_class.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/struct_decl_tag_kw.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/struct_decl_tag_kw.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/struct_decl_two_kws.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/struct_decl_two_kws.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/struct_member_initializer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/struct_member_initializer.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/struct_member_is_function.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/struct_member_is_function.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/struct_member_name_kw.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/struct_member_name_kw.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/struct_member_no_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/struct_member_no_type.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/var_decl_bad_tag_1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/var_decl_bad_tag_1.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/var_decl_bad_tag_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/var_decl_bad_tag_2.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/var_decl_two_struct_kws.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/var_decl_two_struct_kws.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_parse/var_decl_two_tags.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_parse/var_decl_two_tags.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_struct_tags/array_of_undeclared.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_struct_tags/array_of_undeclared.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_struct_tags/cast_undeclared.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_struct_tags/cast_undeclared.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_struct_tags/deref_undeclared.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_struct_tags/deref_undeclared.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_struct_tags/for_loop_scope.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_struct_tags/for_loop_scope.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_struct_tags/for_loop_scope_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_struct_tags/for_loop_scope_2.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_struct_tags/param_undeclared.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_struct_tags/param_undeclared.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_struct_tags/sizeof_undeclared.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_struct_tags/sizeof_undeclared.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_struct_tags/var_type_undeclared.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_struct_tags/var_type_undeclared.c -------------------------------------------------------------------------------- /tests/chapter_18/invalid_types/extra_credit/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/invalid_types/extra_credit/README.md -------------------------------------------------------------------------------- /tests/chapter_18/valid/extra_credit/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/extra_credit/README.md -------------------------------------------------------------------------------- /tests/chapter_18/valid/extra_credit/libraries/union_lib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/extra_credit/libraries/union_lib.h -------------------------------------------------------------------------------- /tests/chapter_18/valid/extra_credit/union_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/extra_credit/union_types.h -------------------------------------------------------------------------------- /tests/chapter_18/valid/no_structure_parameters/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/no_structure_parameters/README.md -------------------------------------------------------------------------------- /tests/chapter_18/valid/parameters/incomplete_param_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/parameters/incomplete_param_type.c -------------------------------------------------------------------------------- /tests/chapter_18/valid/parameters/libraries/modify_param.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/parameters/libraries/modify_param.c -------------------------------------------------------------------------------- /tests/chapter_18/valid/parameters/libraries/modify_param.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/parameters/libraries/modify_param.h -------------------------------------------------------------------------------- /tests/chapter_18/valid/parameters/libraries/pass_struct.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/parameters/libraries/pass_struct.c -------------------------------------------------------------------------------- /tests/chapter_18/valid/parameters/libraries/pass_struct.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/parameters/libraries/pass_struct.h -------------------------------------------------------------------------------- /tests/chapter_18/valid/parameters/libraries/struct_sizes.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/parameters/libraries/struct_sizes.c -------------------------------------------------------------------------------- /tests/chapter_18/valid/parameters/libraries/struct_sizes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/parameters/libraries/struct_sizes.h -------------------------------------------------------------------------------- /tests/chapter_18/valid/parameters/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/parameters/simple.c -------------------------------------------------------------------------------- /tests/chapter_18/valid/parameters/stack_clobber.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/parameters/stack_clobber.c -------------------------------------------------------------------------------- /tests/chapter_18/valid/params_and_returns/ignore_retval.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/params_and_returns/ignore_retval.c -------------------------------------------------------------------------------- /tests/chapter_18/valid/params_and_returns/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/params_and_returns/simple.c -------------------------------------------------------------------------------- /tests/chapter_18/valid/params_and_returns/stack_clobber.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_18/valid/params_and_returns/stack_clobber.c -------------------------------------------------------------------------------- /tests/chapter_19/constant_folding/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/constant_folding/README.md -------------------------------------------------------------------------------- /tests/chapter_19/constant_folding/all_types/fold_double.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/constant_folding/all_types/fold_double.c -------------------------------------------------------------------------------- /tests/chapter_19/constant_folding/all_types/fold_long.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/constant_folding/all_types/fold_long.c -------------------------------------------------------------------------------- /tests/chapter_19/constant_folding/all_types/fold_uint.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/constant_folding/all_types/fold_uint.c -------------------------------------------------------------------------------- /tests/chapter_19/constant_folding/all_types/fold_ulong.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/constant_folding/all_types/fold_ulong.c -------------------------------------------------------------------------------- /tests/chapter_19/constant_folding/int_only/fold_binary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/constant_folding/int_only/fold_binary.c -------------------------------------------------------------------------------- /tests/chapter_19/constant_folding/int_only/fold_unary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/constant_folding/int_only/fold_unary.c -------------------------------------------------------------------------------- /tests/chapter_19/copy_propagation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/copy_propagation/README.md -------------------------------------------------------------------------------- /tests/chapter_19/copy_propagation/all_types/copy_struct.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/copy_propagation/all_types/copy_struct.c -------------------------------------------------------------------------------- /tests/chapter_19/copy_propagation/int_only/fig_19_8.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/copy_propagation/int_only/fig_19_8.c -------------------------------------------------------------------------------- /tests/chapter_19/copy_propagation/int_only/nested_loops.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/copy_propagation/int_only/nested_loops.c -------------------------------------------------------------------------------- /tests/chapter_19/copy_propagation/int_only/propagate_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/copy_propagation/int_only/propagate_var.c -------------------------------------------------------------------------------- /tests/chapter_19/dead_store_elimination/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/dead_store_elimination/README.md -------------------------------------------------------------------------------- /tests/chapter_19/dead_store_elimination/int_only/simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/dead_store_elimination/int_only/simple.c -------------------------------------------------------------------------------- /tests/chapter_19/helper_libs/exit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/helper_libs/exit.c -------------------------------------------------------------------------------- /tests/chapter_19/unreachable_code_elimination/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/unreachable_code_elimination/README.md -------------------------------------------------------------------------------- /tests/chapter_19/unreachable_code_elimination/and_clause.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/unreachable_code_elimination/and_clause.c -------------------------------------------------------------------------------- /tests/chapter_19/unreachable_code_elimination/empty.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/unreachable_code_elimination/empty.c -------------------------------------------------------------------------------- /tests/chapter_19/whole_pipeline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/whole_pipeline/README.md -------------------------------------------------------------------------------- /tests/chapter_19/whole_pipeline/int_only/int_min.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/whole_pipeline/int_only/int_min.c -------------------------------------------------------------------------------- /tests/chapter_19/whole_pipeline/int_only/listing_19_5.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_19/whole_pipeline/int_only/listing_19_5.c -------------------------------------------------------------------------------- /tests/chapter_2/invalid_parse/extra_paren.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return (3)); 4 | } -------------------------------------------------------------------------------- /tests/chapter_2/invalid_parse/missing_const.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return ~; 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/invalid_parse/missing_semicolon.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return -5 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/invalid_parse/nested_missing_const.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return -~; 4 | } -------------------------------------------------------------------------------- /tests/chapter_2/invalid_parse/parenthesize_operand.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return (-)3; 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/invalid_parse/unclosed_paren.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return (1; 4 | } -------------------------------------------------------------------------------- /tests/chapter_2/invalid_parse/wrong_order.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 4-; 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/bitwise.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return ~12; 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/bitwise_int_min.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_2/valid/bitwise_int_min.c -------------------------------------------------------------------------------- /tests/chapter_2/valid/bitwise_zero.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return ~0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/neg.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return -5; 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/neg_zero.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return -0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/negate_int_max.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_2/valid/negate_int_max.c -------------------------------------------------------------------------------- /tests/chapter_2/valid/nested_ops.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return ~-3; 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/nested_ops_2.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return -~0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/parens.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return (-2); 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/parens_2.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return ~(2); 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/parens_3.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return -(-4); 3 | } -------------------------------------------------------------------------------- /tests/chapter_2/valid/redundant_parens.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_2/valid/redundant_parens.c -------------------------------------------------------------------------------- /tests/chapter_20/all_types/no_coalescing/dbl_fun_call.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/all_types/no_coalescing/dbl_fun_call.c -------------------------------------------------------------------------------- /tests/chapter_20/all_types/no_coalescing/div_uses_ax.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/all_types/no_coalescing/div_uses_ax.c -------------------------------------------------------------------------------- /tests/chapter_20/all_types/no_coalescing/gp_xmm_mixed.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/all_types/no_coalescing/gp_xmm_mixed.c -------------------------------------------------------------------------------- /tests/chapter_20/all_types/util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/all_types/util.h -------------------------------------------------------------------------------- /tests/chapter_20/helper_libs/clobber_xmm_regs_linux.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/helper_libs/clobber_xmm_regs_linux.s -------------------------------------------------------------------------------- /tests/chapter_20/helper_libs/clobber_xmm_regs_osx.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/helper_libs/clobber_xmm_regs_osx.s -------------------------------------------------------------------------------- /tests/chapter_20/helper_libs/return_double_lib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/helper_libs/return_double_lib.c -------------------------------------------------------------------------------- /tests/chapter_20/helper_libs/return_double_struct_lib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/helper_libs/return_double_struct_lib.c -------------------------------------------------------------------------------- /tests/chapter_20/helper_libs/target_shim.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/helper_libs/target_shim.c -------------------------------------------------------------------------------- /tests/chapter_20/helper_libs/track_arg_registers_lib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/helper_libs/track_arg_registers_lib.c -------------------------------------------------------------------------------- /tests/chapter_20/helper_libs/util.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/helper_libs/util.c -------------------------------------------------------------------------------- /tests/chapter_20/helper_libs/wrapper_linux.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/helper_libs/wrapper_linux.s -------------------------------------------------------------------------------- /tests/chapter_20/helper_libs/wrapper_osx.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/helper_libs/wrapper_osx.s -------------------------------------------------------------------------------- /tests/chapter_20/int_only/no_coalescing/force_spill.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/int_only/no_coalescing/force_spill.c -------------------------------------------------------------------------------- /tests/chapter_20/int_only/no_coalescing/loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/int_only/no_coalescing/loop.c -------------------------------------------------------------------------------- /tests/chapter_20/int_only/util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_20/int_only/util.h -------------------------------------------------------------------------------- /tests/chapter_3/invalid_parse/double_operation.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 * / 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/invalid_parse/imbalanced_paren.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 + (2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/invalid_parse/malformed_paren.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 2 (- 3); 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/invalid_parse/misplaced_semicolon.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 + (2;) 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/invalid_parse/missing_first_op.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return /3; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/invalid_parse/missing_open_paren.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 + 2); 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/invalid_parse/missing_second_op.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 + ; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/invalid_parse/no_semicolon.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 2*2 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/add.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 + 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/associativity.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_3/valid/associativity.c -------------------------------------------------------------------------------- /tests/chapter_3/valid/associativity_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_3/valid/associativity_2.c -------------------------------------------------------------------------------- /tests/chapter_3/valid/associativity_3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_3/valid/associativity_3.c -------------------------------------------------------------------------------- /tests/chapter_3/valid/associativity_and_precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_3/valid/associativity_and_precedence.c -------------------------------------------------------------------------------- /tests/chapter_3/valid/div.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 4 / 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/div_neg.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return (-12) / 5; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/extra_credit/bitwise_and.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 3 & 5; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/extra_credit/bitwise_or.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 | 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/extra_credit/bitwise_precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_3/valid/extra_credit/bitwise_precedence.c -------------------------------------------------------------------------------- /tests/chapter_3/valid/extra_credit/bitwise_shift_associativity.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 33 << 4 >> 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/extra_credit/bitwise_shift_associativity_2.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 33 >> 2 << 1; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/extra_credit/bitwise_shiftl.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 35 << 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/extra_credit/bitwise_shiftr.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1000 >> 4; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/extra_credit/bitwise_xor.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 7 ^ 1; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/mod.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 4 % 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/mult.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 2 * 3; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/parens.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 2 * (3 + 4); 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/precedence.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 2 + 3 * 4; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/sub.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 - 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/sub_neg.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 2- -1; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/unop_add.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return ~2 + 3; 3 | } -------------------------------------------------------------------------------- /tests/chapter_3/valid/unop_parens.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return ~(1 + 1); 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/invalid_parse/missing_const.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | 10 <= !; 4 | } -------------------------------------------------------------------------------- /tests/chapter_4/invalid_parse/missing_first_op.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return <= 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/invalid_parse/missing_operand.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 < > 3; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/invalid_parse/missing_second_op.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 2 && ~; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/invalid_parse/missing_semicolon.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 || 2 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/invalid_parse/unary_missing_semicolon.c: -------------------------------------------------------------------------------- 1 | int main(void) 2 | { 3 | return !10 4 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/and_false.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/and_false.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/and_short_circuit.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 0 && (1 / 0); 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/and_true.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/and_true.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/associativity.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/associativity.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/compare_arithmetic_results.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return ~2 * -2 == 1 + 5; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/eq_false.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 == 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/eq_precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/eq_precedence.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/eq_true.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 == 1; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/ge_false.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 >= 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/ge_true.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/ge_true.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/gt_false.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/gt_false.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/gt_true.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 15 > 10; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/le_false.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 <= -1; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/le_true.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/le_true.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/lt_false.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 2 < 1; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/lt_true.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 < 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/multi_short_circuit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/multi_short_circuit.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/ne_false.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 0 != 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/ne_true.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return -1 != -2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/nested_ops.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return !-3; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/not.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return !5; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/not_sum.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return !(4-4); 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/not_sum_2.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return !(3 - 44); 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/not_zero.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return !0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/operate_on_booleans.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/operate_on_booleans.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/or_false.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 0 || 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/or_short_circuit.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 || (1 / 0); 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/or_true.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/or_true.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/precedence.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/precedence_2.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return (1 || 0) && 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_4/valid/precedence_3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/precedence_3.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/precedence_4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/precedence_4.c -------------------------------------------------------------------------------- /tests/chapter_4/valid/precedence_5.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_4/valid/precedence_5.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/declare_keyword_as_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/declare_keyword_as_var.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/invalid_specifier.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/invalid_specifier.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/invalid_type.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/invalid_type.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/invalid_variable_name.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/invalid_variable_name.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/malformed_decrement.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/malformed_decrement.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/malformed_increment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/malformed_increment.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/malformed_less_equal.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/malformed_less_equal.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/malformed_not_equal.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/malformed_not_equal.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/missing_semicolon.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/missing_semicolon.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_parse/return_in_assignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_parse/return_in_assignment.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/declared_after_use.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_semantics/declared_after_use.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/extra_credit/prefix_decr_non_lvalue.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return --3; 3 | } -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/extra_credit/undeclared_bitwise_op.c: -------------------------------------------------------------------------------- 1 | int main(void){ 2 | return a >> 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/invalid_lvalue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_semantics/invalid_lvalue.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/invalid_lvalue_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_semantics/invalid_lvalue_2.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/redefine.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_semantics/redefine.c -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/undeclared_var.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return a; 3 | } -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/undeclared_var_and.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 0 && a; 3 | } -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/undeclared_var_compare.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return a < 5; 3 | } -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/undeclared_var_unary.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return -a; 3 | } -------------------------------------------------------------------------------- /tests/chapter_5/invalid_semantics/use_then_redefine.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/invalid_semantics/use_then_redefine.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/add_variables.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/add_variables.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/allocate_temps_and_vars.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/allocate_temps_and_vars.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/assign.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/assign.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/assign_val_in_initializer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/assign_val_in_initializer.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/assignment_in_initializer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/assignment_in_initializer.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/assignment_lowest_precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/assignment_lowest_precedence.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/empty_function_body.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | 3 | } -------------------------------------------------------------------------------- /tests/chapter_5/valid/exp_then_declaration.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/exp_then_declaration.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/extra_credit/bitwise_ops_vars.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/extra_credit/bitwise_ops_vars.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/extra_credit/compound_divide.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/extra_credit/compound_divide.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/extra_credit/compound_minus.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/extra_credit/compound_minus.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/extra_credit/compound_mod.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/extra_credit/compound_mod.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/extra_credit/compound_multiply.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/extra_credit/compound_multiply.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/extra_credit/compound_plus.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/extra_credit/compound_plus.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/extra_credit/incr_parenthesized.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/extra_credit/incr_parenthesized.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/extra_credit/postfix_precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/extra_credit/postfix_precedence.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/kw_var_names.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/kw_var_names.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/local_var_missing_return.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/local_var_missing_return.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/mixed_precedence_assignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/mixed_precedence_assignment.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/non_short_circuit_or.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/non_short_circuit_or.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/null_statement.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | ; 3 | } -------------------------------------------------------------------------------- /tests/chapter_5/valid/null_then_return.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/null_then_return.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/return_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/return_var.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/short_circuit_and_fail.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/short_circuit_and_fail.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/short_circuit_or.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/short_circuit_or.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/unused_exp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/unused_exp.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/use_assignment_result.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/use_assignment_result.c -------------------------------------------------------------------------------- /tests/chapter_5/valid/use_val_in_own_initializer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_5/valid/use_val_in_own_initializer.c -------------------------------------------------------------------------------- /tests/chapter_6/invalid_lex/extra_credit/bad_label.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/invalid_lex/extra_credit/bad_label.c -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/empty_if_body.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | if (0) else return 0; 3 | } -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/extra_credit/kw_label.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/invalid_parse/extra_credit/kw_label.c -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/extra_credit/label_expression_clause.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | 1 && label: 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/extra_credit/label_outside_function.c: -------------------------------------------------------------------------------- 1 | label: 2 | int main(void) { 3 | return 0; 4 | } 5 | -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/if_assignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/invalid_parse/if_assignment.c -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/if_no_parens.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | if 0 return 1; 3 | } -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/incomplete_ternary.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 1 ? 2; 3 | } -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/malformed_ternary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/invalid_parse/malformed_ternary.c -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/malformed_ternary_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/invalid_parse/malformed_ternary_2.c -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/mismatched_nesting.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/invalid_parse/mismatched_nesting.c -------------------------------------------------------------------------------- /tests/chapter_6/invalid_parse/wrong_ternary_delimiter.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/invalid_parse/wrong_ternary_delimiter.c -------------------------------------------------------------------------------- /tests/chapter_6/invalid_semantics/invalid_var_in_if.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/invalid_semantics/invalid_var_in_if.c -------------------------------------------------------------------------------- /tests/chapter_6/invalid_semantics/ternary_assign.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/invalid_semantics/ternary_assign.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/assign_ternary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/assign_ternary.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/binary_condition.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/binary_condition.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/binary_false_condition.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/binary_false_condition.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/else.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/else.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/bitwise_ternary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/bitwise_ternary.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/goto_backwards.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/goto_backwards.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/goto_label.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/goto_label.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/goto_label_and_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/goto_label_and_var.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/goto_label_main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/goto_label_main.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/goto_label_main_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/goto_label_main_2.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/goto_nested_label.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/goto_nested_label.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/label_token.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/label_token.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/postfix_if.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/postfix_if.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/postfix_in_ternary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/postfix_in_ternary.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/prefix_if.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/prefix_if.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/prefix_in_ternary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/prefix_in_ternary.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/extra_credit/unused_label.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/extra_credit/unused_label.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/if_nested.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/if_nested.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/if_nested_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/if_nested_2.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/if_nested_3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/if_nested_3.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/if_nested_4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/if_nested_4.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/if_nested_5.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/if_nested_5.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/if_not_taken.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/if_not_taken.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/if_null_body.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/if_null_body.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/if_taken.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/if_taken.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/lh_assignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/lh_assignment.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/multiple_if.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/multiple_if.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/nested_ternary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/nested_ternary.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/nested_ternary_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/nested_ternary_2.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/rh_assignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/rh_assignment.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/ternary.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/ternary.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/ternary_middle_assignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/ternary_middle_assignment.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/ternary_middle_binop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/ternary_middle_binop.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/ternary_precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/ternary_precedence.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/ternary_rh_binop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/ternary_rh_binop.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/ternary_short_circuit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/ternary_short_circuit.c -------------------------------------------------------------------------------- /tests/chapter_6/valid/ternary_short_circuit_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_6/valid/ternary_short_circuit_2.c -------------------------------------------------------------------------------- /tests/chapter_7/invalid_parse/extra_brace.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/invalid_parse/extra_brace.c -------------------------------------------------------------------------------- /tests/chapter_7/invalid_parse/missing_brace.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/invalid_parse/missing_brace.c -------------------------------------------------------------------------------- /tests/chapter_7/invalid_parse/missing_semicolon.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/invalid_parse/missing_semicolon.c -------------------------------------------------------------------------------- /tests/chapter_7/invalid_parse/ternary_blocks.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/invalid_parse/ternary_blocks.c -------------------------------------------------------------------------------- /tests/chapter_7/invalid_semantics/double_define.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/invalid_semantics/double_define.c -------------------------------------------------------------------------------- /tests/chapter_7/invalid_semantics/out_of_scope.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/invalid_semantics/out_of_scope.c -------------------------------------------------------------------------------- /tests/chapter_7/invalid_semantics/use_before_declare.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/invalid_semantics/use_before_declare.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/assign_to_self.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/assign_to_self.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/assign_to_self_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/assign_to_self_2.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/declaration_only.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/declaration_only.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/empty_blocks.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/empty_blocks.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/extra_credit/goto_inner_scope.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/extra_credit/goto_inner_scope.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/extra_credit/goto_outer_scope.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/extra_credit/goto_outer_scope.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/extra_credit/goto_sibling_scope.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/extra_credit/goto_sibling_scope.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/hidden_then_visible.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/hidden_then_visible.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/hidden_variable.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/hidden_variable.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/inner_uninitialized.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/inner_uninitialized.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/multiple_vars_same_name.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/multiple_vars_same_name.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/nested_if.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/nested_if.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/similar_var_names.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/similar_var_names.c -------------------------------------------------------------------------------- /tests/chapter_7/valid/use_in_inner_scope.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_7/valid/use_in_inner_scope.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_parse/decl_as_loop_body.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_parse/decl_as_loop_body.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_parse/do_extra_semicolon.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_parse/do_extra_semicolon.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_parse/do_missing_semicolon.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_parse/do_missing_semicolon.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_parse/do_while_empty_parens.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_parse/do_while_empty_parens.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_parse/extra_for_header_clause.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_parse/extra_for_header_clause.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_parse/invalid_for_declaration.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_parse/invalid_for_declaration.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_parse/paren_mismatch.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_parse/paren_mismatch.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_parse/statement_in_condition.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_parse/statement_in_condition.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_parse/while_missing_paren.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_parse/while_missing_paren.c -------------------------------------------------------------------------------- /tests/chapter_8/invalid_semantics/break_not_in_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/invalid_semantics/break_not_in_loop.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/break.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/break.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/break_immediate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/break_immediate.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/continue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/continue.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/continue_empty_post.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/continue_empty_post.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/do_while.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/do_while.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/do_while_break_immediate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/do_while_break_immediate.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/empty_expression.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 0;;; 3 | } 4 | -------------------------------------------------------------------------------- /tests/chapter_8/valid/empty_loop_body.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/empty_loop_body.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/case_block.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/case_block.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/duffs_device.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/duffs_device.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/label_loop_body.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/label_loop_body.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/loop_in_switch.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/loop_in_switch.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/post_exp_incr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/post_exp_incr.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch_break.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch_break.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch_decl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch_decl.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch_default.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch_default.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch_empty.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch_empty.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch_fallthrough.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch_fallthrough.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch_in_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch_in_loop.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch_no_case.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch_no_case.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch_not_taken.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch_not_taken.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/extra_credit/switch_single_case.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/extra_credit/switch_single_case.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/for.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/for.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/for_absent_condition.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/for_absent_condition.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/for_absent_post.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/for_absent_post.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/for_decl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/for_decl.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/for_decl_no_init.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/for_decl_no_init.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/for_nested_shadow.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/for_nested_shadow.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/for_shadow.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/for_shadow.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/multi_break.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/multi_break.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/multi_continue_same_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/multi_continue_same_loop.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/nested_break.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/nested_break.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/nested_continue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/nested_continue.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/nested_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/nested_loop.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/null_for_header.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/null_for_header.c -------------------------------------------------------------------------------- /tests/chapter_8/valid/while.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_8/valid/while.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_declarations/undeclared_fun.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_declarations/undeclared_fun.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_parse/call_non_identifier.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_parse/call_non_identifier.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_parse/fun_decl_for_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_parse/fun_decl_for_loop.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_parse/trailing_comma.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_parse/trailing_comma.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_parse/trailing_comma_decl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_parse/trailing_comma_decl.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_parse/unclosed_paren_decl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_parse/unclosed_paren_decl.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_parse/var_init_in_param_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_parse/var_init_in_param_list.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_types/assign_fun_to_variable.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_types/assign_fun_to_variable.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_types/divide_by_function.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_types/divide_by_function.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_types/too_few_args.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_types/too_few_args.c -------------------------------------------------------------------------------- /tests/chapter_9/invalid_types/too_many_args.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/invalid_types/too_many_args.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/extra_credit/dont_clobber_ecx.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/extra_credit/dont_clobber_ecx.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/extra_credit/goto_shared_name.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/extra_credit/goto_shared_name.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/libraries/addition.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/libraries/addition.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/libraries/addition_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/libraries/addition_client.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/libraries/many_args.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/libraries/many_args.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/libraries/many_args_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/libraries/many_args_client.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/libraries/system_call.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/libraries/system_call.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/libraries/system_call_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/libraries/system_call_client.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/no_arguments/forward_decl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/no_arguments/forward_decl.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/no_arguments/no_return_value.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/no_arguments/no_return_value.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/no_arguments/precedence.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/no_arguments/precedence.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/stack_arguments/call_putchar.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/stack_arguments/call_putchar.c -------------------------------------------------------------------------------- /tests/chapter_9/valid/stack_arguments/stack_alignment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlsandler/writing-a-c-compiler-tests/HEAD/tests/chapter_9/valid/stack_arguments/stack_alignment.c --------------------------------------------------------------------------------