#include "opendylan/run-time.h"

/* Generated by Open Dylan 2014.1 for x86_64-linux */

/* Typedefs for referenced classes */

typedef struct {
  dylan_value wrapper;
} _KLwarningGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLclassGVKd;

#define  define__KLmm_wrapperGVKi(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value mm_wrapper_implementation_class_; \
    dylan_value mm_wrapper_subtype_mask_; \
    DWORD mm_wrapper_fixed_part_; \
    DWORD mm_wrapper_variable_part_; \
    dylan_value mm_wrapper_number_patterns_; \
    DWORD mm_wrapper_pattern_element_[nrepeated+1]; \
  } _KLmm_wrapperGVKi_##nrepeated;
define__KLmm_wrapperGVKi(1);
define__KLmm_wrapperGVKi(0);

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value namespace_name_;
  dylan_value home_library_;
} _KLmoduleGVKe;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(19);

typedef struct {
  dylan_value wrapper;
  dylan_value namespace_name_;
  dylan_value library_major_version_;
  dylan_value library_minor_version_;
  dylan_value library_build_count_;
  dylan_value used_libraries_;
  dylan_value all_used_libraries_;
  dylan_value runtime_module_;
  dylan_value library_defined_generics_;
  dylan_value library_number_static_dispatches_;
  dylan_value library_number_dynamic_dispatches_;
} _KLlibraryGVKe;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(53);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);

