{
    $Id$
    Copyright (c) 1998 by the FPC development team

    This file includes the message index types which can be used to display
    a message from the message file

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

 ****************************************************************************}

{
  The constants are build in the following order:
  <part>_<type>_<txtidentifier>

  <part> is the part of the compiler the message is used
    assem_    assembler parsing
    unit_     unit handling
    scan_     scanner
    general_  general info
    exec_     calls to assembler, linker, binder

  <type> the type of the message it should normally used for
    f_   fatal error
    e_   error
    w_   warning
    n_   note
    h_   hint
    i_   info
    l_   linenumber
    u_   used
    t_   tried
    m_   macro
    p_   procedure
    c_   conditional
    d_   debug message

  syn_ means a syntax error
}
type
  tmsgconst = (
general_i_kb_free,
general_l_lines_and_free,
general_i_stream_kb_free,
general_i_ems_kb_free,
general_i_compilername,
general_i_unitsearchpath,
general_d_sourceos,
general_i_targetos,
general_u_exepath,
general_u_gcclibpath,
general_i_abslines_compiled,
{
  Scanner part
}
scan_f_end_of_file,
scan_f_string_exceeds_line,
scan_f_illegal_char,
scan_f_syn_expected,
scan_u_start_include_file,
scan_w_comment_level,
scan_n_far_directive_ignored,
scan_n_stack_check_global_under_linux,
scan_w_illegal_switch,
scan_w_switch_is_global,
scan_e_illegal_char_const,
scan_f_cannot_open_input,
scan_f_cannot_open_includefile,
scan_e_too_much_endifs,
scan_w_only_pack_records,
scan_e_endif_expected,
scan_e_preproc_syntax_error,
scan_e_error_in_preproc_expr,
scan_w_marco_cut_after_255_chars,
scan_e_endif_without_if,
scan_f_user_defined,
scan_e_user_defined,
scan_w_user_defined,
scan_n_user_defined,
scan_h_user_defined,
scan_i_user_defined,
scan_e_keyword_cant_be_a_macro,
scan_f_macro_buffer_overflow,
scan_w_macro_deep_ten,
scan_e_wrong_styled_switch,
scan_d_handling_switch,
scan_c_endif_found,
scan_c_ifdef_found,
scan_c_ifopt_found,
scan_c_if_found,
scan_c_ifndef_found,
scan_c_else_found,
scan_c_skipping_until,
scan_i_press_enter,
scan_w_unsupported_switch,
scan_w_illegal_directive,
{
  Parser
}
parser_e_syntax_error,
parser_w_proc_far_ignored,
parser_w_proc_near_ignored,
parser_e_no_dll_file_specified,
parser_e_constructorname_must_be_init,
parser_e_destructorname_must_be_done,
parser_e_illegal_open_parameter,
parser_e_proc_inline_not_supported,
parser_w_priv_meth_not_virtual,
parser_e_constructor_cannot_be_private,
parser_e_destructor_cannot_be_private,
parser_n_only_one_destructor,
parser_e_no_local_objects,
parser_e_no_anonym_objects,
parser_e_ordinal_expected,
parser_e_illegal_parameter_list,
parser_e_overloaded_no_procedure,
parser_e_overloaded_have_same_parameters,
parser_e_header_dont_match_forward,
parser_n_duplicate_enum,
parser_n_interface_name_diff_implementation_name,
parser_e_too_much_lexlevel,
parser_e_range_check_error,
parser_e_pointer_type_expected,
parser_e_class_type_expected,
parser_e_double_caselabel,
parser_e_type_const_not_possible,
parser_e_no_overloaded_procvars,
parser_e_string_too_long,
parser_w_use_extended_syntax_for_objects,
parser_e_class_id_expected,
parser_e_methode_id_expected,
parser_e_header_dont_match_any_member,
parser_p_procedure_start,
parser_e_error_in_real,
parser_e_fail_only_in_constructor,
parser_e_no_paras_for_destructor,
parser_e_strict_var_string_violation,
parser_e_only_class_methods_via_class_ref,
parser_e_only_class_methods,
parser_e_case_mismatch,
parser_e_illegal_symbol_exported,
parser_w_should_use_override,
parser_e_nothing_to_be_overridden,
parser_e_no_procedure_to_access_property,
parser_e_ill_property_access_sym,
parser_e_cant_write_protected_member,
parser_e_overloaded_are_not_both_virtual,
parser_e_overloaded_methodes_not_same_ret,
parser_e_dont_nest_export,
parser_e_methods_dont_be_export,
parser_e_call_by_ref_without_typeconv,
parser_e_no_super_class,
parser_e_self_not_in_method,
parser_e_generic_methods_only_in_methods,
parser_e_illegal_colon_qualifier,
parser_e_illegal_set_expr,
parser_e_pointer_to_class_expected,
parser_e_expr_have_to_be_constructor_call,
parser_e_expr_have_to_be_destructor_call,
parser_e_typeconflict_in_set,
parser_w_use_int_div_int_op,
parser_e_invalid_record_const,
parser_e_false_with_expr,
parser_e_void_function,
parser_e_constructors_always_objects,
parser_w_convert_real_2_comp,
parser_e_operator_not_overloaded,
parser_e_varid_or_typeid_expected,
parser_e_no_reraise_possible,
parser_e_no_new_or_dispose_for_classes,
parser_e_asm_incomp_with_function_return,
parser_e_procedure_overloading_is_off,
parser_e_overload_operator_failed,
parser_e_comparative_operator_return_boolean,
parser_e_only_virtual_methods_abstract,
parser_f_unsupported_feature,
parser_e_mix_of_classes_and_objects,
parser_w_unknown_proc_directive_ignored,
parser_e_absolute_only_one_var,
parser_e_absolute_only_to_var_or_const,
parser_e_abstract_no_definition,
parser_e_overloaded_must_be_all_global,
parser_e_succ_and_pred_enums_with_assign_not_possible,
parser_w_virtual_without_constructor,
parser_m_macro_defined,
parser_m_macro_undefined,
parser_m_macro_set_to,
parser_i_compiling,
parser_d_compiling_second_time,
parser_e_no_paras_allowed,
parser_e_no_property_found_to_override,
parser_e_only_one_default_property,
parser_e_property_need_paras,
parser_e_constructor_cannot_be_not_virtual,
parser_e_no_default_property_available,
{
  Symbol table
}
sym_n_local_var_not_init_yet,
sym_e_id_not_found,
sym_f_internal_error_in_symtablestack,
sym_e_duplicate_id,
sym_e_unknown_id,
sym_e_forward_not_resolved,
sym_f_id_already_typed,
sym_e_type_id_expected,
sym_e_type_mismatch,
sym_e_error_in_type_def,
sym_e_type_id_not_defined,
sym_e_only_static_in_static,
sym_e_invalid_call_tvarsymmangledname,
sym_f_type_must_be_rec_or_class,
sym_e_no_instance_of_abstract_object,
sym_e_label_not_defined,
sym_e_ill_label_decl,
sym_e_goto_and_label_not_supported,
sym_e_label_not_found,
sym_e_id_is_no_label_id,
sym_e_label_already_defined,
sym_e_ill_type_decl_set,
sym_e_class_forward_not_resolved,
sym_h_identifier_not_used,
sym_e_set_element_are_not_comp,
sym_e_set_expected,
sym_w_function_result_not_set,
sym_e_illegal_field,
sym_n_uninitialized_local_variable,
sym_e_id_no_member,
{
  Codegenerator
}
cg_e_break_not_allowed,
cg_e_continue_not_allowed,
cg_e_too_complex_expr,
cg_e_illegal_expression,
cg_e_invalid_integer,
cg_e_invalid_qualifier,
cg_e_upper_lower_than_lower,
cg_e_illegal_count_var,
cg_e_cant_choose_overload_function,
cg_e_parasize_too_big,
cg_e_illegal_type_conversion,
cg_e_file_must_call_by_reference,
cg_e_cant_use_far_pointer_there,
cg_e_var_must_be_reference,
cg_e_dont_call_exported_direct,
cg_w_member_cd_call_from_method,
cg_n_inefficient_code,
cg_w_unreachable_code,
cg_e_stackframe_with_esp,
cg_e_cant_call_abstract_method,
cg_f_internal_error_in_getfloatreg,
cg_f_unknown_float_type,
cg_f_secondvecn_base_defined_twice,
cg_f_extended_cg68k_not_supported,
cg_f_32bit_not_supported_in_68000,
cg_f_internal_error_in_secondinline,
cg_d_register_weight,
cg_e_stacklimit_in_local_routine,
cg_d_stackframe_omited,
{
  Assembler parsers
}
assem_f_ev_zero_divide,
assem_f_ev_stack_overflow,
assem_f_ev_stack_underflow,
assem_f_ev_invalid_number,
assem_f_ev_invalid_op,
assem_f_ev_unknown,
assem_w_invalid_numeric,
assem_e_escape_seq_ignored,
assem_e_syn_prefix_not_found,
assem_e_syn_try_add_more_prefix,
assem_e_syn_opcode_not_found,
assem_e_invalid_symbol_ref,
assem_w_calling_overload_func,
assem_e_constant_out_of_bounds,
assem_e_none_label_contain_at,
assem_e_invalid_operand,
assem_w_override_op_not_supported,
assem_e_error_in_binary_const,
assem_e_error_in_octal_const,
assem_e_error_in_hex_const,
assem_e_error_in_integer_const,
assem_e_invalid_labeled_opcode,
assem_f_internal_error_in_findtype,
assem_e_invalid_size_movzx,
assem_e_16bit_base_in_32bit_segment,
assem_e_16bit_index_in_32bit_segment,
assem_e_invalid_opcode,
assem_e_const_ref_not_allowed,
assem_w_fwait_emu_prob,
assem_e_invalid_opcode_and_operand,
assem_w_opcode_not_in_table,
assem_f_internal_error_in_concatopcode,
assem_e_invalid_size_in_ref,
assem_e_invalid_middle_sized_operand,
assem_e_invalid_three_operand_opcode,
assem_e_syntax_error,
assem_e_invalid_operand_type,
assem_e_segment_override_not_supported,
assem_e_invalid_const_symbol,
assem_f_error_converting_bin,
assem_f_error_converting_hex,
assem_f_error_converting_octal,
assem_e_invalid_constant_expression,
assem_e_unknown_id,
assem_e_defining_index_more_than_once,
assem_e_invalid_field_specifier,
assem_f_internal_error_in_buildscale,
assem_e_invalid_scaling_factor,
assem_e_invalid_scaling_value,
assem_e_scaling_value_only_allowed_with_index,
assem_e_syn_no_ref_with_brackets,
assem_e_expression_form_not_supported,
assem_e_defining_seg_more_than_once,
assem_e_defining_base_more_than_once,
assem_e_negative_index_register,
assem_e_syn_reference,
assem_e_local_symbol_not_allowed_as_ref,
assem_e_invalid_operand_in_bracket_expression,
assem_e_invalid_symbol_name,
assem_e_invalid_reference_syntax,
assem_e_invalid_string_as_opcode_operand,
assem_w_CODE_and_DATA_not_supported,
assem_e_null_label_ref_not_allowed,
assem_e_cannot_use_SELF_outside_a_method,
assem_e_syn_start_with_bracket,
assem_e_syn_register,
assem_e_SEG_and_OFFSET_not_supported,
assem_e_syn_opcode_operand,
assem_e_invalid_string_expression,
assem_e_expression_out_of_bounds,
assem_f_internal_error_in_buildconstant,
assem_w_repeat_prefix_and_seg_override,
assem_e_invalid_or_missing_opcode,
assem_e_invalid_prefix_and_opcode,
assem_e_invalid_override_and_opcode,
assem_e_too_many_operands,
assem_e_dup_local_sym,
assem_e_unknown_label_identifer,
assem_e_assemble_node_syntax_error,
assem_e_unknown_local_sym,
assem_d_start_intel,
assem_d_finish_intel,
assem_e_not_directive_or_local_symbol,
assem_e_slash_at_begin_of_line_not_allowed,
assem_e_nor_not_supported,
assem_e_invalid_fpu_register,
assem_w_modulo_not_supported,
assem_e_invalid_float_const,
assem_e_size_suffix_and_dest_reg_dont_match,
assem_f_internal_error_in_concatlabeledinstr,
assem_w_float_bin_ignored,
assem_w_float_hex_ignored,
assem_w_float_octal_ignored,
assem_e_invalid_real_const,
assem_e_parenthesis_are_not_allowed,
assem_e_invalid_reference,
assem_e_cannot_use___SELF_outside_methode,
assem_e_cannot_use___OLDEBP_outside_nested_procedure,
assem_w_id_supposed_external,
assem_e_invalid_seg_override,
assem_e_string_not_allowed_as_const,
assem_d_start_att,
assem_d_finish_att,
assem_e_switching_sections_not_allowed,
assem_e_invalid_global_def,
assem_e_line_separator_expected,
assem_w_globl_not_supported,
assem_w_align_not_supported,
assem_w_lcomm_not_supported,
assem_w_comm_not_supported,
assem_e_invalid_lcomm_def,
assem_e_invalid_comm_def,
assem_e_local_sym_not_found_in_asm_statement,
assem_e_assembler_code_not_returned_to_text,
assem_f_internal_error_in_buildreference,
assem_e_invalid_opcode_size,
assem_w_near_ignored,
assem_w_far_ignored,
assem_d_creating_lookup_tables,
assem_w_using_defined_as_local,
assem_f_internal_error_in_handleextend,
assem_e_invalid_char_smaller,
assem_e_invalid_char_greater,
assem_e_unsupported_opcode,
assem_e_no_inc_and_dec_together,
assem_e_invalid_reg_list_in_movem,
assem_e_invalid_reg_list_for_opcode,
assem_e_68020_mode_required,
assem_d_start_motorola,
assem_d_finish_motorola,
assem_w_xdef_not_supported,
assem_w_void_function,
assem_f_invalid_suffix_intel,
assem_e_extended_not_supported,
assem_e_comp_not_supported,
assem_w_mmxwarning_as_281,
{
  Exec, assembler, linker, binder calls
}
exec_i_assembling_pipe,
exec_d_cant_create_asmfile,
exec_w_assembler_not_found,
exec_u_using_assembler,
exec_w_error_while_assembling,
exec_w_cant_call_assembler,
exec_i_assembling,
exec_w_linker_not_found,
exec_u_using_linker,
exec_e_objfile_not_found,
exec_w_error_while_linking,
exec_w_cant_call_linker,
exec_i_linking,
exec_w_binder_not_found,
exec_w_ar_not_found,
exec_e_dll_not_supported,
exec_i_closing_script,
{
  Unit handling, PPU File
}
unit_u_ppu_loading,
unit_d_ppu_time,
unit_d_ppu_file_too_short,
unit_d_ppu_invalid_header,
unit_d_ppu_invalid_version,
unit_d_ppu_flags,
unit_d_ppu_crc,
unit_t_ppu_source,
unit_d_obj_and_asm_are_older_than_ppu,
unit_d_obj_is_older_than_asm,
unit_t_unitsearch,
unit_u_ppu_write,
unit_f_ppu_cannot_write,
unit_f_ppu_read_error,
unit_f_ppu_invalid_entry,
unit_f_ppu_dbx_count_problem,
unit_e_illegal_unit_name,
unit_f_too_much_units,
unit_f_circular_unit_reference,
unit_f_cant_compile_unit,
unit_w_switch_us_missed,
unit_e_total_errors,
unit_f_errors_in_unit,
{This should be the last}
endmsgconst
);
