fortfront
Core analysis frontend for lazy fortran - lexer, parser, semantic analysis, AST operations
파일 탐색기
최종 버전 다운로드 (.zip)- pre-commit
- ci.yml
- README.md
- PULL_REQUEST_TEMPLATE_autogen.md
- debug_ast.f90
- fortfront.f90
- frontend_probe.f90
- README.md
- test_ast_performance.f90
- test_minimal_bench.f90
- MONOMORPHIZATION.md
- PRATT_PIPELINE_ARCHITECTURE.md
- SEMANTIC_PIPELINE_ARCHITECTURE.md
- AST_MIGRATION.md
- MEMORY_SAFETY_ANALYSIS.md
- PARSE_DECLARATION_REFACTORING.md
- README.md
- CHARACTER_TYPE_GUIDE.md
- LIBRARY_USAGE.md
- MIXED_CONSTRUCTS_GUIDE.md
- TYPE_SAFETY_GUIDE.md
- baseline.md
- NODE_TYPE_IDENTIFICATION.md
- CONFORMANCE.md
- ECOSYSTEM.md
- abstract_binding_hierarchy_facts.f90
- abstract_dispatch_depth_query.f90
- abstract_dispatch_provenance_query.f90
- abstract_dispatch_runtime_boundary.f90
- abstract_dispatch_target_query.f90
- abstract_select_type_dispatch_contract.f90
- abstract_select_type_dispatch_refusals.f90
- abstract_select_type_function_dispatch.f90
- allocation_ownership_query.f90
- api_pipeline_minimal_program.f90
- arithmetic_if_expression_complex.f90
- arithmetic_if_inline_comment.f90
- arithmetic_if_negative_labels.f90
- arithmetic_if_whitespace_labels.f90
- array_slice_basic.f90
- array_slice_empty_bounds.f90
- array_slice_multidim.f90
- array_slicing_basic.f90
- array_slicing_empty_bounds.f90
- array_slicing_multidim.f90
- array_slicing_type_inference.f90
- associate_selector_facts.f90
- ast_coverage_control_flow.f90
- ast_coverage_io_statements.f90
- ast_coverage_literals_calls.f90
- ast_coverage_module_interface.f90
- ast_coverage_program_with_procedures.f90
- ast_forall_pointer.f90
- ast_module_interface_type.f90
- ast_select_case_ranges.f90
- attribute_conflicts_corrected.f90
- benchmark_1000_lines.f90
- benchmark_200_lines.f90
- benchmark_5000_lines.f90
- binding_hierarchy_query.f90
- block_local_scope.f90
- blockdata_8.f90
- call_argument_contract.f90
- call_argument_mapping.f90
- call_graph_internal_procedures.f90
- call_graph_module_program_scopes.f90
- call_graph_mutual_recursion.f90
- call_graph_unused_procedure.f90
- class_dummy_5.f90
- class_dummy_5_valid.f90
- class_is_1.f90
- class_is_1_ok.f90
- close_do_loop.f90
- close_if_block.f90
- close_multiple.f90
- close_nested_if.f90
- close_select_case.f90
- common_29.f90
- common_29_corrected.f90
- compiler_expression_queries.f90
- compiler_resolved_expression_kinds.f90
- complex_assignment_literals.f90
- complex_literal_kind.f90
- component_storage_facts.f90
- component_storage_query.f90
- component_storage_rank2.f90
- constant_folding_comparison.f90
- constant_folding_literal_false.f90
- constant_folding_parameter.f90
- contiguous_12.f90
- control_flow_associate_construct.f90
- control_flow_forall_construct.f90
- control_flow_nested_select_case.f90
- control_flow_select_case_basic.f90
- control_flow_where_construct.f90
- data_multi_objects.f90
- data_multiple_sets.f90
- data_repeat_kind.f90
- data_repeat_mixed.f90
- data_repeat_simple.f90
- data_statement_array_literal.f90
- data_statement_scalar_upgrade.f90
- data_stmt_parse.f90
- defined_operator_ambiguous_refusal.f90
- defined_operator_conversion_refusal.f90
- defined_operator_query.f90
- defined_operator_query_boundary.f90
- do_concurrent_3.f90
- do_concurrent_3_valid.f90
- do_concurrent_multi.f90
- do_concurrent_real_array.f90
- do_concurrent_simple.f90
- do_concurrent_type_spec.f90
- do_loop_array_update.f90
- do_loop_expression_bounds.f90
- do_loop_issue_620.f90
- do_loop_simple_fixed.f90
- do_loop_variable_bounds.f90
- docs_character_arrays_out.f90
- docs_character_length_inference_out.f90
- docs_fixed_length_reassignment_out.f90
- docs_mixed_type_operations_out.f90
- docs_string_concatenation_out.f90
- docs_type_validation_calculate_out.f90
- docs_unsigned_integers_out.f90
- docs_variable_length_strings_out.f90
- dtio_interface_basic.f90
- dtio_interface_read_write.f90
- dtio_interface_unformatted.f90
- dummy_arg_expression.f90
- dummy_arg_intent.f90
- dummy_arg_multiple.f90
- dummy_arg_nested.f90
- dummy_arg_simple.f90
- duplicate_var_decl_regression.f90
- elemental_args_check_2.f90
- elemental_args_check_2_valid.f90
- elemental_pointer_1.f90
- elemental_pointer_1_valid.f90
- elemental_result_1.f90
- elemental_result_1_valid.f90
- enum_2.f90
- enum_2_valid.f90
- enum_3.f90
- enum_3_valid.f90
- enum_6.f90
- enum_6_valid.f90
- enum_7.f90
- enum_7_valid.f90
- enum_8.f90
- enum_8_valid.f90
- equivalence_common_block.f90
- external_initializer.f90
- external_internal_then_external.f90
- external_procedure_declaration.f90
- external_tool_example.f90
- f2003_abstract_interface.f90
- f2003_associate_construct.f90
- f2003_block_construct.f90
- f2003_type_bound_array_call.f90
- finalize_22.f90
- finalize_22_valid.f90
- fixed_form_comment_no_continuation.f
- fixed_form_implicit_dimension.f
- generic_resolution_query.f90
- host_assoc_types_1.f90
- host_assoc_types_1_corrected.f90
- if_multiline_guard.f90
- implicit_kind_selector_letter_specs.f90
- implicit_letter_spec_forms.f90
- implicit_none_single.f90
- impure_assignment_1.f90
- impure_assignment_2.f90
- impure_assignment_2_valid.f90
- interface_only_block.f90
- interface_operator_3.f90
- interface_operator_3_corrected.f90
- interface_parse.f90
- intrinsic_functions_math_expr_complex.f90
- intrinsic_functions_math_expr_nested.f90
- intrinsic_functions_math_expr_simple.f90
- intrinsic_statement_program.f90
- iso_fortran_env_4.f90
- iso_fortran_env_4_corrected.f90
- issue2456.f90
- issue_104_assignment_identifiers.f90
- issue_104_if_condition_identifiers.f90
- issue_104_print_identifiers.f90
- issue_104_program_identifiers.f90
- issue_1093_function_result_inference.f90
- issue_1324_if_inside_do_loop.f90
- issue_1337_forall.f90
- issue_1338_where.f90
- issue_1344_character_length.f90
- issue_1347_interface.f90
- issue_1348_pointer.f90
- issue_1349_select_case.f90
- issue_1349_select_case_bodies.f90
- issue_1350_recursive.f90
- issue_1350_recursive_if_else.f90
- issue_1351_elemental_pure.f90
- issue_1352_optional.f90
- issue_1352_optional_module_if_control.f90
- issue_1352_optional_subroutine_program.f90
- issue_1353_class_pointer_declaration.f90
- issue_1353_derived_type.f90
- issue_1353_extends_attribute.f90
- issue_1353_module_type_definition.f90
- issue_1353_type_public_attribute.f90
- issue_1409_use_rename.f90
- issue_1541_save_attribute.f90
- issue_1542_nested_types.f90
- issue_1543_array_bounds.f90
- issue_1544_external_array.f90
- issue_1546_goto_label.f90
- issue_1547_scalar_allocatable.f90
- issue_1565_use_associated_rename.f90
- issue_1565_use_associated_variable.f90
- issue_1570_pure_elemental_preservation.f90
- issue_1571_use_associated_external.f90
- issue_1574_intrinsic_external.f90
- issue_1575_implied_do_array_constructor.f90
- issue_1578_block_data.f90
- issue_1582_simple_goto.f90
- issue_1583_computed_goto.f90
- issue_1583_computed_goto_basic.f90
- issue_1583_computed_goto_minimal.f90
- issue_1604_type_bound_procedures.f90
- issue_1607_final_procedures.f90
- issue_1608_class_program.f90
- issue_1608_class_subroutine.f90
- issue_1611_allocate_class_typespec.f90
- issue_1611_allocate_no_typespec.f90
- issue_1611_allocate_type_typespec.f90
- issue_1614_character_deferred_length.f90
- issue_1614_character_function_result.f90
- issue_1614_character_mixed_attributes.f90
- issue_1614_character_module_variable.f90
- issue_1614_character_parameter_length.f90
- issue_1615_target_attribute.f90
- issue_1616_polymorphic_arrays.f90
- issue_1619_nested_types_complex.f90
- issue_1621_intent_out_array_shape.f90
- issue_1664_function_result.f90
- issue_1664_result_in.f90
- issue_1664_result_inout.f90
- issue_1664_result_out.f90
- issue_1692_select_case_open_range.f90
- issue_1696_stop_statements.f90
- issue_1705_real_literal_generic.f90
- issue_1709_external_separate.f90
- issue_1711_implicit_range.f90
- issue_1735_result_type.f90
- issue_1737_generic_interface.f90
- issue_1738_derived_type_allocatable.f90
- issue_1740_optional_keyword_arguments.f90
- issue_1741_array_constructor_type_spec.f90
- issue_1744_operator_interface.f90
- issue_1745_equivalence.f90
- issue_1771_module_parameter_types.f90
- issue_1774_user_defined_operator.f90
- issue_1782_procedure_pointer.f90
- issue_1783_use_rename_no_only.f90
- issue_1783_use_rename_only.f90
- issue_1787_continue_in_if.f90
- issue_1810_parameter_array_allocatable.f90
- issue_1811_cmplx_intrinsic.f90
- issue_1818_assumed_size_array.f90
- issue_1821_protected_attribute.f90
- issue_1826_enum_module.f90
- issue_1826_enum_program.f90
- issue_1827_submodule_simple.f90
- issue_1827_submodule_with_contents.f90
- issue_1861_nested_do_print.f90
- issue_1889_single_line_if.f90
- issue_1895_use_interface_external.f90
- issue_1897_typed_array_constructor.f90
- issue_1900_block_data_after_program.f90
- issue_1900_block_data_labels.f90
- issue_1958_intent_preservation.f90
- issue_1959_target_attribute.f90
- issue_1960_pointer_assignment_if.f90
- issue_1970_implied_do_array_constructor.f90
- issue_2010_deferred_char_allocatable.f90
- issue_2011_generic_interface_mangled.f90
- issue_2013_nested_implied_do_duplicate_var.f90
- issue_2014_elemental_function_lost.f90
- issue_2015_optional_param_wrong_monomorph.f90
- issue_2017_assumed_shape_duplicate_monomorph.f90
- issue_2018_function_returns_array_duplicate_var.f90
- issue_2020_pure_function_mangled.f90
- issue_2021_multi_function_merged.f90
- issue_2022_fixed_array_to_unallocated.f90
- issue_2024_char_function_duplicate_and_missing.f90
- issue_2025_multi_internal_proc_structure_collapse.f90
- issue_2065_extra_spaces_in_string_literals.f90
- issue_2070_entry_loses_argument_declarations.f90
- issue_2074_arithmetic_if_not_supported.f90
- issue_2076_pause_statement_silently_dropped.f90
- issue_2078_include_statement_silently_dropped.f90
- issue_2113_real64_roundtrip.f90
- issue_2140_array_and_loop_body_lost.f90
- issue_2162_entry_wrapping.f90
- issue_2226_uppercase_statement_if.f90
- issue_2227_achar_kind_crash.f90
- issue_2228_stray_commas.f90
- issue_2229_many_statement_ifs.f90
- issue_2236_optional_assumed_rank_bridge.f90
- issue_2237_multiline_stmt_if.f90
- issue_2238_select_rank_performance.f90
- issue_2246_identifier_implicit.f90
- issue_2247_contains_identifier.f90
- issue_2248_read_keyword.f90
- issue_2249_keyworded_write.f90
- issue_2250_pure_interface.f90
- issue_2251_data_implied_do.f90
- issue_2252_data_value_implied_do.f90
- issue_2253_procedure_interface.f90
- issue_2254_free_form_continuation.f90
- issue_2255_inline_if_comment.f90
- issue_2255_inline_if_comment_continuation.f90
- issue_2265_module_program.f90
- issue_2266_identifier_dimension.f90
- issue_2267_identifier_else.f90
- issue_2268_identifier_module.f90
- issue_2269_identifier_program.f90
- issue_2270_identifier_common.f90
- issue_2271_identifier_goto.f90
- issue_2272_identifier_call.f90
- issue_2273_identifier_stop.f90
- issue_2274_identifier_cycle.f90
- issue_2275_identifier_exit.f90
- issue_2276_identifier_if.f90
- issue_2277_identifier_entry.f90
- issue_2278_return_identifier.f90
- issue_2279_identifier_select.f90
- issue_2280_statement_function.f90
- issue_2281_header_only_declarations.f90
- issue_2282_external_subroutine.f90
- issue_2283_nested_modules.f90
- issue_2285_openmp_directives.f90
- issue_2286_openacc_internal.f90
- issue_2287_where_elsewhere.f90
- issue_2288_elemental_interface.f90
- issue_2289_impure_interface.f90
- issue_2290_recursive_interface.f90
- issue_2291_operator_continuation.f90
- issue_2292_use_preservation.f90
- issue_2293_legacy_implicit.f
- issue_2294_identifier_format.f90
- issue_2347_bare_end_module.f90
- issue_2347_bare_end_program.f90
- issue_2348_interface_block_procedures.f90
- issue_2349_data_boz_literals.f90
- issue_2349_data_boz_postfix.f90
- issue_2349_data_boz_x_prefix.f90
- issue_2349_data_implied_do.f90
- issue_2349_data_trailing_object_comma.f90
- issue_2349_data_trailing_value_comma.f90
- issue_2387_comment_roundtrip.f90
- issue_2387_function_only.f90
- issue_2387_nested_program.f90
- issue_2387_procedure_only.f90
- issue_2387_program_with_procedures.f90
- issue_2387_program_wrapper.f90
- issue_2387_program_wrapper_removal.f90
- issue_2387_whitespace_diff.f90
- issue_2388_program_contains.f90
- issue_2388_uppercase_contains.f90
- issue_2389_interface_unit_split.f90
- issue_2390_module_implicit_rules.f90
- issue_2391_fixed_form_allocation.f
- issue_2394_allocatable_function.f90
- issue_2394_bind_c_interface.f90
- issue_2394_c_f_pointer.f90
- issue_2394_uppercase_function_interface.f90
- issue_2402_missing_then_preprocessor.f90
- issue_2413_interface_function_result_valid.f90
- issue_2414_internal_implicit_none.f90
- issue_2414_module_internal_implicit_none.f90
- issue_2416_io_format_variable.f90
- issue_2416_io_formats_comprehensive.f90
- issue_2416_io_namelist_read.f90
- issue_2417_minloc_with_mask.f90
- issue_2418_intrinsic_keywords_declared.f90
- issue_2419_data_variable_in_allocate.f90
- issue_2443_interface_formatted_io.f90
- issue_2443_io_iostat_iomsg.f90
- issue_2444_data_statement.f90
- issue_2444_data_trailing_comma.f90
- issue_2445_implicit_main_with_type_contains.f90
- issue_2447_io_format.f90
- issue_2449_openacc_clauses.f90
- issue_2449_openacc_directives.f90
- issue_2449_openacc_fixed.f
- issue_2450_procedure_interfaces.f90
- issue_2452_roundtrip_timeout.f90
- issue_2453_character_array_constructor.f90
- issue_2455_array_constructor_arg.f90
- issue_2455_multi_variable_decl.f90
- issue_2455_nested_array_constructor.f90
- issue_2455_nested_function_args.f90
- issue_2455_subroutine_only.f90
- issue_2456_assumed_char_length.f90
- issue_2457_logical_type_mismatch.f90
- issue_2458_multi_array_declaration.f90
- issue_2459_forall_missing_type.f90
- issue_2459_missing_implicit_type.f90
- issue_2486_class_type_multidecl.f90
- issue_2487_parameter_statement.f90
- issue_2489_interface_in_procedure.f90
- issue_2490_hollerith_format.f90
- issue_2491_standalone_allocatable.f90
- issue_2493_char_array_constructor.f90
- issue_2494_line_continuation_strings.f90
- issue_2495_data_null_intrinsic.f90
- issue_2496_quotes_in_comments.f90
- issue_2497_include_line_standalone.f90
- issue_2498_operator_precedence.f90
- issue_2505_uppercase_end_program.f90
- issue_2519_nested_forall.f90
- issue_2520_doubled_quotes_format_string.f90
- issue_2559_select_type_case_variations.f90
- issue_2562_where_invalid_if.f90
- issue_256_assignment_in_condition.f90
- issue_256_fix_suggestion.f90
- issue_256_garbage_input.f90
- issue_256_incomplete_expression.f90
- issue_256_invalid_syntax.f90
- issue_256_invalid_syntax_missing_then.f90
- issue_256_unsupported_parameter.f90
- issue_2591_unsigned_declarations.f90
- issue_2591_unsigned_mixing_error.f90
- issue_2592_interface_block_explicit_interface_ok.f90
- issue_2592_internal_procedure_explicit_interface_ok.f90
- issue_2592_missing_explicit_interface_function.f90
- issue_2592_missing_explicit_interface_subroutine.f90
- issue_2593_call_argument_type_mismatch.f90
- issue_2639_intrinsic_subroutine_calls_ok.f90
- issue_2644_strict_arg_checker_scope_lookup.f90
- issue_2737_lfortran_template_instantiate.f90
- issue_2738_lfortran_traits_requirements_implements.f90
- issue_2753_unsigned_argument_mixing_error.f90
- issue_2753_unsigned_assignment_mixing_error.f90
- issue_2809_block_data.f90
- issue_2809_common_block.f90
- issue_2809_enum.f90
- issue_2811_select_rank_trailing.f90
- issue_2811_select_type_trailing.f90
- issue_2813_value_attribute.f90
- issue_2814_c_f_procpointer.f90
- issue_2814_c_funloc.f90
- issue_2817_inline_instantiate_caret.f90
- issue_2818_bind_c_interop.f90
- issue_2819_implied_do_index_locality_valid.f90
- issue_2819_implied_do_index_out_of_scope.f90
- issue_2819_implied_do_index_shadow.f90
- issue_2819_pure_with_print.f90
- issue_2819_type_hierarchy_chain.f90
- issue_2820_allocate_mold_source.f90
- issue_2820_c_interop_pointers.f90
- issue_2820_intrinsics_timing.f90
- issue_2820_save_attribute.f90
- issue_2821_select_type_guard_name.f90
- issue_2836_io_expression_format.f90
- issue_2836_io_keyword_unit_format.f90
- issue_2836_io_keyword_variable_names.f90
- issue_2837_interface_semicolon.f90
- issue_2837_interface_type_return.f90
- issue_2838_unary_defined_operator.f90
- issue_2848_dimension_statement.f90
- issue_2850_bare_function_interface.f90
- issue_2850_bare_subroutine_interface.f90
- issue_2852_common_block_named_block.f90
- issue_2853_block_data_bare_end.f90
- issue_2855_external_intrinsic_conflict.f90
- issue_2856_integer8_function_result.f90
- issue_2910_program_unit_query_forms.f90
- issue_2910_statement_query_forms.f90
- issue_2924_coindexed_type_bound_call.f90
- issue_2924_implicit_none_external_type_bound.f90
- issue_2950_procedure_actual_argument.f90
- issue_2987_pdt_30.f90
- issue_2987_pdt_30_ok.f90
- issue_2987_proc_ptr_comp_3.f90
- issue_2987_proc_ptr_comp_3_ok.f90
- issue_2993_implicit_none_undeclared.f90
- issue_2993_implicit_none_valid.f90
- issue_2996_select_case_comment_continuation.f90
- issue_2996_select_case_missing_continuation.f90
- issue_2996_select_case_plain_continuation.f90
- issue_509_mixed_constructs_expected.f90
- issue_669_nested_character_substring.f90
- issue_6_expression_assignment.f90
- issue_6_multiple_assignments.f90
- issue_6_simple_assignment.f90
- issue_88_double_free_complex.f90
- issue_common_block_ordering.f90
- issue_playtest5_array_and_loop_body_lost.f90
- issue_playtest5_array_parameter_rank_lost.f90
- issue_playtest5_array_type_changed_real_to_int.f90
- issue_playtest5_derived_type_field_lost.f90
- issue_playtest5_interface_result_duplicate.f90
- issue_tapenade_v290_keyword_subroutine.f90
- lazy_standard_control_flow.f90
- lazy_standard_declarations.f90
- lazy_standard_implicit_none.f90
- lazy_standard_module.f90
- library_usage_ast_node_counter.f90
- library_usage_ast_node_position.f90
- memory_corruption.f90
- misplaced_implicit_character.f90
- misplaced_statement.f90
- module_implicit_none_insertion.f90
- module_interface_block.f90
- module_interface_block_invalid.f90
- module_parsing_basic.f90
- named_constructs.f90
- nested_array_literal_rectangular.f90
- nested_array_literal_square.f90
- nested_procedure_constructs.f90
- nullify_basic.f90
- nullify_in_if_block.f90
- operator_6.f90
- operator_6_corrected.f90
- owned_array_class_is_binding_identity.f90
- owned_array_class_is_dispatch.f90
- owned_array_class_is_dynamic_identity.f90
- owned_array_class_is_explicit_pass.f90
- owned_array_class_is_generic_dispatch.f90
- ownership_deep_assignment_facts.f90
- ownership_dispatch_metadata.f90
- ownership_dynamic_identity_facts.f90
- ownership_event_sequence_facts.f90
- ownership_lifetime_facts.f90
- ownership_reallocation_facts.f90
- parameter_attributes_simple.f90
- parameter_save.f90
- pause_in_if_block.f90
- pause_with_string_in_loop.f90
- pause_without_message.f90
- pdt_33.f90
- placement_sections_corrected.f90
- polymorphic_allocation_facts.f90
- polymorphic_array_storage_query.f90
- polymorphic_assignment_replay_facts.f90
- pr104351.f90
- pr104351_corrected.f90
- pr104572.f90
- pr104572_valid.f90
- pr123375.f90
- pr123375_corrected.f90
- pr19936_3.f90
- pr19936_3_ok.f90
- pr61669.f90
- pr68054.f90
- pr68319.f90
- pr77414.f90
- pr77414_corrected.f90
- pr77583.f90
- pr89943_3.f90
- pr89943_4.f90
- pr91660_1.f90
- pr91660_1_ok.f90
- pr91715.f90
- pr91715_ok.f90
- pr93423.f90
- pr96099_1.f90
- pr96099_1_ok.f90
- pr96099_2.f90
- pr96102.f90
- pr96102_corrected.f90
- procedure_actual_interface_mismatch.f90
- procedure_actual_interface_query.f90
- procedure_actual_mapping_query.f90
- procedure_call_target_query.f90
- procedure_callback_flow.f90
- procedure_callback_flow_loop.f90
- procedure_callback_flow_missing_assignment.f90
- procedure_callback_signature_query.f90
- procedure_pointer_association_query.f90
- procedure_pointer_state_boundaries.f90
- procedure_reassignment_call_query.f90
- procedure_target_query.f90
- program_scaffold_preserve.f90
- program_scaffold_special_name.f90
- protected_9.f90
- public_private_module.f90
- pure_formal_proc_3.f90
- pure_formal_proc_3_valid.f90
- recursive_check_3.f90
- recursive_check_3_valid.f90
- reject_call_function_dummy_type.f90
- reject_interface_use_associated.f90
- reject_scope_procedure_b1.f90
- reject_scope_procedure_b2.f90
- reject_scope_type_visibility_direct.f90
- reject_scope_type_visibility_nested.f90
- result_out_keyword.f90
- roundtrip_array_declarations.f90
- roundtrip_declaration_attributes.f90
- roundtrip_interface_blocks.f90
- roundtrip_module_features.f90
- roundtrip_procedure_attributes.f90
- roundtrip_statement_preservation.f90
- roundtrip_type_preservation.f90
- select_rank_bounds.f90
- select_rank_facts.f90
- select_rank_simple.f90
- select_type_arm_facts.f90
- select_type_associate_facts.f90
- select_type_component_binding.f90
- select_type_component_dispatch.f90
- select_type_component_generic_dispatch.f90
- select_type_component_path.f90
- select_type_dispatch_facts.f90
- select_type_generic_dispatch.f90
- select_type_generic_pass_query.f90
- select_type_real8_expression_query.f90
- stfunc_5.f90
- submodule_36.f90
- submodule_bind_c_name_valid.f90
- submodule_module_prefix_valid.f90
- submodule_module_procedure_valid.f90
- submodule_placement_valid.f90
- submodule_twice.f90
- submodule_unexp.f90
- subroutine_simple.f90
- tmp_goto_ast.f90
- tooling_lightweight_ast.f90
- trailing_comments.f90
- trailing_comments_control_flow.f90
- trivia_leading_comment.f90
- type_bound_call_base_oracle.f90
- type_bound_call_query.f90
- type_bound_dispatch_signature.f90
- type_bound_generic_dispatch_ambiguous.f90
- type_bound_generic_dispatch_query.f90
- type_bound_nested_receiver_query.f90
- type_decl_4.f90
- type_decl_4_corrected.f90
- type_is_1.f90
- type_is_1_ok.f90
- typebound_override_1.f90
- typebound_override_1_valid.f90
- typebound_override_2.f90
- typebound_override_2_valid.f90
- typebound_override_4.f90
- typebound_override_4_valid.f90
- typebound_override_5.f90
- undefined_var_recursive_type.f90
- undefined_var_segfault.f90
- unexpected_interface.f90
- use_19.f90
- use_19_corrected.f90
- use_9.f90
- use_9_corrected.f90
- use_intrinsic_only.f90
- used_types_25.f90
- used_types_25_corrected.f90
- utf8_bom_example.f90
- variable_tracking_array_access.f90
- variable_tracking_binary_ops.f90
- variable_tracking_complex_expr.f90
- variable_tracking_function_calls.f90
- variable_tracking_nested.f90
- variable_tracking_queries.f90
- variable_tracking_simple.f90
- variable_tracking_visitor.f90
- variable_usage_shadowed_block.f90
- main.f90
- allocate_inference_missing_declaration.lf
- api_basic_transform.lf
- api_complex_transform.lf
- api_function_transform.lf
- api_pipeline_do_loop_assignments.lf
- api_pipeline_three_assignments.lf
- api_type_inference.lf
- array_constructor.lf
- array_element_assignment.lf
- array_function_result.lf
- array_index_brackets_multi.lf
- array_index_brackets_simple.lf
- array_literal_integer.lf
- array_literal_mixed.lf
- array_literal_real.lf
- array_operations.lf
- array_slice_basic.lf
- array_slice_empty_bounds.lf
- array_slice_stride.lf
- array_slice_type_inference.lf
- array_stride_assignment.lf
- arrays.lf
- assignment_simple.lf
- assignment_with_prefix.lf
- basic_allocate_preservation.lf
- basic_function.lf
- boolean_assign_bare_false.lf
- boolean_assign_bare_true.lf
- boolean_assign_dot_false.lf
- boolean_assign_dot_true.lf
- chained_comparison.lf
- character_function_len.lf
- character_literal_assignment.lf
- complex_literal.lf
- debug_mixed_constructs.lf
- derived_type_end_field.lf
- derived_type_multiple_components.lf
- derived_type_nested.lf
- derived_type_simple.lf
- do_loop.lf
- docs_character_arrays.lf
- docs_character_length_inference.lf
- docs_fixed_length_reassignment.lf
- docs_mixed_type_operations.lf
- docs_string_concatenation.lf
- docs_type_validation_calculate.lf
- docs_unsigned_integers.lf
- docs_variable_length_strings.lf
- dp_predefined_symbol.lf
- error_complete_garbage.lf
- error_missing_then.lf
- explicit_program_array_inference.lf
- explicit_program_mixed_inference.lf
- explicit_program_scalar_inference.lf
- function_inference_basic.lf
- function_inference_reordered.lf
- function_param_memory_safety.lf
- function_parameter_integer_inference.lf
- function_simple.lf
- function_test.lf
- if_statement.lf
- implicit_do_print.lf
- intent_in_only_subroutine.lf
- intent_mixed_subroutine.lf
- intrinsic_dot_product.lf
- intrinsic_functions.lf
- intrinsic_sign.lf
- issue_0177_line_length_long_assignment.lf
- issue_0177_line_length_short_assignment.lf
- issue_1238_concatenation_addition_precedence.lf
- issue_1238_nested_expressions.lf
- issue_1238_parentheses_preservation.lf
- issue_1258_parameter_decls.lf
- issue_1260_subroutine_named_end.lf
- issue_1260_subroutine_no_name.lf
- issue_1330_missing_declarations.lf
- issue_1343_lazy_function.lf
- issue_1343_lazy_function_inference.lf
- issue_1354_nested_if.lf
- issue_1355_lazy_matrix.lf
- issue_1356_function_name.lf
- issue_1405_data_statement.lf
- issue_1406_namelist.lf
- issue_1407_character_function.lf
- issue_1408_module_visibility.lf
- issue_1410_pointer_null.lf
- issue_1411_generic_module.lf
- issue_1412_iso_only.lf
- issue_1413_array_function.lf
- issue_1414_implied_do.lf
- issue_1534_allocatable.lf
- issue_1534_multi_dimension_allocatable.lf
- issue_1534_single_dimension_allocatable.lf
- issue_1535_negative_literal.lf
- issue_1536_array_stride_assignment.lf
- issue_1537_cycle_exit.lf
- issue_1538_module_main.lf
- issue_1539_reshape.lf
- issue_1540_do_loop_procedure.lf
- issue_1545_complex_literal.lf
- issue_1547_scalar_allocatable.lf
- issue_1547_scalar_multiple_assignments.lf
- issue_1547_scalar_single_assignment.lf
- issue_1576_common_subroutine.lf
- issue_1622_import.lf
- issue_1775_intent_in_preserved.lf
- issue_1778_debug.lf
- issue_177_line_continuation.lf
- issue_1781_allocate_deallocate.lf
- issue_1781_deallocate_if_block.lf
- issue_1784_subroutine_wrapping.lf
- issue_1814_nested_lazy_function.lf
- issue_1816_multiple_return_values.lf
- issue_1816_multiple_returns.lf
- issue_1861_nested_do_print.lf
- issue_1883_intent_result.lf
- issue_1887_subroutine_param_type.lf
- issue_1890_lazy_function_return.lf
- issue_1893_module_result_intent.lf
- issue_1894_nested_calls.lf
- issue_1961_array_reduction_intrinsics.lf
- issue_1962_matmul_rank.lf
- issue_1963_debug_output.lf
- issue_1964_nested_function_calls.lf
- issue_1965_trim_concat.lf
- issue_1966_double_precision_expression.lf
- issue_1968_lazy_function_result.lf
- issue_1969_case_insensitive_variables.lf
- issue_1971_inquiry_intrinsics.lf
- issue_1972_do_if_hang.lf
- issue_1973_empty_typed_array_constructor.lf
- issue_2012_subroutine_local_not_inferred.lf
- issue_2016_nested_call_type_mismatch.lf
- issue_2019_statements_after_if_dropped.lf
- issue_2023_loop_variable_declaration.lf
- issue_2062_nested_do_missing_var_type_mismatch.lf
- issue_2063_deferred_char_function_syntax.lf
- issue_2064_logical_return_inferred_as_integer.lf
- issue_2066_array_function_rank_mismatch.lf
- issue_2067_implied_do_array_return_rank_mismatch.lf
- issue_2068_nested_function_type_inference_mismatch.lf
- issue_2069_allocate_inference_working.lf
- issue_2069_allocate_not_inferred_allocatable.lf
- issue_2071_function_param_string_inferred_as_real.lf
- issue_2072_pointer_not_declared.lf
- issue_2073_basic_cmplx.lf
- issue_2073_cmplx_abs.lf
- issue_2073_cmplx_aimag.lf
- issue_2073_cmplx_real.lf
- issue_2073_cmplx_result_not_inferred_complex.lf
- issue_2075_stop_keyword_collision_in_function_param.lf
- issue_2077_goto_drops_labeled_statements.lf
- issue_2106_missing_intent_monomorphization.lf
- issue_2110_array_param_hardcoded.lf
- issue_2111_recursive_missing_result.lf
- issue_2142_mono_wrong_return_types.lf
- issue_2145_intrinsic_return_type.lf
- issue_2147_mono_name_collision_wrong_types.lf
- issue_214_ambiguous.lf
- issue_214_comprehensive_precedence.lf
- issue_214_correct_precedence.lf
- issue_214_wrong_precedence.lf
- issue_2150_reshape_variable_vs_literal_shape.lf
- issue_2151_array_function_broken.lf
- issue_2153_array_call_scalar_param.lf
- issue_2159_chained_assignment_misparse.lf
- issue_215_unary_precedence.lf
- issue_2160_global_var_and_calls.lf
- issue_2163_character_substring_lengths.lf
- issue_2165_undeclared_argument.lf
- issue_2166_array_literal_allocatable.lf
- issue_216_comparison_chain.lf
- issue_2426_function_with_execution.lf
- issue_2563_dot_notation_member_access.lf
- issue_2588_bare_assignment.lf
- issue_2588_program_undeclared_assignment.lf
- issue_2594_allocatable_lhs_realloc.lf
- issue_2659_implicit_contains_pure_subroutine.lf
- issue_2691_implied_do_static_size_known.lf
- issue_2691_implied_do_static_size_unknown.lf
- issue_2694_strict_zero_iter_implied_do.lf
- issue_2694_strict_zero_sized_array_constructor.lf
- issue_2812_lazy_toplevel_function.lf
- issue_2815_ieee_arithmetic.lf
- issue_2816_walrus_declaration.lf
- issue_2816_walrus_redeclaration.lf
- issue_2820_dp_collision.lf
- issue_2820_dp_injection.lf
- issue_2820_infer_first_assignment.lf
- issue_2827_derived_constructor_inference.lf
- issue_2859_uppercase_executable.lf
- issue_2971_callsite_rename.lf
- issue_2980_binary_result.lf
- issue_2994_lazy_real_r64.lf
- issue_508_module_comment_main.lf
- issue_508_module_comment_multi.lf
- issue_509_mixed_constructs_input.lf
- issue_637_do_loop_complex_expressions.lf
- issue_637_do_loop_simple_literals.lf
- issue_637_do_loop_with_expressions.lf
- issue_637_do_loop_with_function_calls.lf
- issue_637_do_loop_with_variables.lf
- issue_652_multi_var_allocatable.lf
- issue_652_multi_var_init.lf
- issue_652_multi_var_simple.lf
- issue_935_allocate_param.lf
- issue_935_multidim_arrays.lf
- issue_935_param_dimension.lf
- issue_957_parameter_attributes.lf
- issue_allocatable_without_allocate.lf
- issue_array_slice_type_mismatch.lf
- issue_missing_intent_in_function.lf
- issue_missing_intent_inout_subroutine.lf
- issue_nested_internal_procedures.lf
- issue_playtest5_array_slices_allocatable.lf
- issue_playtest5_function_no_return_type.lf
- issue_playtest5_nested_function_chaos.lf
- issue_playtest5_print_after_loop_deleted.lf
- issue_playtest5_reshape_allocatable_never_allocated.lf
- issue_playtest5_subroutine_name_collision.lf
- issue_playtest5_where_scalar_not_array.lf
- logical_ops.lf
- matrix_literal_addition.lf
- module_boundary_debug.lf
- module_contains_suite.lf
- monomorphization_add_three_types.lf
- monomorphization_scale_subroutine.lf
- monomorphization_simple.lf
- namelist_weather.lf
- nested_function_calls_forward_ref.lf
- nested_loops.lf
- pointer_assignment_before_print.lf
- pointer_assignment_direct_print.lf
- pointer_assignment_print_then_assign.lf
- print_basic.lf
- read_statement.lf
- real_literal_kind_inference.lf
- reshape_integer_matrices.lf
- reshape_mixed_operations.lf
- reshape_real_matrix.lf
- select_case_character_results.lf
- string_concat.lf
- string_operations.lf
- string_transform_complex_expression.lf
- string_transform_concat.lf
- string_transform_control_flow.lf
- string_transform_hello.lf
- string_transform_multiple_statements.lf
- string_transform_non_character.lf
- test_209_all.lf
- test_209_complex.lf
- test_209_mixed.lf
- test_209_none.lf
- test_comprehensive_precedence.lf
- test_issue_214_ambiguous.lf
- test_issue_214_correct.lf
- test_issue_214_wrong.lf
- test_sem_arr.lf
- test_sem_ctor.lf
- test_sem_intrinsic.lf
- test_sem_mixed.lf
- test_sem_scope.lf
- test_std_concat.lf
- test_std_slice.lf
- test_subroutine_monomorphization.lf
- test_unary_precedence.lf
- undeclared_print_variable.lf
- analysis_only_examples.txt
- expected_diagnostics.txt
- expected_failures.txt
- README.md
- skip_all_examples.txt
- standard_fixtures_xfail.txt
- test_examples.sh
- debug_args.f90
- function_test.lf
- simple_test.lf
- stress_test.lf
- test_209_all.lf
- test_209_complex.lf
- test_209_mixed.lf
- test_209_none.lf
- test_495.f90
- test_arr_lit.lf
- test_arr_std.lf
- test_basic_arr.lf
- test_cg_arr.lf
- test_cg_complex.lf
- test_cg_concat.lf
- test_cg_do.lf
- test_cg_slice.lf
- test_comparison_associativity.lf
- test_comprehensive_precedence.lf
- test_concat.lf
- test_constructor.f90
- test_constructor.lf
- test_constructor_multi_vars.lf
- test_debug.f90
- test_debug_code.f90
- test_do_complex.f90
- test_do_expressions.f90
- test_do_function.f90
- test_do_issue_620.f90
- test_do_simple.f90
- test_do_variables.f90
- test_empty.lf
- test_empty_all.lf
- test_empty_basic.lf
- test_empty_edge.lf
- test_empty_multi.lf
- test_expr.lf
- test_expr_do.f90
- test_function_issue.lf
- test_issue_212.lf
- test_issue_214_ambiguous.lf
- test_issue_214_correct.lf
- test_issue_214_wrong.lf
- test_issue_508_comment.lf
- test_issue_508_multicomment.lf
- test_issue_508_nocomment.lf
- test_large.lf
- test_large_input.lf
- test_mixed.lf
- test_multi.lf
- test_multi_var_dims.lf
- test_sem_arr.lf
- test_sem_ctor.lf
- test_sem_intrinsic.lf
- test_sem_mixed.lf
- test_sem_scope.lf
- test_semicolons_complex.lf
- test_semicolons_mixed.lf
- test_semicolons_simple.lf
- test_simple_do.f90
- test_simple_undefined.f90
- test_slice.lf
- test_slice1.lf
- test_slice2.lf
- test_slice3.lf
- test_slice_debug.lf
- test_slice_std.lf
- test_std_arr.lf
- test_std_concat.lf
- test_std_do.lf
- test_std_slice.lf
- test_unary_precedence.lf
- test_var_do.f90
- fortfront_c.h
- fortfront_cpp.hpp
- final_test.err
- test1.err
- logo.svg
- __init__.py
- build.sh
- check_doc_links.py
- check_test_duplication.py
- check_test_duplication.sh
- corpus_rejection_gate.sh
- README.md
- reject_regression_check.sh
- run_frontend_conformance.sh
- run_gfortran_roundtrip.py
- test_check_test_duplication.py
- test_check_test_duplication.sh
- with_timeout.ps1
- with_timeout.sh
- call_graph.f90
- call_graph_builder_mod.f90
- call_graph_builder_postprocess_mod.f90
- call_graph_builder_state_mod.f90
- call_graph_constants_mod.f90
- call_graph_core_mod.f90
- call_graph_queries_mod.f90
- call_graph_signatures_mod.f90
- README.md
- variable_usage_control_handlers.f90
- variable_usage_core.f90
- variable_usage_dispatcher.f90
- variable_usage_expr_handlers.f90
- variable_usage_stmt_handlers.f90
- variable_usage_tracker.f90
- ast_arena_compat.f90
- ast_arena_core.f90
- ast_arena_modern.f90
- ast_arena_source_text.f90
- README.md
- ast_factory.f90
- ast_factory_arrays.f90
- ast_factory_control.f90
- ast_factory_control_part1.inc
- ast_factory_control_part2.inc
- ast_factory_core.f90
- ast_factory_declarations.f90
- ast_factory_errors.f90
- ast_factory_expressions.f90
- ast_factory_generics.f90
- ast_factory_io.f90
- ast_factory_procedures.f90
- ast_factory_statements.f90
- README.md
- ast_nodes_array.f90
- ast_nodes_associate.f90
- ast_nodes_bounds.f90
- ast_nodes_conditional.f90
- ast_nodes_control.f90
- ast_nodes_core.f90
- ast_nodes_data.f90
- ast_nodes_generics.f90
- ast_nodes_io.f90
- ast_nodes_legacy.f90
- ast_nodes_loops.f90
- ast_nodes_misc.f90
- ast_nodes_misc_part1.inc
- ast_nodes_misc_part2.inc
- ast_nodes_procedure.f90
- ast_nodes_transfer.f90
- README.md
- ast_traversal.f90
- ast_traversal_core.f90
- ast_traversal_gather.f90
- ast_traversal_predicates.f90
- ast_traversal_visit.f90
- ast_visitor.f90
- README.md
- ast_base.f90
- ast_error_nodes.f90
- ast_introspection.f90
- ast_subtree_clone.f90
- ast_traversal_utils.f90
- ast_types.f90
- README.md
- codegen_api.f90
- codegen_core.f90
- codegen_indent.f90
- README.md
- codegen_arena_interface.f90
- codegen_arena_utils.f90
- README.md
- codegen_declaration_grouping.f90
- codegen_declarations.f90
- codegen_declarations_core.f90
- codegen_declarations_inference.f90
- codegen_function_declarations.f90
- codegen_function_declarations_part1.inc
- codegen_function_declarations_part2.inc
- codegen_generics.f90
- codegen_module_generation.f90
- codegen_parameter_info.f90
- codegen_parameter_mapping.f90
- codegen_procedure_shared.f90
- codegen_program_decl_utils.f90
- codegen_subroutine_declarations.f90
- codegen_type_inference_utils.f90
- codegen_type_utils.f90
- README.md
- codegen_expressions.f90
- codegen_expressions_part1.inc
- codegen_expressions_part2.inc
- README.md
- codegen_grouped_body.f90
- codegen_grouped_body_params.f90
- codegen_grouped_body_params_helpers.f90
- codegen_program_body.f90
- codegen_program_generation.f90
- codegen_program_header.f90
- codegen_program_variables.f90
- codegen_program_variables_analysis.inc
- codegen_program_variables_collect.inc
- codegen_program_variables_emit.inc
- README.md
- codegen_control_flow.f90
- codegen_loop_vars_mod.f90
- codegen_statements.f90
- codegen_statements_part1.inc
- codegen_statements_part2.inc
- README.md
- codegen_basic_utils.f90
- codegen_character_normalization.f90
- codegen_character_types.f90
- codegen_entry_utils.f90
- codegen_import_reorder.f90
- codegen_name_mangling.f90
- README.md
- README.md
- declaration_attribute_utils.f90
- fortfront_constants.f90
- identifier_table.f90
- README.md
- uid_generator.f90
- cst_nodes.f90
- cst_trivia_query.f90
- README.md
- frontend_analysis_helpers.f90
- frontend_compiler_api.f90
- frontend_compiler_branch_queries.f90
- frontend_compiler_control_queries.f90
- frontend_compiler_diagnostics.f90
- frontend_compiler_io_queries.f90
- frontend_compiler_node_queries.f90
- frontend_compiler_queries.f90
- frontend_compiler_resolution.f90
- frontend_compiler_select_type_queries.f90
- frontend_compiler_type_queries.f90
- frontend_diagnostics.f90
- frontend_final_passes.f90
- frontend_location_validation.f90
- frontend_mixed_constructs.f90
- frontend_pass_manager.f90
- frontend_program_builders.f90
- frontend_program_structure.f90
- frontend_program_unit_detection.f90
- frontend_program_unit_scanner.f90
- frontend_program_unit_scanner_part1.inc
- frontend_program_unit_scanner_part2.inc
- frontend_program_unit_scanner_part3.inc
- frontend_program_units.f90
- frontend_statement_boundary.f90
- frontend_statement_contains_section.f90
- frontend_statement_contains_section_helpers.f90
- frontend_statement_contains_section_helpers_impl.f90
- frontend_statement_processing.f90
- frontend_statement_spec_section.f90
- frontend_statement_token_parsing.f90
- frontend_token_normalization.f90
- frontend_tooling_api.f90
- frontend_transformation_analysis.f90
- frontend_transformation_common.f90
- frontend_transformation_pipeline.f90
- frontend_transformation_pipeline_helpers.inc
- frontend_transformation_semantics.f90
- frontend_transformation_structure.f90
- frontend_transformation_structure.inc
- README.md
- fortfront_c_interface.f90
- README.md
- lexer_api.f90
- lexer_core.f90
- lexer_scanners.f90
- lexer_token_types.f90
- README.md
- source_bom.f90
- arena_memory.f90
- compiler_arena.f90
- README.md
- parser_arithmetic_if.f90
- parser_control_flow.f90
- parser_control_flow_router.f90
- parser_control_statements.f90
- parser_do_concurrent_locality.f90
- parser_do_constructs.f90
- parser_do_constructs_part1.inc
- parser_do_constructs_part2.inc
- parser_forall.f90
- parser_if_body.f90
- parser_if_constructs.f90
- parser_if_inline.f90
- parser_if_statements.f90
- parser_select_constructs.f90
- parser_select_constructs_case.inc
- parser_select_constructs_helpers.inc
- parser_select_constructs_rank.inc
- parser_select_constructs_type.inc
- README.md
- ensure_forall_array_registration_bridge.f90
- ensure_if_do_registration_bridge.f90
- mixed_construct_detector.f90
- parser_api.f90
- parser_construct_terminators.f90
- parser_dispatcher.f90
- parser_dispatcher_part1.inc
- parser_dispatcher_part2.inc
- parser_implicit_shared.f90
- parser_import_resolution.f90
- parser_inline_instantiation.f90
- parser_state.f90
- parser_statement_placement.f90
- parser_token_views.f90
- parser_utilities.f90
- parser_utils.f90
- README.md
- url_utilities.f90
- parser_allocatable_statements_module.f90
- parser_block_data.f90
- parser_declaration_attributes_module.f90
- parser_declarations.f90
- parser_declarations_construction_module.f90
- parser_declarations_core_module.f90
- parser_declarations_derived_module.f90
- parser_declarations_multi_module.f90
- parser_declarations_type_spec_module.f90
- parser_declarations_type_spec_support_module.f90
- parser_definition_statements.f90
- parser_dimension_statements_module.f90
- parser_enum_statement.f90
- parser_implicit_letter_specs.f90
- parser_instantiate_statement.f90
- parser_interface_block_headers_module.f90
- parser_interface_blocks.f90
- parser_interface_import_module.f90
- parser_interface_module_procedures_module.f90
- parser_interface_prefix_module.f90
- parser_module_structures.f90
- parser_parameter_handling.f90
- parser_parameter_statements_module.f90
- parser_submodule_helpers.f90
- parser_submodule_placement.f90
- parser_submodule_structures.f90
- parser_template_blocks.f90
- parser_type_definitions.f90
- parser_type_hooks.f90
- parser_type_spec_attributes_mod.f90
- parser_type_spec_result_mod.f90
- parser_type_spec_tokens_mod.f90
- parser_type_specifications.f90
- parser_value_statements_module.f90
- README.md
- parser_array_constructs.f90
- parser_assignment.f90
- parser_assignment_shared.f90
- parser_expression_arrays.f90
- parser_expression_helpers.f90
- parser_expression_operator_utils.f90
- parser_expression_stacks.f90
- parser_expression_tokens.f90
- parser_expressions.f90
- parser_namelist_shared.f90
- README.md
- parser_block_statement_utils.f90
- parser_call.f90
- parser_prefix_buffer.f90
- parser_procedure_definition_bodies.f90
- parser_procedure_definitions.f90
- parser_procedure_shared.f90
- parser_procedure_signatures.f90
- parser_result_types.f90
- README.md
- parser_basic_statement_module.f90
- parser_common_statement.f90
- parser_execution_statements.f90
- parser_execution_statements_module.inc
- parser_external_statements.f90
- parser_intrinsic_statements.f90
- parser_io_specifiers.f90
- parser_io_statements.f90
- parser_io_statements_common.inc
- parser_io_statements_parsers.inc
- parser_keyword_disambiguation.f90
- parser_label_validation.f90
- parser_legacy_statements.f90
- parser_memory_statements.f90
- parser_statement_callbacks.f90
- parser_statement_core.f90
- parser_statement_data_module.f90
- parser_statement_detection.f90
- parser_statement_utilities.f90
- parser_trailing_comment.f90
- README.md
- README.md
- base_analyzer.f90
- README.md
- semantic_abstract_validation.f90
- semantic_analyzer.f90
- semantic_analyzer_base.f90
- semantic_analyzer_context_impl.f90
- semantic_analyzer_infer_helpers.f90
- semantic_analyzer_infer_impl.f90
- semantic_analyzer_infer_impl_part1.inc
- semantic_analyzer_infer_impl_part2.inc
- semantic_analyzer_infer_impl_part3.inc
- semantic_analyzer_infer_type_locals_part1.inc
- semantic_analyzer_infer_type_locals_part2.inc
- semantic_analyzer_infer_type_locals_part3.inc
- semantic_analyzer_type_ops_impl.f90
- semantic_annotation_utils.f90
- semantic_array_intrinsics.f90
- semantic_array_literal.f90
- semantic_array_slice.f90
- semantic_array_type_builders.f90
- semantic_assignment_inference.f90
- semantic_binary_operations.f90
- semantic_binary_ops_core.f90
- semantic_bind_c_validation.f90
- semantic_call_signature_checker.f90
- semantic_call_signature_collector.f90
- semantic_call_signature_scopes.f90
- semantic_constant_values.f90
- semantic_declaration_utils.f90
- semantic_derived_type_reference_validation.f90
- semantic_elemental_validation.f90
- semantic_enum_validation.f90
- semantic_explicit_interface_checker.f90
- semantic_expression_context.f90
- semantic_external_declaration_names.f90
- semantic_final_validation.f90
- semantic_function_analysis.f90
- semantic_function_call.f90
- semantic_function_helpers.f90
- semantic_function_inference.f90
- semantic_identifier_context.f90
- semantic_implied_do_validation.f90
- semantic_interface_declaration_validation.f90
- semantic_lazy_module_generic_validation.f90
- semantic_literal_form_validation.f90
- semantic_literal_identifier.f90
- semantic_literal_type_helpers.f90
- semantic_local_name_collision_validation.f90
- semantic_parameter_analysis.f90
- semantic_placement_validation.f90
- semantic_procedure_signature.f90
- semantic_procedure_utils.f90
- semantic_pure_dummy_validation.f90
- semantic_pure_validation.f90
- semantic_scope_creation.f90
- semantic_strict_argument_type_checker.f90
- semantic_strict_argument_type_checker_resolution.f90
- semantic_strict_argument_type_checker_scope_utils.f90
- semantic_strict_argument_type_checker_types.f90
- semantic_strict_argument_type_checker_validation.f90
- semantic_submodule_validation.f90
- semantic_subroutine_analysis.f90
- semantic_tbp_override_result.f90
- semantic_tbp_override_validation.f90
- semantic_type_context.f90
- semantic_type_hierarchy_validation.f90
- semantic_type_operations.f90
- semantic_undefined_variable_checker.f90
- semantic_use_export_validation.f90
- semantic_use_nature_validation.f90
- semantic_validation_utils.f90
- semantic_walrus_checker.f90
- semantic_where_validation.f90
- README.md
- semantic_context_types.f90
- semantic_result_types.f90
- type_array_safe.f90
- type_constants.f90
- type_system_arena.f90
- type_system_unified.f90
- type_system_unified_part1.inc
- type_system_unified_part2.inc
- constant_transformation.f90
- README.md
- scope_manager.f90
- semantic_api.f90
- semantic_inference_helpers.f90
- semantic_input_mode.f90
- semantic_operating_mode.f90
- semantic_unsigned_integer_mix_diagnostics.f90
- symbol_table_api.f90
- type_hierarchy.f90
- ast_monomorphization.f90
- ast_monomorphization_part1.inc
- ast_monomorphization_part2.inc
- ast_monomorphization_part3.inc
- README.md
- standardizer.f90
- standardizer_allocatable.f90
- standardizer_core.f90
- standardizer_declarations.f90
- standardizer_declarations_array.f90
- standardizer_declarations_collection.f90
- standardizer_declarations_core.f90
- standardizer_declarations_inference.f90
- standardizer_declarations_insertion.f90
- standardizer_declarations_parsing.f90
- standardizer_declarations_state.f90
- standardizer_declarations_variables.f90
- standardizer_driver.f90
- standardizer_function.f90
- standardizer_function_param_scanner.f90
- standardizer_function_parameter_builders.f90
- standardizer_function_parameters.f90
- standardizer_function_result_utils.f90
- standardizer_interface_utils.f90
- standardizer_module.f90
- standardizer_parameter.f90
- standardizer_pointer_targets.f90
- standardizer_program.f90
- standardizer_subprograms.f90
- standardizer_subroutine.f90
- standardizer_subroutine_intent.f90
- standardizer_types.f90
- standardizer_types_part1.inc
- standardizer_types_part2.inc
- standardizer_wrapping.f90
- cli_env.f90
- debug_trace.f90
- fortfront_node_constants.f90
- fortfront_utils.f90
- frontend_utilities.f90
- generic_spec_names.f90
- ieee_intrinsic_module.f90
- input_validation.f90
- input_validation_part1.inc
- input_validation_part2.inc
- intrinsic_registry.f90
- path_validation.f90
- procedure_classification.f90
- process_exit.f90
- README.md
- stdout_sanitizer.c
- stdout_sanitizer.f90
- string_builder.f90
- string_types.f90
- string_utils.f90
- type_string_utils.f90
- error_api.f90
- error_handling.f90
- error_reporting.f90
- fortfront.f90
- fortfront_ast.f90
- fortfront_compiler.f90
- fortfront_lexer.f90
- fortfront_semantic.f90
- fortfront_tooling.f90
- fortfront_transform.f90
- fortfront_types.f90
- frontend_core.f90
- frontend_parsing.f90
- frontend_transformation.f90
- README.md
- semantic_analyzer_nvfortran_wrappers.f90
- transformation_api.f90
- variable_collection.f90
- test_call_graph_consolidation.f90
- test_call_graph_queries.f90
- test_dummy_argument_tracking.f90
- test_edge_cases_identifiers.f90
- test_get_identifiers_issue.f90
- test_issue_104_exact.f90
- test_print_variable_tracking.f90
- test_variable_usage_block_construct.f90
- test_variable_usage_scoped_shadowing.f90
- test_variable_usage_tracker.f90
- test_variable_usage_tracker_helpers.f90
- test_abstract_binding_hierarchy_facts.f90
- test_abstract_dispatch_depth_query.f90
- test_abstract_dispatch_provenance_query.f90
- test_abstract_dispatch_runtime_boundary.f90
- test_abstract_dispatch_target_query.f90
- test_abstract_select_type_dispatch_contract.f90
- test_abstract_select_type_function_dispatch.f90
- test_accept_semantic_2951_valid_sources.f90
- test_allocation_ownership_query.f90
- test_associate_selector_facts.f90
- test_ast_structure_no_json.f90
- test_ast_traversal.f90
- test_ast_traversal_simple.f90
- test_bare_end_contained_procedures.f90
- test_binding_hierarchy_query.f90
- test_call_argument_contract.f90
- test_call_argument_mapping.f90
- test_compiler_binary_op_queries.f90
- test_compiler_call_queries.f90
- test_compiler_expression_queries.f90
- test_compiler_identifier_queries.f90
- test_compiler_literal_queries.f90
- test_compiler_node_queries.f90
- test_compiler_program_unit_queries.f90
- test_compiler_resolved_type_query.f90
- test_compiler_scope_resolution.f90
- test_compiler_statement_queries.f90
- test_component_storage_facts.f90
- test_component_storage_query.f90
- test_component_storage_rank2.f90
- test_cst_trivia_query.f90
- test_defined_operator_query.f90
- test_defined_operator_query_boundary.f90
- test_error_api.f90
- test_error_reporting_optional_context.f90
- test_explicit_receiver_component_path.f90
- test_fortfront_api_arena.f90
- test_fortfront_api_codegen.f90
- test_fortfront_api_integration.f90
- test_fortfront_api_lexical.f90
- test_fortfront_api_parsing.f90
- test_fortfront_api_transform.f90
- test_fortfront_component_access_query.f90
- test_frontend_compiler_api.f90
- test_frontend_tooling_api.f90
- test_function_parameters_parsing.f90
- test_generic_resolution_query.f90
- test_initializer_override_flags.f90
- test_inline_instantiation_caret.f90
- test_interface_procedure_reference.f90
- test_intrinsic_coverage.f90
- test_intrinsic_identification.f90
- test_intrinsic_simple.f90
- test_issue_1968_array_dimension_api.f90
- test_issue_256_incomplete_expression.f90
- test_issue_2810_api_monomorphization.f90
- test_issue_2829_diagnostics.f90
- test_issue_2924_corpus_accepted_forms.f90
- test_issue_2942_kind_suffix_literals.f90
- test_issue_2958_monomorph_body_binding.f90
- test_issue_2993_implicit_none_diagnostics.f90
- test_layered_facade_modules.f90
- test_lfortran_template_instantiation_parsing.f90
- test_lfortran_traits_requirements_implements_parsing.f90
- test_node_position_api.f90
- test_node_type_identification.f90
- test_owned_array_class_is_binding.f90
- test_owned_array_class_is_dispatch.f90
- test_owned_array_class_is_explicit_pass.f90
- test_owned_array_class_is_generic_dispatch.f90
- test_owned_array_class_is_identity.f90
- test_ownership_deep_assignment.f90
- test_ownership_dispatch_metadata.f90
- test_ownership_dynamic_identity.f90
- test_ownership_event_sequence.f90
- test_ownership_lifetime_facts.f90
- test_ownership_reallocation_facts.f90
- test_polymorphic_allocation_facts.f90
- test_polymorphic_array_storage_query.f90
- test_polymorphic_array_type_bound_call.f90
- test_polymorphic_assignment_replay.f90
- test_procedure_actual_interface_query.f90
- test_procedure_actual_mapping_query.f90
- test_procedure_call_target_query.f90
- test_procedure_callback_flow.f90
- test_procedure_callback_missing_assignment.f90
- test_procedure_callback_signature_query.f90
- test_procedure_pointer_state_boundaries.f90
- test_procedure_pointer_state_query.f90
- test_procedure_reassignment_query.f90
- test_procedure_reassignment_refusal.f90
- test_procedure_target_query.f90
- test_reject_2987_proc_ptr_pdt_diagnostics.f90
- test_reject_attr_01_diagnostics.f90
- test_reject_bind_01_diagnostics.f90
- test_reject_bind_02_diagnostics.f90
- test_reject_call_01_diagnostics.f90
- test_reject_do_concurrent_01_diagnostics.f90
- test_reject_end_01_diagnostics.f90
- test_reject_end_01_interface_spec.f90
- test_reject_enum_01_diagnostics.f90
- test_reject_interface_01_diagnostics.f90
- test_reject_iterator_01_diagnostics.f90
- test_reject_label_01_diagnostics.f90
- test_reject_lex_01_diagnostics.f90
- test_reject_literal_01_diagnostics.f90
- test_reject_placement_01_diagnostics.f90
- test_reject_purity_01_diagnostics.f90
- test_reject_scope_01_diagnostics.f90
- test_reject_scope_02_diagnostics.f90
- test_reject_scope_and_procedure_01_diagnostics.f90
- test_reject_submodule_01_diagnostics.f90
- test_reject_tbp_01_diagnostics.f90
- test_reject_trailing_tokens_01_diagnostics.f90
- test_reject_type_syntax_01_diagnostics.f90
- test_reject_use_01_diagnostics.f90
- test_reject_value_scope_01_diagnostics.f90
- test_select_rank_bounds.f90
- test_select_rank_facts.f90
- test_select_type_arm_facts.f90
- test_select_type_associate_facts.f90
- test_select_type_branch_facts.f90
- test_select_type_component_binding.f90
- test_select_type_component_dispatch.f90
- test_select_type_component_generic_dispatch.f90
- test_select_type_component_path.f90
- test_select_type_dispatch_facts.f90
- test_select_type_generic_dispatch.f90
- test_select_type_generic_pass_query.f90
- test_select_type_real8_expression_query.f90
- test_source_text_retrieval_api.f90
- test_symbol_table_api.f90
- test_tapenade_v290_component_metadata.f90
- test_tooling_computed_goto.f90
- test_trivia_public_contract.f90
- test_type_bound_call_query.f90
- test_type_bound_dispatch_signature.f90
- test_type_bound_generic_dispatch_query.f90
- test_type_bound_nested_receiver_query.f90
- test_unbalanced_inline_instantiation_diagnostics.f90
- ast_operations.f90
- ast_visitor_base.f90
- test_arena_deep_copy.f90
- test_ast_arena_container.f90
- test_ast_arena_modern.f90
- test_ast_arena_per_node_freeing.f90
- test_ast_base_coverage.f90
- test_ast_factory_direct.f90
- test_ast_introspection_complete_coverage.f90
- test_ast_introspection_coverage.f90
- test_ast_introspection_final_coverage.f90
- test_ast_parent_indices.f90
- test_ast_per_node_freeing.f90
- test_ast_semantic_introspection.f90
- test_ast_traversal_utils.f90
- test_ast_traversal_utils_helpers.f90
- test_block_boundaries_sibling_relationships.f90
- test_destructor_segfault.f90
- test_procedure_assignment_clears_allocatables.f90
- test_procedure_interface_consistency.f90
- test_range_subscript_core.f90
- test_semantic_preservation.f90
- test_type_binding_node.f90
- test_where_forall_coverage.f90
- test_where_forall_validation.f90
- test_build_system_integration.f90
- test_library_excludes_test_modules.f90
- test_module_distribution.f90
- test_cli_empty_input.f90
- test_cli_long_line.f90
- test_cli_preprocessed_roundtrip.f90
- test_cli_stdout_sanitize.f90
- test_cli_env.f90
- test_cli_trace_options.f90
- test_arena_generator_init_guard.f90
- test_array_assignment_basic.f90
- test_array_indexing_brackets.f90
- test_array_slicing_codegen.f90
- test_basic_allocate_codegen.f90
- test_basic_function_inference.f90
- test_boolean_literal_type_inference.f90
- test_boolean_precedence.f90
- test_character_literal_type_inference.f90
- test_codegen_core_comprehensive.f90
- test_codegen_core_direct.f90
- test_codegen_generics_named_blocks.f90
- test_codegen_green.f90
- test_codegen_indent_direct.f90
- test_derived_type_extends_codegen.f90
- test_direct_multi_var.f90
- test_do_loop_issue_620.f90
- test_equivalence_common_block.f90
- test_extends_with_attributes.f90
- test_function_parameter_integer_inference.f90
- test_function_prefix_keywords.f90
- test_implicit_none_dedup.f90
- test_issue_1350_recursive_keyword.f90
- test_issue_1386_string_concatenation.f90
- test_issue_1392_output_unit_use.f90
- test_issue_1405_data_statement.f90
- test_issue_1406_namelist.f90
- test_issue_1407_character_function.f90
- test_issue_1412_use_intrinsic.f90
- test_issue_1413_array_function_result.f90
- test_issue_1534_allocatable_deferred_shape.f90
- test_issue_1536_array_stride_assignment.f90
- test_issue_1545_complex_literal.f90
- test_issue_1547_scalar_allocatable.f90
- test_issue_1570_pure_elemental.f90
- test_issue_1571_use_associated_external.f90
- test_issue_1574_intrinsic_external.f90
- test_issue_1579_complex_assignment.f90
- test_issue_1581_format_write.f90
- test_issue_1739_program_prefixes.f90
- test_issue_1746_data_repeat_counts.f90
- test_issue_177_line_continuation.f90
- test_issue_1809_implicit_none_type.f90
- test_issue_1811_cmplx_intrinsic.f90
- test_issue_1825_import_host_variable.f90
- test_issue_1895_use_interface_external.f90
- test_issue_1899_data_multi_objects.f90
- test_issue_1899_data_scalars.f90
- test_issue_1902_intrinsic_statement.f90
- test_issue_1971_inquiry_intrinsics.f90
- test_issue_2014_elemental_only.f90
- test_issue_2078_include_statement.f90
- test_issue_2107_common_block_ordering.f90
- test_issue_2110_array_param_assumed_shape.f90
- test_issue_2251_data_implied_do.f90
- test_issue_2252_data_value_implied_do.f90
- test_issue_2290_recursive_interface.f90
- test_issue_2462_line_continuation_token_boundaries.f90
- test_issue_2494_line_continuation_strings.f90
- test_issue_2497_include_line_standalone.f90
- test_issue_2846_trailing_comments.f90
- test_issue_2846_trailing_comments_control_flow.f90
- test_issue_2865_control_flow_trailing_comments.f90
- test_issue_321_module_with_implicit_main.f90
- test_issue_498_write_statements.f90
- test_issue_4_duplicate_program.f90
- test_issue_509_mixed_constructs_single_program.f90
- test_issue_6_assignment_codegen.f90
- test_merge_intent_fix.f90
- test_nested_array_reshape.f90
- test_operator_spacing_consistency.f90
- test_print_codegen.f90
- test_real_literal_kind_inference.f90
- test_select_case_codegen.f90
- test_type_bound_procedures_codegen.f90
- test_where_forall_codegen.f90
- cli_system_tests.inc
- filesystem_helpers.inc
- read_example.inc
- README.md
- shell_commands.inc
- test_ast_uid_integration.f90
- test_command_helpers.inc
- test_debug_uid.f90
- test_simple_uid.f90
- test_uid_generator.f90
- frontend_xfail_gfortran_dg.txt
- frontend_xfail_lfortran.txt
- test_error_injection_framework.f90
- test_error_stop_conversion.f90
- test_production_robustness_validation.f90
- test_result
- test_result_handling_foundation.f90
- test_enhanced_error_messages.f90
- test_issue_1049_incomplete_func.f90
- test_issue_1814_nested_lazy_function.f90
- test_issue_256_specific_cases.f90
- test_issue_259_input_validation_refinement.f90
- test_validation_regression_fix.f90
- corpus_rejection_baseline.tsv
- equivalence_basic.f90
- test_binary_input_rejection.f90
- test_crlf_tokenization.f90
- test_ctrl_z_acceptance.f90
- test_frontend_analysis_cycle_guard.f90
- test_issue_1094_preprocessing_stress.f90
- test_issue_1112_if_else_single_line.f90
- test_issue_1112_if_elseif_single_line.f90
- test_issue_1349_select_case.f90
- test_issue_1352_optional_if.f90
- test_issue_1353_program_derived_type.f90
- test_issue_1355_lazy_matrix.f90
- test_issue_1409_use_rename.f90
- test_issue_1410_pointer_initialization.f90
- test_issue_1414_implied_do.f90
- test_issue_1573_pointer_assignment_lost.f90
- test_issue_1580_dimension_statement.f90
- test_issue_1707_derived_type_end.f90
- test_issue_1972_do_if_hang.f90
- test_issue_843_basic_assignment_prefix.f90
- test_program_unit_detection.f90
- test_real_type_standardization.f90
- test_string_transformation.f90
- test_utf8_bom_acceptance.f90
- test_utf8_comment_acceptance.f90
- test_array_features_pipeline.f90
- test_array_literal_type_preservation.f90
- test_array_specifications.f90
- test_nested_array_inference.f90
- readme_file_utils.f90
- test_close_in_control_flow.f90
- test_cycle_exit.f90
- test_deferred_strings.f90
- test_function_param_memory_safety.f90
- test_implied_do_constructor.f90
- test_intent_attribute.f90
- test_intrinsic_functions.f90
- test_io_statements.f90
- test_lazy_standard_fortran.f90
- test_optional_params.f90
- test_optional_polymorphic.f90
- test_parser_fix.f90
- test_path_validation.f90
- test_readme_links.f90
- test_readme_quality.f90
- test_simple_if_else.f90
- test_simplified_arena.f90
- test_standardizer_debug.f90
- test_stop_return_statements.f90
- test_strict_allocatable_lhs_reallocation.f90
- test_strict_allocatable_lhs_reallocation_implied_do.f90
- test_strict_call_argument_type_scope_lookup.f90
- test_strict_call_argument_type_validation.f90
- test_strict_explicit_interface_requirement.f90
- test_strict_infer_mode_selection.f90
- test_string_handling.f90
- test_string_intrinsics.f90
- test_tooling_passthrough.f90
- test_where_construct.f90
- test_windows_memory_safe.f90
- test_abstract_types.f90
- test_implied_do_loops.f90
- test_arithmetic_if_transformation.f90
- test_issue_1093_function_result_inference.f90
- test_issue_1221_explicit_program_type_inference.f90
- test_issue_1238_operator_precedence_fix.f90
- test_issue_1330_missing_declarations.f90
- test_issue_1343_lazy_function_inference.f90
- test_issue_1344_character_length.f90
- test_issue_1356_function_name.f90
- test_issue_1546_goto_label.f90
- test_issue_1568_where_lazy_syntax.f90
- test_issue_1572_namelist.f90
- test_issue_1575_implied_do_array_constructor.f90
- test_issue_1576_common_subroutine.f90
- test_issue_1578_block_data.f90
- test_issue_1582_simple_goto.f90
- test_issue_1583_computed_goto.f90
- test_issue_1610_recursive_pointers.f90
- test_issue_1614_character_assumed_length.f90
- test_issue_1617_1618_default_init.f90
- test_issue_1621_intent_out_shape_inference.f90
- test_issue_1692_select_case_open_range.f90
- test_issue_1696_stop_statements.f90
- test_issue_1703_lazy_matrices.f90
- test_issue_1709_external_separate.f90
- test_issue_1711_implicit_range.f90
- test_issue_1735_result_type.f90
- test_issue_1738_derived_type_allocatable.f90
- test_issue_1741_array_constructor_type_spec.f90
- test_issue_1743_namelist.f90
- test_issue_1745_equivalence.f90
- test_issue_1747_where_elsewhere.f90
- test_issue_1748_legacy_implied_do.f90
- test_issue_1775_intent_in_preserved.f90
- test_issue_1777_negative_stride.f90
- test_issue_1778_debug.f90
- test_issue_1778_simple.f90
- test_issue_1779_block_construct.f90
- test_issue_177_line_length_fix.f90
- test_issue_1781_deallocate_preserved.f90
- test_issue_1782_procedure_pointer.f90
- test_issue_1785_list_directed_read.f90
- test_issue_1786_stop_preservation.f90
- test_issue_1810_parameter_array_allocatable.f90
- test_issue_1812_custom_array_bounds.f90
- test_issue_1813_matrix_ops.f90
- test_issue_1815_string_array_char_lengths.f90
- test_issue_1816_multiple_returns.f90
- test_issue_1818_assumed_size_array.f90
- test_issue_1822_asynchronous_attribute.f90
- test_issue_1824_volatile_attribute.f90
- test_issue_1858_implicit_do_print.f90
- test_issue_1890_lazy_function_return.f90
- test_issue_1897_typed_array_constructor.f90
- test_issue_1898_implicit_multi_spec.f90
- test_issue_1900_block_data_after_program.f90
- test_issue_1900_block_data_labels.f90
- test_issue_1963_debug_output.f90
- test_issue_1964_nested_function_calls.f90
- test_issue_1966_double_precision_inference.f90
- test_issue_1970_implied_do_array_constructor.f90
- test_issue_1973_empty_typed_array_constructor.f90
- test_issue_2010_deferred_char_allocatable.f90
- test_issue_2013_nested_implied_do.f90
- test_issue_2019_statements_after_if_dropped.f90
- test_issue_2024_char_function_duplicate_and_missing.f90
- test_issue_203_simple.f90
- test_issue_2064_logical_return_inferred_as_integer.f90
- test_issue_2067_implied_do_allocatable.f90
- test_issue_2072_pointer_not_declared.f90
- test_issue_2074_arithmetic_if.f90
- test_issue_2075_stop_keyword_collision.f90
- test_issue_2077_goto_labeled_statements.f90
- test_issue_212_exponentiation_precedence.f90
- test_issue_2147_mono_name_collision.f90
- test_issue_214_string_concatenation_precedence.f90
- test_issue_2151_array_function_broken.f90
- test_issue_2153_array_call_scalar_param.f90
- test_issue_2154_do_loop_with_exit_cycle.f90
- test_issue_2160_global_var_and_calls.f90
- test_issue_2163_character_substring_lengths.f90
- test_issue_2236_optional_assumed_rank.f90
- test_issue_2271_identifier_goto.f90
- test_issue_2272_identifier_call.f90
- test_issue_2281_header_only_declarations.f90
- test_issue_2282_external_subroutine.f90
- test_issue_2284_interface_only_blocks.f90
- test_issue_2388_contains_preserved.f90
- test_issue_2445_implicit_main_with_type_contains_roundtrip.f90
- test_issue_2493_char_array_constructor.f90
- test_issue_2563_dot_notation_member_access.f90
- test_issue_2694_strict_zero_sized_array_literals.f90
- test_issue_2819_implied_do_locality.f90
- test_issue_2836_io_statement_forms.f90
- test_issue_653_semicolon_parsing.f90
- test_issue_835_semicolon_program_unit.f90
- test_issue_935_parameter_arrays.f90
- test_issue_960_operator_precedence.f90
- test_nullify_statement.f90
- test_pause_statement.f90
- test_module_implicit_none_insertion.f90
- test_module_implicit_rules_preserved.f90
- test_module_parsing_basic.f90
- test_module_procedures.f90
- test_monomorphization_simple.f90
- test_monomorphization_subroutine.f90
- test_monomorphization_three_types.f90
- test_advanced_type_inference.f90
- test_parameter_attributes_simple.f90
- test_parameter_constants.f90
- test_all_examples_slow.f90
- test_cmplx_intrinsic_inference.f90
- test_complex_assignment.f90
- test_complex_literals.f90
- test_example_lists.f90
- test_module_discovery.f90
- test_roundtrip_core.f90
- test_standard_fixtures.f90.disabled
- test_intrinsic_parser.f90
- test_intrinsic_registry.f90
- test_io_control_specifiers.f90
- test_issue_1968_lazy_function.f90
- test_issue_2659_implicit_contains_pure_subroutine.f90
- test_issue_2941_nested_derived_component.f90
- test_frontend_lexer_api.f90
- test_frontend_lexer_edge_cases.f90
- test_frontend_lexer_keywords.f90
- test_frontend_lexer_numbers.f90
- test_frontend_lexer_operators.f90
- test_issue_2943_bom_source.f90
- test_lexer
- test_lexer_direct.f90
- test_logical_literal_kind_suffix.f90
- test_arena_memory.f90
- test_base_arena_interface.f90
- test_compiler_arena.f90
- parser_statements.f90
- debug_mixed_constructs.f90
- test_arithmetic_if_detection.f90
- test_associate_nested_select_case.f90
- test_chained_assignment_parsing.f90
- test_control_flow_keywords.f90
- test_control_flow_router_nested.f90
- test_data_keyword_variable.f90
- test_declaration_attribute_parser.f90
- test_declaration_bind_c.f90
- test_derived_type_component_scope.f90
- test_derived_type_extends.f90
- test_derived_type_specifier_ast.f90
- test_do_concurrent_issue_1828.f90
- test_do_concurrent_preservation_issue_1852.f90
- test_do_concurrent_type_spec_issue_2849.f90
- test_do_loop_array_assignment.f90
- test_do_loop_codegen_issue.f90
- test_do_loop_issue_637.f90
- test_do_while_leading_trivia.f90
- test_do_while_nested_constructs.f90
- test_expression_iterative.f90
- test_f2003_abstract_interface.f90
- test_f2003_associate_block.f90
- test_f2003_type_bound_array_call.f90
- test_f2008_submodule_constructs.f90
- test_if_inside_do_loop.f90
- test_if_nested_select_case.f90
- test_inline_instantiation_consumption.f90
- test_issue_1701.f90
- test_issue_2292_use_preservation.f90
- test_issue_2559_select_type_case_variations.f90
- test_issue_2928_interface_in_module_proc.f90
- test_issue_2966_silent_statement_drops.f90
- test_issue_2983_unterminated_span_rejected.f90
- test_issue_2984_construct_names.f90
- test_issue_2996_continuation_comment.f90
- test_issue_517_multi_unit_parsing.f90
- test_issue_652_multi_var.f90
- test_issue_669_nested_character_substring.f90
- test_legacy_mixed_declaration.f90
- test_module_use_statements.f90
- test_multiline_statement_if.f90
- test_parse_computed_goto.f90
- test_parse_forall_construct_body.f90
- test_parse_if_nested_do_direct.f90
- test_parse_if_nested_forall.f90
- test_semicolon_parsing.f90
- test_single_line_if.f90
- test_statement_computed_goto.f90
- test_type_binding_pass_name.f90
- test_type_contains_bindings.f90
- dependency_graph.f90
- procedure_attribute_analyzer.f90
- test_analyzer.f90
- test_abstract_validation.f90
- test_arena_vs_gcc_bug.f90
- test_array_literal_syntax_preservation.f90
- test_array_slice_fixed_size_inference.f90
- test_array_slice_type_inference.f90
- test_bind_c_validation.f90
- test_character_substring_semantic_simple.f90
- test_compose_substitutions.f90
- test_constant_folding.f90
- test_double_free_complex_code.f90
- test_dp_predefined_symbol.f90
- test_elemental_validation.f90
- test_exact_semantic_context.f90
- test_expression_parentheses_preservation.f90
- test_expression_type_cycle_guard.f90
- test_frontend_semantic_minimal.f90
- test_function_type_creation.f90
- test_gcc_15_2_1_compatibility.f90
- test_implied_do_validation.f90
- test_intrinsic_functions_math_expr.f90
- test_intrinsic_inquiry_arrays.f90
- test_intrinsic_reduction_scalars.f90
- test_issue_1220_intrinsic_inference.f90
- test_issue_2150_reshape_literal_vs_variable.f90
- test_issue_2417_array_intrinsic_timeout.f90
- test_issue_2596_data_statement_scalar_too_many_values.f90
- test_issue_2829_array_bounds_validation.f90
- test_issue_2829_poly_forall_vars.f90
- test_issue_354_crash.f90
- test_memory_corruption_fix.f90
- test_minimal_type_system.f90
- test_multi_decl_assignment_lhs.f90
- test_parser_type_hints.f90
- test_pure_validation.f90
- test_reshape_variable_shape_inference.f90
- test_scope_manager_basic.f90
- test_scope_manager_direct.f90
- test_scope_pattern.f90
- test_semantic_analysis_green.f90
- test_semantic_context_components.f90
- test_semantic_context_creation.f90
- test_semantic_integration.f90
- test_semantic_simple.f90
- test_semantic_type_errors.f90
- test_shared_context.f90
- test_standard_context_copy_safety.f90
- test_type_arena_performance.f90
- test_type_env_capacity_guard.f90
- test_type_hierarchy.f90
- test_type_hierarchy_resolution.f90
- test_type_system_arena.f90
- test_undefined_var_segfault.f90
- test_where_validation.f90
- array_constructor.expected
- array_operations.expected
- assignment_simple.expected
- do_loop.expected
- function_simple.expected
- if_statement.expected
- logical_ops.expected
- nested_loops.expected
- string_concat.expected
- subroutine_simple.expected
- README.md
- test_integer_expression_detection.f90
- test_issue_2812_lazy_dummy_type.f90
- test_issue_2934_pointer_target_marking.f90
- test_issue_2980_binary_result.f90
- test_issue_2980_result_inference.f90
- test_issue_2989_block_local_scope.f90
- test_standardizer_attributes_monomorphization.f90
- test_standardizer_driver.f90
- test_cli_integration.f90
- test_reparse_benchmark_slow.f90
- test_find_double_decl.f90
- test_interface_decl_inspect.f90
- test_tmp_debug.f90
- README.md
- string_utils.f90
- test_cli_io_allocation_failure.f90
- test_cli_io_large_input.f90
- test_debug_trace_profile.f90
- test_debug_trace_profile_mismatch.f90
- test_debug_trace_profile_report_sorted.f90
- test_environment_value.f90
- test_shell_commands_windows_quotes.f90
- test_type_string_utils.f90
- io_statement_string_literals.f90
- issue_2016_nested_call_types.f90
- README.md
- run_snapshots.sh
- test_alternate_return_frontend.f90
- test_bom_handling.f90
- test_call_on_keyword_named_object.f90
- test_compiler_facing_queries.f90
- test_component_assignment_in_if_body.f90
- test_derived_type_parsing.f90
- test_docs_examples_ci_verified.f90
- test_fixed_form_comment_oracle.f90
- test_fixed_form_implicit_dimension_oracle.f90
- test_frontend_conformance_smoke.f90
- test_frontend_diagnostics.f90
- test_if_else_body_type_inference.f90
- test_intent_inference_subroutine.f90
- test_interface_function_result_in_typespec.f90
- test_interface_prefix_return_kind.f90
- test_issue_1260.f90
- test_issue_1566_interface_block.f90
- test_issue_1623_select_type.f90
- test_issue_1707_import_order.f90
- test_issue_1740_keyword_arguments.f90
- test_issue_1787_continue_in_if.f90
- test_issue_1823_contiguous_attribute.f90
- test_issue_1857_chained_comparison.f90
- test_issue_1859_read_statement.f90
- test_issue_1860_print_undeclared.f90
- test_issue_1861_nested_do_print.f90
- test_issue_1883_intent_result.f90
- test_issue_1887_subroutine_param_type.f90
- test_issue_1889_one_line_if.f90
- test_issue_1891_result_declaration.f90
- test_issue_1894_nested_calls.f90
- test_issue_1958_intent_preservation.f90
- test_issue_1959_target_attribute.f90
- test_issue_1960_pointer_assignment_if.f90
- test_issue_1962_matmul_rank.f90
- test_issue_1965_trim_concat.f90
- test_issue_1969_case_insensitive_variables.f90
- test_issue_2012_subroutine_local_inference.f90
- test_issue_2018_duplicate_loop_var.f90
- test_issue_2022_fixed_array_preservation.f90
- test_issue_2025_internal_procedures.f90
- test_issue_2105_missing_intent_attributes.f90
- test_issue_2106_missing_intent_monomorphization.f90
- test_issue_2139_subroutine_array_rank.f90
- test_issue_2141_interface_result.f90
- test_issue_2142_mono_return_types.f90
- test_issue_2145_intrinsic_return_type.f90
- test_issue_2146_array_type_preserved.f90
- test_issue_2152_array_assignment_inference.f90
- test_issue_2155_character_length_collision.f90
- test_issue_2161_function_return_type.f90
- test_issue_2162_entry_wrapping.f90
- test_issue_2164_derived_type_field_lost.f90
- test_issue_2165_undeclared_argument.f90
- test_issue_2166_array_literal_allocatable.f90
- test_issue_2226_uppercase_statement_if.f90
- test_issue_2227_achar_kind_bounds.f90
- test_issue_2229_many_statement_ifs.f90
- test_issue_2246_identifier_implicit.f90
- test_issue_2247_contains_identifier.f90
- test_issue_2248_read_keyword.f90
- test_issue_2249_keyworded_write.f90
- test_issue_2250_pure_interface.f90
- test_issue_2253_procedure_interface.f90
- test_issue_2254_free_form_continuation.f90
- test_issue_2255_inline_if_comment.f90
- test_issue_2265_trailing_program.f90
- test_issue_2266_identifier_dimension.f90
- test_issue_2267_identifier_else.f90
- test_issue_2268_identifier_module.f90
- test_issue_2269_identifier_program.f90
- test_issue_2270_identifier_common.f90
- test_issue_2273_identifier_stop.f90
- test_issue_2274_identifier_cycle.f90
- test_issue_2275_identifier_exit.f90
- test_issue_2276_identifier_if.f90
- test_issue_2277_identifier_entry.f90
- test_issue_2278_return_identifier.f90
- test_issue_2279_identifier_select.f90
- test_issue_2280_statement_function.f90
- test_issue_2283_nested_modules.f90
- test_issue_2285_openmp_directives.f90
- test_issue_2286_openacc_directives.f90
- test_issue_2287_where_elsewhere.f90
- test_issue_2288_elemental_interface.f90
- test_issue_2289_impure_interface.f90
- test_issue_2291_operator_continuation.f90
- test_issue_2292_use_codegen.f90
- test_issue_2293_legacy_implicit.f90
- test_issue_2294_identifier_format.f90
- test_issue_2347_bare_end.f90
- test_issue_2348_interface_block_procedures.f90
- test_issue_2349_data_boz_literals.f90
- test_issue_2349_data_trailing_commas.f90
- test_issue_2389_end_statements.f90
- test_issue_2391_fixed_form_continuation.f90
- test_issue_2393_dtio_interfaces.f90
- test_issue_2394_uppercase_keywords.f90
- test_issue_2401_data_stmt_parse.f90
- test_issue_2401_interface_parse.f90
- test_issue_2402_preprocessor_directives.f90
- test_issue_2415_data_roundtrip.f90
- test_issue_2415_multiple_sets.f90
- test_issue_2415_no_space.f90
- test_issue_2449_openacc_directives.f90
- test_issue_2450_procedure_interfaces.f90
- test_issue_2452_roundtrip_timeout_slow.f90
- test_issue_2455_argument_syntax_roundtrip.f90
- test_issue_2456_assumed_char_local.f90
- test_issue_2458_intrinsic_rank_validation.f90
- test_issue_2487_parameter_statement.f90
- test_issue_2489_interface_in_procedure_body.f90
- test_issue_2495_data_null.f90
- test_issue_2496_quotes_in_comments.f90
- test_issue_2591_unsigned_integers.f90
- test_issue_2753_unsigned_mixing_diagnostics.f90
- test_issue_2809_block_data.f90
- test_issue_2809_common_block.f90
- test_issue_2809_enum.f90
- test_issue_2811_select_trailing.f90
- test_issue_2813_value_attribute.f90
- test_issue_2814_c_interop_intrinsics.f90
- test_issue_2815_ieee_arithmetic.f90
- test_issue_2816_walrus_operator.f90
- test_issue_2818_bind_c_roundtrip.f90
- test_issue_2820_coverage_backfill.f90
- test_issue_2821_guard_name_decl.f90
- test_issue_2827_derived_constructor.f90
- test_issue_2829_c_interface_output.f90
- test_issue_2834_first_assignment_inference.f90
- test_issue_2835_walrus_target_resolves.f90
- test_issue_2837_interface_body.f90
- test_issue_2838_unary_operator_operand.f90
- test_issue_2848_dimension_statement.f90
- test_issue_2850_bare_proc_interface_split.f90
- test_issue_2851_procedure_implicit_local.f90
- test_issue_2852_common_named_block.f90
- test_issue_2853_block_data_bare_end.f90
- test_issue_2855_external_statement.f90
- test_issue_2856_integer8_function_kind.f90
- test_issue_2857_generic_interface_specifics.f90
- test_issue_2858_double_precision_contained_function.f90
- test_issue_2859_uppercase_executable.f90
- test_issue_2868_bare_end_module_then_program.f90
- test_issue_2869_and_in_contained_if.f90
- test_issue_2870_common_array_spec.f90
- test_issue_2871_parameter_stmt_scopes.f90
- test_issue_2950_procedure_actual_argument.f90
- test_issue_2971_callsite_rename.f90
- test_issue_2973_legacy_io_implied_do.f90
- test_issue_2974_compound_declaration.f90
- test_issue_2978_module_generic_conflict.f90
- test_issue_2994_lazy_real_r64.f90
- test_issue_957_parameter_attributes.f90
- test_keyword_named_subroutine_oracle.f90
- test_location_validation.f90
- test_module_parameter_decl_issue.f90
- test_monomorphization.f90
- test_multi_param_intent.f90
- test_nested_internal_procedures.f90
- test_nested_procedure_constructs.f90
- test_optional_parameter_standard_fortran.f90
- test_parser_iteration_limits.f90
- test_parser_keyword_disambiguation.f90
- test_pass_manager.f90
- test_pdt_type_parameters.f90
- test_program_scaffold_roundtrip.f90
- test_string_utils_to_lower_large_input.f90
- test_type_bound_call_base_oracle.f90
- expected_code.f90
- expected_code.f90
- expected_code.f90
- example.f90
- full_test_results.txt
- function_call_inference.f90
- function_def.f90
- function_with_param.f90
- if_else_simple.f90
- if_elseif_else.f90
- json_workflow.f90
- expected_code.f90
- logical_type_inference.f90
- multi_statement.f90
- expected_code.f90
- multiple_functions.f90
- multiple_statements.f90
- nested_function_calls.f90
- print_statement.f90
- simple_assignment.f90
- expected_code.f90
- expected_code.f90
- single_assignment.f90
- single_function_in_program.f90
- input.txt
- single_real_declaration.f90
- expected_code.f90
- expected_code.f90
- expected_code.f90
- use_statement.f90
- expected_code.f90
- test_array_slice_red.f90
- test_module_parsing_bug_red.f90
- test_standardization_red.f90
- fortfront_api.py
- test_lazy_fortran_examples.py
- test_save_attribute.py
- test_target_attribute.py
- .fprettify
- .fprettify.rc
- .gitattributes
- .gitignore
- AGENTS.md
- CLAUDE.md
- DESIGN.md
- fpm.toml
- LICENSE
- Makefile
- README.md
- ROADMAP.md
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/lazy-fortran/fortfront
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd fortfront
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. Make
보통 추천사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
make clean # Remove build artifacts, logs, .mod/.o/.a files
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
에러 없이 끝나면 성공입니다. 생성된 실행 파일을 직접 실행해보세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
// repository documentation
Was this content helpful?
(0 ratings)