typedef struct {
  dylan_value wrapper;
  dylan_value library_major_version_;
  dylan_value library_minor_version_;
  dylan_value library_build_count_;
  dylan_value used_library_;
  dylan_value used_library_binding_;
} _KLused_libraryGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value symbol_name_;
} _KLsymbolGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
} _KLsimple_conditionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
} _KLprogram_conditionGVdfmc_conditions;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
} _KLpattern_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_symbol_name_;
  dylan_value match_variable_name_;
  dylan_value match_constraint_;
  dylan_value match_env_index_;
} _KLbinding_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_symbol_name_;
  dylan_value match_variable_name_;
  dylan_value match_constraint_;
  dylan_value match_env_index_;
} _KLsimple_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_symbol_name_;
  dylan_value match_variable_name_;
  dylan_value match_constraint_;
  dylan_value match_env_index_;
} _KLsequence_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
} _KLstructure_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_nested_pattern_;
} _KLnested_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_nested_pattern_;
} _KLparen_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_nested_pattern_;
} _KLbracket_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_nested_pattern_;
} _KLbrace_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_variable_name_pattern_;
  dylan_value match_type_expression_pattern_;
} _KLvariable_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_rest_pattern_;
  dylan_value match_key_patterns_;
} _KLproperty_list_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_symbol_name_;
  dylan_value match_variable_name_;
  dylan_value match_constraint_;
  dylan_value match_env_index_;
} _KLrest_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_symbol_name_;
  dylan_value match_variable_name_;
  dylan_value match_constraint_;
  dylan_value match_env_index_;
  dylan_value match_default_expression_;
} _KLkey_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_symbol_name_;
  dylan_value match_variable_name_;
  dylan_value match_constraint_;
  dylan_value match_env_index_;
  dylan_value match_default_expression_;
} _KLkey_sequence_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value match_source_location_;
  dylan_value match_nested_pattern_;
  dylan_value match_prefix_;
  dylan_value match_suffix_;
} _KLsplicing_matchGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_macro_name_;
} _KLmacro_match_errorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_macro_name_;
} _KLmacro_main_rule_match_errorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_macro_name_;
  dylan_value condition_rule_set_;
} _KLmacro_aux_rule_match_errorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_macro_name_;
} _KLinfinite_aux_rule_recursion_match_errorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
} _KLsubstitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLvariable_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
} _KLnon_empty_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
} _KLmaybe_empty_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLelement_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLsequence_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLsimple_element_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLname_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLas_string_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
} _KLas_symbol_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
  dylan_value element_name_substitution_;
  dylan_value element_prefix_;
  dylan_value element_suffix_;
} _KLsplicing_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_variable_name_;
  dylan_value element_env_index_;
  dylan_value element_separator_;
} _KLsimple_sequence_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_template_;
  dylan_value element_compiled_template_;
} _KLcall_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_template_;
  dylan_value element_compiled_template_;
} _KLmacro_call_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value element_source_location_;
  dylan_value element_template_;
  dylan_value element_compiled_template_;
  dylan_value element_rule_name_;
  dylan_value element_aux_rule_env_;
  dylan_value element_aux_rule_index_;
} _KLaux_rule_call_substitutionGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_macro_name_;
  dylan_value condition_fragment_;
} _KLmacro_splicing_substitution_constraint_errorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value walker_walked_;
  dylan_value walker_classes_;
} _KLdefault_fragment_copierGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value rule_pattern_;
  dylan_value rule_template_;
  dylan_value rule_compiled_template_;
} _KLrewrite_ruleGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_pattern_variable_name_;
} _KLname_used_already_in_patternGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_pattern_variable_name_;
  dylan_value condition_pattern_variable_constraint_;
} _KLinvalid_constraintGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value rule_set_rewrite_rules_;
} _KLrewrite_rule_setGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value rule_set_rewrite_rules_;
  dylan_value rule_set_name_;
  dylan_value rule_set_variable_name_;
  dylan_value rule_set_rewriter_variable_name_;
  dylan_value rule_set_rewriter_env_index_;
} _KLaux_rewrite_rule_setGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
} _KLfragment_expanderGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value expander_name_;
  dylan_value expander_module_;
  dylan_value expander_adjectives_;
  dylan_value expander_main_rule_set_;
  dylan_value expander_aux_rule_sets_;
  dylan_value expander_aux_rule_set_table_;
  dylan_value expander_aux_rule_set_env_;
  dylan_value expander_intermediate_words_;
  dylan_value expander_referenced_names_;
} _KLrewrite_rule_expanderGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_pattern_variable_name_;
} _KLunconstrained_pattern_variableGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_pattern_variable_name_;
} _KLunbound_template_pattern_variableGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_pattern_variable_name_;
} _KLmismatched_template_pattern_variableGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value macro_word_class_;
  dylan_value macro_expander_function_;
  dylan_value macro_referenced_names_;
} _KLmacro_descriptorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value macro_word_class_;
  dylan_value macro_expander_function_;
  dylan_value macro_referenced_names_;
} _KLsimple_macro_descriptorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value macro_word_class_;
  dylan_value macro_expander_function_;
  dylan_value macro_referenced_names_;
  dylan_value macro_suffix_;
} _KLsuffixed_macro_descriptorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_variable_name_;
} _KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_fragment_;
} _KLnon_macro_in_template_macro_callGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_token_;
  dylan_value condition_template_;
} _KLtemplate_parser_errorGVdfmc_macro_expander;

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_template_;
} _KLunexpected_end_of_template_errorGVdfmc_macro_expander;


/* Typedefs for defined classes */


/* Referenced object declarations */

dylan_value Kinitialize_class_dispatch_keys_vectoredVKgI (dylan_value);
dylan_value Kaugment_rcpl_position_data_multipleVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLwarningGVKd;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLwarningGVKdW;
dylan_value Kaugment_class_known_jointVKiMM0I (dylan_value, dylan_value);
dylan_value KPlibrary_version_checkVKeI (dylan_value, dylan_value);
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLclassGVKd KLused_libraryGVKe;
extern _KLmm_wrapperGVKi_0 KLused_libraryGVKeW;
extern _KLlibraryGVKe Kdylan_libraryYdylan_userVdylan;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLlibraryGVKe Kdfmc_common_libraryYdylan_userVdfmc_common;
extern _KLlibraryGVKe Kdfmc_conditions_libraryYdylan_userVdfmc_conditions;
extern _KLlibraryGVKe Kdfmc_reader_libraryYdylan_userVdfmc_reader;
extern _KLclassGVKd KLsimple_conditionGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_conditionGVKeW;
extern _KLclassGVKd KLprogram_conditionGVdfmc_conditions;
extern _KLmm_wrapperGVKi_0 KLprogram_conditionGVdfmc_conditionsW;
extern _KLclassGVKd KLpattern_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLbinding_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLsimple_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLsequence_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLstructure_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLnested_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLparen_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLbracket_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLbrace_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLvariable_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLproperty_list_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLrest_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLkey_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLkey_sequence_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLsplicing_matchGVdfmc_macro_expander;
extern _KLclassGVKd KLmacro_match_errorGVdfmc_macro_expander;
extern _KLclassGVKd KLmacro_main_rule_match_errorGVdfmc_macro_expander;
extern _KLclassGVKd KLmacro_aux_rule_match_errorGVdfmc_macro_expander;
extern _KLclassGVKd KLinfinite_aux_rule_recursion_match_errorGVdfmc_macro_expander;
extern _KLclassGVKd KLsubstitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLvariable_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLnon_empty_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLmaybe_empty_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLelement_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLsequence_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLsimple_element_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLname_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLas_string_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLas_symbol_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLsplicing_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLsimple_sequence_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLcall_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLmacro_call_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLaux_rule_call_substitutionGVdfmc_macro_expander;
extern _KLclassGVKd KLmacro_splicing_substitution_constraint_errorGVdfmc_macro_expander;
extern _KLclassGVKd KLdefault_fragment_copierGVdfmc_macro_expander;
extern _KLclassGVKd KLrewrite_ruleGVdfmc_macro_expander;
extern _KLclassGVKd KLname_used_already_in_patternGVdfmc_macro_expander;
extern _KLclassGVKd KLinvalid_constraintGVdfmc_macro_expander;
extern _KLclassGVKd KLrewrite_rule_setGVdfmc_macro_expander;
extern _KLclassGVKd KLaux_rewrite_rule_setGVdfmc_macro_expander;
extern _KLclassGVKd KLfragment_expanderGVdfmc_macro_expander;
extern _KLclassGVKd KLrewrite_rule_expanderGVdfmc_macro_expander;
extern _KLclassGVKd KLunconstrained_pattern_variableGVdfmc_macro_expander;
extern _KLclassGVKd KLunbound_template_pattern_variableGVdfmc_macro_expander;
extern _KLclassGVKd KLmismatched_template_pattern_variableGVdfmc_macro_expander;
extern _KLclassGVKd KLmacro_descriptorGVdfmc_macro_expander;
extern _KLclassGVKd KLsimple_macro_descriptorGVdfmc_macro_expander;
extern _KLclassGVKd KLsuffixed_macro_descriptorGVdfmc_macro_expander;
extern _KLclassGVKd KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander;
extern _KLclassGVKd KLnon_macro_in_template_macro_callGVdfmc_macro_expander;
extern _KLclassGVKd KLtemplate_parser_errorGVdfmc_macro_expander;
extern _KLclassGVKd KLunexpected_end_of_template_errorGVdfmc_macro_expander;

/* Defined object declarations */

static _KLsimple_object_vectorGVKd_1 K1;
static _KLsimple_object_vectorGVKd_2 K2;
extern _KLlibraryGVKe Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander;
extern _KLmoduleGVKe Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander;
static _KLbyte_stringGVKd_19 K7;
static _KLsimple_object_vectorGVKd_4 K8;
static _KLused_libraryGVKe K9;
static _KLused_libraryGVKe K10;
static _KLused_libraryGVKe K11;
static _KLused_libraryGVKe K12;
static _KLsymbolGVKd KJtight_;
static _KLbyte_stringGVKd_5 K14;
static _KLsimple_object_vectorGVKd_53 K15;

/* Indirection variables */

static dylan_value IKJtight_ = &KJtight_;

/* Variables */

dylan_value dfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander = &Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander;
dylan_value dfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander = &Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander;

/* Objects */

static _KLsimple_object_vectorGVKd_1 K1 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  (dylan_value) 17
};

static _KLsimple_object_vectorGVKd_2 K2 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLsimple_conditionGVKe,
  &KLprogram_conditionGVdfmc_conditions
};

_KLlibraryGVKe Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander = {
  &KLlibraryGVKeW /* wrapper */,
  &K7,
  (dylan_value) 1,
  (dylan_value) 1,
  (dylan_value) 238036009,
  &K8,
  &KPempty_vectorVKi,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (dylan_value) 3953,
  (dylan_value) 3177
};

_KLmoduleGVKe Kdfmc_macro_expander_moduleYdylan_userVdfmc_macro_expander = {
  &KLmoduleGVKeW /* wrapper */,
  &K7,
  &Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander
};

static _KLbyte_stringGVKd_19 K7 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 77,
  "dfmc-macro-expander"
};

static _KLsimple_object_vectorGVKd_4 K8 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &K9,
  &K10,
  &K11,
  &K12
};

static _KLused_libraryGVKe K9 = {
  &KLused_libraryGVKeW /* wrapper */,
  (dylan_value) 1,
  (dylan_value) 1,
  (dylan_value) 238254345,
  &Kdfmc_reader_libraryYdylan_userVdfmc_reader,
  &KJtight_
};

static _KLused_libraryGVKe K10 = {
  &KLused_libraryGVKeW /* wrapper */,
  (dylan_value) 1,
  (dylan_value) 1,
  (dylan_value) 238283689,
  &Kdfmc_conditions_libraryYdylan_userVdfmc_conditions,
  &KJtight_
};

static _KLused_libraryGVKe K11 = {
  &KLused_libraryGVKeW /* wrapper */,
  (dylan_value) 1,
  (dylan_value) 1,
  (dylan_value) 237817673,
  &Kdfmc_common_libraryYdylan_userVdfmc_common,
  &KJtight_
};

static _KLused_libraryGVKe K12 = {
  &KLused_libraryGVKeW /* wrapper */,
  (dylan_value) 9,
  (dylan_value) 5,
  (dylan_value) 237646345,
  &Kdylan_libraryYdylan_userVdylan,
  &KJtight_
};

static _KLsymbolGVKd KJtight_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K14
};

static _KLbyte_stringGVKd_5 K14 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "tight"
};

static _KLsimple_object_vectorGVKd_53 K15 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 213,
  &KLpattern_matchGVdfmc_macro_expander,
  &KLbinding_matchGVdfmc_macro_expander,
  &KLsimple_matchGVdfmc_macro_expander,
  &KLsequence_matchGVdfmc_macro_expander,
  &KLstructure_matchGVdfmc_macro_expander,
  &KLnested_matchGVdfmc_macro_expander,
  &KLparen_matchGVdfmc_macro_expander,
  &KLbracket_matchGVdfmc_macro_expander,
  &KLbrace_matchGVdfmc_macro_expander,
  &KLvariable_matchGVdfmc_macro_expander,
  &KLproperty_list_matchGVdfmc_macro_expander,
  &KLrest_matchGVdfmc_macro_expander,
  &KLkey_matchGVdfmc_macro_expander,
  &KLkey_sequence_matchGVdfmc_macro_expander,
  &KLsplicing_matchGVdfmc_macro_expander,
  &KLmacro_match_errorGVdfmc_macro_expander,
  &KLmacro_main_rule_match_errorGVdfmc_macro_expander,
  &KLmacro_aux_rule_match_errorGVdfmc_macro_expander,
  &KLinfinite_aux_rule_recursion_match_errorGVdfmc_macro_expander,
  &KLsubstitutionGVdfmc_macro_expander,
  &KLvariable_substitutionGVdfmc_macro_expander,
  &KLnon_empty_substitutionGVdfmc_macro_expander,
  &KLmaybe_empty_substitutionGVdfmc_macro_expander,
  &KLelement_substitutionGVdfmc_macro_expander,
  &KLsequence_substitutionGVdfmc_macro_expander,
  &KLsimple_element_substitutionGVdfmc_macro_expander,
  &KLname_substitutionGVdfmc_macro_expander,
  &KLas_string_substitutionGVdfmc_macro_expander,
  &KLas_symbol_substitutionGVdfmc_macro_expander,
  &KLsplicing_substitutionGVdfmc_macro_expander,
  &KLsimple_sequence_substitutionGVdfmc_macro_expander,
  &KLcall_substitutionGVdfmc_macro_expander,
  &KLmacro_call_substitutionGVdfmc_macro_expander,
  &KLaux_rule_call_substitutionGVdfmc_macro_expander,
  &KLmacro_splicing_substitution_constraint_errorGVdfmc_macro_expander,
  &KLdefault_fragment_copierGVdfmc_macro_expander,
  &KLrewrite_ruleGVdfmc_macro_expander,
  &KLname_used_already_in_patternGVdfmc_macro_expander,
  &KLinvalid_constraintGVdfmc_macro_expander,
  &KLrewrite_rule_setGVdfmc_macro_expander,
  &KLaux_rewrite_rule_setGVdfmc_macro_expander,
  &KLfragment_expanderGVdfmc_macro_expander,
  &KLrewrite_rule_expanderGVdfmc_macro_expander,
  &KLunconstrained_pattern_variableGVdfmc_macro_expander,
  &KLunbound_template_pattern_variableGVdfmc_macro_expander,
  &KLmismatched_template_pattern_variableGVdfmc_macro_expander,
  &KLmacro_descriptorGVdfmc_macro_expander,
  &KLsimple_macro_descriptorGVdfmc_macro_expander,
  &KLsuffixed_macro_descriptorGVdfmc_macro_expander,
  &KLsubstitution_of_unbound_pattern_variableGVdfmc_macro_expander,
  &KLnon_macro_in_template_macro_callGVdfmc_macro_expander,
  &KLtemplate_parser_errorGVdfmc_macro_expander,
  &KLunexpected_end_of_template_errorGVdfmc_macro_expander
};

/* Code */


/* SYSTEM INIT CODE */

void _Init_dfmc_macro_expander__X_macro_expander_library_for_system () {
  extern dylan_value KPresolve_symbolVKiI(dylan_value);
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJtight_);
    if (T0 != &KJtight_) {
      primitive_slot_value_setter(T0, &K9, 4);
      primitive_slot_value_setter(T0, &K10, 4);
      primitive_slot_value_setter(T0, &K11, 4);
      primitive_slot_value_setter(T0, &K12, 4);
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_macro_expander__X_macro_expander_library_for_user () {
{
  dylan_value T0;

  Kinitialize_class_dispatch_keys_vectoredVKgI(&K15);
  Kaugment_rcpl_position_data_multipleVKiI(&KLwarningGVKd, &K1);
  T0 = Kaugment_class_known_jointVKiMM0I(&KLwarningGVKd, &K2);
  goto I0;
}
I0:

{
  dylan_value T0;

  T0 = &KPfalseVKi;
  goto I3;
}
I3:

{
  dylan_value T0;
  dylan_value T1;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/macro-expander-library.dylan:7
  T0 = primitive_runtime_module_handle();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/macro-expander/macro-expander-library.dylan:7
  T1 = KPlibrary_version_checkVKeI(&Kdfmc_macro_expander_libraryYdylan_userVdfmc_macro_expander, T0);
  goto I4;
}
I4:

  return;
}


/* eof */
