#include "opendylan/run-time.h"

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

/* Typedefs for referenced classes */

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
  dylan_value incremental_gf_module_;
  dylan_value incremental_gf_domain_info_;
  dylan_value incremental_gf_method_libraries_;
  dylan_value incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

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_;
} _KLfunction_classGVKi;

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;
  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;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
} _KLsimple_methodGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_values_;
} _KLsignatureAvaluesGVKi;

#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(8);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(16);

typedef struct {
  dylan_value wrapper;
} _KLintegerGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
} _KLsignatureGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value fragment_record_;
  dylan_value fragment_source_position_;
  dylan_value fragment_name_;
} _KLvariable_name_fragmentGVdfmc_reader;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
} _KLfunctionGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLempty_listGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value fragment_record_;
  dylan_value fragment_source_position_;
  dylan_value fragment_name_;
} _KLname_fragmentGVdfmc_reader;

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

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
  dylan_value iep_;
  dylan_value keyword_specifiers_;
} _KLkeyword_methodGVKe;

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

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_keys_;
  dylan_value signature_key_types_;
} _KLkeyword_signatureGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value class_properties_;
  dylan_value iclass_class_;
  dylan_value class_mm_wrapper_;
  dylan_value repeated_slot_descriptor_;
  dylan_value instance_slot_descriptors_;
  dylan_value iclass_dispatch_key_;
  dylan_value class_constructor_;
  dylan_value direct_superclasses_;
  dylan_value class_rcpl_vector_;
  dylan_value class_rcpl_position_;
  dylan_value class_rcpl_other_positions_;
  dylan_value class_known_joint_;
  dylan_value iclass_dependent_generics_;
  dylan_value iclass_subclass_dependent_generics_;
  dylan_value direct_subclasses_;
  dylan_value direct_methods_;
  dylan_value direct_slot_descriptors_;
  dylan_value slot_descriptors_;
  dylan_value direct_inherited_slot_descriptors_;
  dylan_value direct_initialization_argument_descriptors_;
  dylan_value class_slot_descriptors_;
  dylan_value defaulted_initialization_arguments_slot_;
  dylan_value class_slot_storage_;
} _KLimplementation_classGVKe;

typedef struct {
  dylan_value wrapper;
} _KLobject_with_elementsGVKe;

typedef struct {
  dylan_value wrapper;
} _KLmutable_object_with_elementsGVKe;

typedef struct {
  dylan_value wrapper;
} _KLcollectionGVKd;

typedef struct {
  dylan_value wrapper;
} _KLmutable_collectionGVKd;

typedef struct {
  dylan_value wrapper;
} _KLexplicit_key_collectionGVKd;

typedef struct {
  dylan_value wrapper;
} _KLmutable_explicit_key_collectionGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value stretchy_representation_;
} _KLstretchy_object_vectorGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_keys_;
  dylan_value signature_key_types_;
  dylan_value signature_values_;
} _KLkeyword_signatureAvaluesGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value slot_descriptor_properties_;
  dylan_value init_data_slot_;
  dylan_value slot_owner_;
  dylan_value init_keyword_;
  dylan_value slot_getter_;
  dylan_value slot_setter_;
  dylan_value slot_type_;
} _KLinstance_slot_descriptorGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
} _KLsealed_generic_functionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
} _KLobject_signatureGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value properties_;
  dylan_value engine_node_callback_;
  dylan_value engine_node_entry_point_;
} _KLabsent_engine_nodeGVKg;

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLpairGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value method_slot_descriptor_;
} _KLgetter_methodGVKi;

#define  define__KLsimple_closure_methodGVKi(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value xep_; \
    dylan_value function_signature_; \
    dylan_value mep_; \
    dylan_value environment_size_; \
    dylan_value environment_element_[nrepeated+1]; \
  } _KLsimple_closure_methodGVKi_##nrepeated;
define__KLsimple_closure_methodGVKi(0);

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


/* Typedefs for defined classes */

typedef struct {
  dylan_value wrapper;
  dylan_value entries_;
} _KLvariable_name_tableGVdfmc_reader;


/* Referenced object declarations */

dylan_value KPadd_classVKeI (dylan_value);
dylan_value KPadd_a_methodVKnI (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLlibraryGVKe Kdfmc_reader_libraryYdylan_userVdfmc_reader;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLincremental_generic_functionGVKe Kelement_setterVKd;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LintegerG_typesVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLvariable_name_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLvariable_name_fragmentGVdfmc_readerW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
dylan_value Kelement_range_errorVKeI (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Ksame_name_when_localQVdfmc_readerMM0;
dylan_value Kelement_setterVKdMM11I (dylan_value, dylan_value, dylan_value);
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
dylan_value KaddXVKdMM3I (dylan_value, dylan_value);
extern _KLclassGVKd KLname_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLname_fragmentGVdfmc_readerW;
dylan_value KerrorVKdMM1I (dylan_value, dylan_value);
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLsymbolGVKd KJdefault_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLclassGVKd KLobject_with_elementsGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_with_elementsGVKeW;
extern _KLclassGVKd KLmutable_object_with_elementsGVKe;
extern _KLmm_wrapperGVKi_0 KLmutable_object_with_elementsGVKeW;
extern _KLclassGVKd KLcollectionGVKd;
extern _KLmm_wrapperGVKi_0 KLcollectionGVKdW;
extern _KLclassGVKd KLmutable_collectionGVKd;
extern _KLmm_wrapperGVKi_0 KLmutable_collectionGVKdW;
extern _KLclassGVKd KLexplicit_key_collectionGVKd;
extern _KLmm_wrapperGVKi_0 KLexplicit_key_collectionGVKdW;
extern _KLclassGVKd KLmutable_explicit_key_collectionGVKd;
extern _KLmm_wrapperGVKi_0 KLmutable_explicit_key_collectionGVKdW;
extern _KLincremental_generic_functionGVKe KinitializeVKd;
dylan_value KLstretchy_object_vectorGZ32ZconstructorVKiMM0I (dylan_value, dylan_value);
extern _KLclassGVKd KLstretchy_object_vectorGVKe;
extern _KLmm_wrapperGVKi_0 KLstretchy_object_vectorGVKeW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
dylan_value Kclass_instanceQ_initialVKiI (dylan_value, dylan_value);
extern _KLmoduleGVKe Kdfmc_reader_moduleYdylan_userVdfmc_reader;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern dylan_value DunsuppliedYcommon_extensionsVcommon_dylan;

/* Defined object declarations */

extern _KLclassGVKd KLvariable_name_tableGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLvariable_name_tableGVdfmc_readerW;
extern _KLsimple_methodGVKe KsizeVKdMdfmc_readerM0;
dylan_value KsizeVKdMdfmc_readerM0I (dylan_value);
extern _KLkeyword_methodGVKe KelementVKdMdfmc_readerM0;
dylan_value KelementVKdMdfmc_readerM0I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kelement_setterVKdMdfmc_readerM0;
dylan_value Kelement_setterVKdMdfmc_readerM0I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kforward_iteration_protocolVKdMdfmc_readerM0;
dylan_value Kforward_iteration_protocolVKdMdfmc_readerM0I (dylan_value collection_);
extern _KLsimple_methodGVKe Ktable_next_stateVdfmc_reader;
dylan_value Ktable_next_stateVdfmc_readerI (dylan_value collection_, dylan_value state_);
extern _KLsimple_methodGVKe Ktable_finished_stateQVdfmc_reader;
dylan_value Ktable_finished_stateQVdfmc_readerI (dylan_value collection_, dylan_value state_, dylan_value limit_);
extern _KLsimple_methodGVKe Ktable_current_keyVdfmc_reader;
dylan_value Ktable_current_keyVdfmc_readerI (dylan_value collection_, dylan_value state_);
extern _KLsimple_methodGVKe Ktable_current_elementVdfmc_reader;
dylan_value Ktable_current_elementVdfmc_readerI (dylan_value collection_, dylan_value state_);
extern _KLsimple_methodGVKe Ktable_current_element_setterVdfmc_reader;
dylan_value Ktable_current_element_setterVdfmc_readerI (dylan_value new_value_, dylan_value collection_, dylan_value state_);
extern _KLsimple_methodGVKe Ktable_copy_stateVdfmc_reader;
dylan_value Ktable_copy_stateVdfmc_readerI (dylan_value collection_, dylan_value state_);
static _KLsignatureAvaluesGVKi K27;
static _KLsimple_object_vectorGVKd_2 K28;
static _KLsignatureGVKe K29;
static _KLsimple_object_vectorGVKd_3 K30;
static _KLsignatureGVKe K31;
static _KLsignatureAvaluesGVKi K32;
static _KLsimple_object_vectorGVKd_1 K33;
static _KLsignatureAvaluesGVKi K34;
static _KLsimple_object_vectorGVKd_3 K35;
static _KLsignatureAvaluesGVKi K36;
static _KLsimple_object_vectorGVKd_1 K37;
static _KLsimple_object_vectorGVKd_8 K38;
static _KLsignatureGVKe K39;
static _KLsimple_object_vectorGVKd_3 K40;
static _KLbyte_stringGVKd_76 K41;
static _KLkeyword_signatureGVKe K42;
static _KLsimple_object_vectorGVKd_2 K43;
static _KLsimple_object_vectorGVKd_2 K44;
static _KLsimple_object_vectorGVKd_1 K45;
static _KLsignatureAvaluesGVKi K46;
static _KLimplementation_classGVKe K47;
static _KLsimple_object_vectorGVKd_1 K48;
extern _KLkeyword_methodGVKe KLvariable_name_tableGZ32ZconstructorVdfmc_readerMM0;
dylan_value KLvariable_name_tableGZ32ZconstructorVdfmc_readerMM0I (dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_1 K51;
static _KLsimple_object_vectorGVKd_8 K52;
static dylan_value K54I ();
static _KLkeyword_signatureAvaluesGVKi K55;
extern _KLinstance_slot_descriptorGVKe KentriesVdfmc_readerHLvariable_name_tableG;
static _KLsimple_closure_methodGVKi_0 K63;
static dylan_value K63I ();
extern _KLsealed_generic_functionGVKe KentriesVdfmc_reader;
extern _KLgetter_methodGVKi KentriesVdfmc_readerMM0;
static _KLpairGVKd K61;
static _KLbyte_stringGVKd_7 K62;
static _KLsignatureGVKe K64;
static _KLbyte_stringGVKd_21 K65;

/* Indirection variables */


/* Variables */

dylan_value Lvariable_name_tableGVdfmc_reader = &KLvariable_name_tableGVdfmc_reader;
dylan_value table_next_stateVdfmc_reader = &Ktable_next_stateVdfmc_reader;
dylan_value table_finished_stateQVdfmc_reader = &Ktable_finished_stateQVdfmc_reader;
dylan_value table_current_keyVdfmc_reader = &Ktable_current_keyVdfmc_reader;
dylan_value table_current_elementVdfmc_reader = &Ktable_current_elementVdfmc_reader;
dylan_value table_current_element_setterVdfmc_reader = &Ktable_current_element_setterVdfmc_reader;
dylan_value table_copy_stateVdfmc_reader = &Ktable_copy_stateVdfmc_reader;

/* Objects */

_KLclassGVKd KLvariable_name_tableGVdfmc_reader = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K65,
  &K47,
  (dylan_value) 1,
  &Kdfmc_reader_moduleYdylan_userVdfmc_reader
};

_KLmm_wrapperGVKi_0 KLvariable_name_tableGVdfmc_readerW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K47,
  (dylan_value) 4097,
  5,
  33554439,
  (dylan_value) 1
};

_KLsimple_methodGVKe KsizeVKdMdfmc_readerM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K46,
  &KsizeVKdMdfmc_readerM0I
};

_KLkeyword_methodGVKe KelementVKdMdfmc_readerM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K42,
  &key_mep_4,
  &KelementVKdMdfmc_readerM0I,
  &K43
};

_KLsimple_methodGVKe Kelement_setterVKdMdfmc_readerM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K39,
  &Kelement_setterVKdMdfmc_readerM0I
};

_KLsimple_methodGVKe Kforward_iteration_protocolVKdMdfmc_readerM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K36,
  &Kforward_iteration_protocolVKdMdfmc_readerM0I
};

_KLsimple_methodGVKe Ktable_next_stateVdfmc_reader = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K27,
  &Ktable_next_stateVdfmc_readerI
};

_KLsimple_methodGVKe Ktable_finished_stateQVdfmc_reader = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K34,
  &Ktable_finished_stateQVdfmc_readerI
};

_KLsimple_methodGVKe Ktable_current_keyVdfmc_reader = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K32,
  &Ktable_current_keyVdfmc_readerI
};

_KLsimple_methodGVKe Ktable_current_elementVdfmc_reader = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K31,
  &Ktable_current_elementVdfmc_readerI
};

_KLsimple_methodGVKe Ktable_current_element_setterVdfmc_reader = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K29,
  &Ktable_current_element_setterVdfmc_readerI
};

_KLsimple_methodGVKe Ktable_copy_stateVdfmc_reader = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K27,
  &Ktable_copy_stateVdfmc_readerI
};

static _KLsignatureAvaluesGVKi K27 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K28,
  &KDsignature_LintegerG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K28 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLvariable_name_tableGVdfmc_reader,
  &KLintegerGVKd
};

static _KLsignatureGVKe K29 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944077,
  &K30
};

static _KLsimple_object_vectorGVKd_3 K30 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLobjectGVKd,
  &KLvariable_name_tableGVdfmc_reader,
  &KLintegerGVKd
};

static _KLsignatureGVKe K31 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944073,
  &K28
};

static _KLsignatureAvaluesGVKi K32 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K28,
  &K33
};

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

static _KLsignatureAvaluesGVKi K34 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555469,
  &K35,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_3 K35 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLvariable_name_tableGVdfmc_reader,
  &KLintegerGVKd,
  &KLintegerGVKd
};

static _KLsignatureAvaluesGVKi K36 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33562629,
  &K37,
  &K38
};

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

static _KLsimple_object_vectorGVKd_8 K38 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &KLintegerGVKd,
  &KLintegerGVKd,
  &KLfunctionGVKd,
  &KLfunctionGVKd,
  &KLfunctionGVKd,
  &KLfunctionGVKd,
  &KLfunctionGVKd,
  &KLfunctionGVKd
};

static _KLsignatureGVKe K39 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944077,
  &K40
};

static _KLsimple_object_vectorGVKd_3 K40 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLobjectGVKd,
  &KLvariable_name_tableGVdfmc_reader,
  &KLname_fragmentGVdfmc_reader
};

static _KLbyte_stringGVKd_76 K41 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 305,
  "No name matching %= found in variable name table %= and no default supplied."
};

static _KLkeyword_signatureGVKe K42 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (dylan_value) 42206217,
  &K44,
  &K45,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K43 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJdefault_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_2 K44 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLvariable_name_tableGVdfmc_reader,
  &KLname_fragmentGVdfmc_reader
};

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

static _KLsignatureAvaluesGVKi K46 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K37,
  &KDsignature_LintegerG_typesVKi
};

static _KLimplementation_classGVKe K47 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433733,
  &KLvariable_name_tableGVdfmc_reader,
  &KLvariable_name_tableGVdfmc_readerW,
  &KPfalseVKi,
  &K48,
  (dylan_value) -3,
  &KLvariable_name_tableGZ32ZconstructorVdfmc_readerMM0,
  &K51,
  &K52,
  (dylan_value) 29,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K48,
  &K48,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

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

_KLkeyword_methodGVKe KLvariable_name_tableGZ32ZconstructorVdfmc_readerMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_2,
  &K55,
  &key_mep_2,
  &KLvariable_name_tableGZ32ZconstructorVdfmc_readerMM0I,
  &KPempty_vectorVKi
};

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

static _KLsimple_object_vectorGVKd_8 K52 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &KLobjectGVKd,
  &KLobject_with_elementsGVKe,
  &KLmutable_object_with_elementsGVKe,
  &KLcollectionGVKd,
  &KLmutable_collectionGVKd,
  &KLexplicit_key_collectionGVKd,
  &KLmutable_explicit_key_collectionGVKd,
  &KLvariable_name_tableGVdfmc_reader
};

static _KLkeyword_signatureAvaluesGVKi K55 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K37
};

_KLinstance_slot_descriptorGVKe KentriesVdfmc_readerHLvariable_name_tableG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 149,
  &K63,
  &KLvariable_name_tableGVdfmc_reader,
  &KPfalseVKi,
  &KentriesVdfmc_reader,
  &KPfalseVKi,
  &KLstretchy_object_vectorGVKe
};

static _KLsimple_closure_methodGVKi_0 K63 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K64,
  &K63I,
  (dylan_value) 1
};

_KLsealed_generic_functionGVKe KentriesVdfmc_reader = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K62,
  &K61,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi KentriesVdfmc_readerMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &KentriesVdfmc_readerHLvariable_name_tableG
};

static _KLpairGVKd K61 = {
  &KLpairGVKdW /* wrapper */,
  &KentriesVdfmc_readerMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_7 K62 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 29,
  "entries"
};

static _KLsignatureGVKe K64 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944065,
  &KPempty_vectorVKi
};

static _KLbyte_stringGVKd_21 K65 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 85,
  "<variable-name-table>"
};

/* Code */

dylan_value KsizeVKdMdfmc_readerM0I (dylan_value table_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:14
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:15
  T2 = SLOT_VALUE_INITD(table_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:15
  T3 = SLOT_VALUE_INITD(T2, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:15
  T4 = SLOT_VALUE_INITD(T3, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:15
  T5_0 = T4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:14
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value KelementVKdMdfmc_readerM0I (dylan_value table_, dylan_value name_, dylan_value Urest_, dylan_value default_) {
  dylan_value T5;
  dylan_value defaultF6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  _KLsimple_object_vectorGVKd_2 T17 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T18;
  DWORD T19;
  dylan_value T20;
  DWORD T21;
  dylan_value T22;
  DWORD indexF23T, indexF23;
  DWORD T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28;
  DWORD T29;
  dylan_value T30;
  dylan_value T31;
  dylan_value T32_0;
  dylan_value T33;
  dylan_value T34;
  dylan_value T35;
  dylan_value T36;
  DWORD T37;
  dylan_value T38;
  dylan_value T39;
  dylan_value T40_0;
  dylan_value T41_0;
  dylan_value T42_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:18
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:18
  T7 = primitive_idQ(default_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:18
  if (T7 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:18
    T5 = DunsuppliedYcommon_extensionsVcommon_dylan;
    defaultF6 = T5;
  } else {
    defaultF6 = default_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:18
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:22
  T8 = SLOT_VALUE_INITD(table_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:23
  T9 = SLOT_VALUE_INITD(T8, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:23
  T10 = SLOT_VALUE_INITD(T9, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:25
  T24 = primitive_cast_integer_as_raw(T10);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:38
  indexF23T = 1;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:38
    indexF23 = indexF23T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:25
    T26 = primitive_cast_raw_as_integer(indexF23);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:25
    T25 = primitive_machine_word_less_thanQ(indexF23,T24);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:25
    if (T25 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:34
      T27 = SLOT_VALUE_INITD(T8, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:34
      T28 = SLOT_VALUE_INITD(T27, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:34
      T29 = primitive_cast_integer_as_raw(T28);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:34
      T30 = primitive_machine_word_unsigned_less_thanQ(indexF23,T29);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:34
      if (T30 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:34
        T31 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(T27, 2, indexF23);
        T34 = T31;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:34
        T32_0 = Kelement_range_errorVKeI(T8, T26);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:34
        T33 = T32_0;
        T34 = T33;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:34
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:35
      T13 = CALL2(&Ksame_name_when_localQVdfmc_readerMM0, name_, T34);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:35
      if (T13 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
        T19 = primitive_machine_word_add_signal_overflow(indexF23,4);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
        T20 = primitive_cast_raw_as_integer(T19);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
        T35 = SLOT_VALUE_INITD(T8, 0);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
        T36 = SLOT_VALUE_INITD(T35, 0);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
        T37 = primitive_cast_integer_as_raw(T36);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
        T38 = primitive_machine_word_unsigned_less_thanQ(T19,T37);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
        if (T38 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
          T39 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(T35, 2, T19);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
          T40_0 = T39;
          T42_0 = T40_0;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
          T41_0 = Kelement_range_errorVKeI(T8, T20);
          T42_0 = T41_0;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:36
        T14 = T42_0;
        MV_SET_COUNT(1);
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:38
        T21 = primitive_machine_word_add_signal_overflow(indexF23,8);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:38
        indexF23T = T21;
        goto L0;
        T14 = T22;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:35
      T15 = T14;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:26
      T16 = primitive_idQ(defaultF6,DunsuppliedYcommon_extensionsVcommon_dylan);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:26
      if (T16 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:29
        T17.vector_element_[0] = name_;
        T17.vector_element_[1] = table_;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:29
        T18 = KerrorVKdMM1I(&K41, &T17);
        T12 = T18;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:27
        T11 = defaultF6;
        MV_SET_ELT(0, defaultF6);
        MV_SET_COUNT(1);
        T12 = T11;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:26
      T15 = T12;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:25
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:38
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:18
  return(T15);
}

dylan_value Kelement_setterVKdMdfmc_readerM0I (dylan_value value_, dylan_value table_, dylan_value name_) {
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  DWORD T12;
  dylan_value T13;
  DWORD T14;
  dylan_value T15;
  DWORD indexF16T, indexF16;
  DWORD T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  DWORD T22;
  dylan_value T23;
  dylan_value T24;
  dylan_value T25_0;
  dylan_value T26;
  dylan_value T27;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:44
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:47
  T4 = SLOT_VALUE_INITD(table_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:48
  T5 = SLOT_VALUE_INITD(T4, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:48
  T6 = SLOT_VALUE_INITD(T5, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:50
  T17 = primitive_cast_integer_as_raw(T6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:59
  indexF16T = 1;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:59
    indexF16 = indexF16T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:50
    T19 = primitive_cast_raw_as_integer(indexF16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:50
    T18 = primitive_machine_word_less_thanQ(indexF16,T17);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:50
    if (T18 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:55
      T20 = SLOT_VALUE_INITD(T4, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:55
      T21 = SLOT_VALUE_INITD(T20, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:55
      T22 = primitive_cast_integer_as_raw(T21);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:55
      T23 = primitive_machine_word_unsigned_less_thanQ(indexF16,T22);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:55
      if (T23 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:55
        T24 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(T20, 2, indexF16);
        T27 = T24;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:55
        T25_0 = Kelement_range_errorVKeI(T4, T19);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:55
        T26 = T25_0;
        T27 = T26;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:55
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:56
      T8 = CALL2(&Ksame_name_when_localQVdfmc_readerMM0, name_, T27);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:56
      if (T8 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:57
        T12 = primitive_machine_word_add_signal_overflow(indexF16,4);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:57
        T13 = primitive_cast_raw_as_integer(T12);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:57
        Kelement_setterVKdMM11I(value_, T4, T13);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:57
        T9 = value_;
        MV_SET_ELT(0, value_);
        MV_SET_COUNT(1);
        T10 = T9;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:59
        T14 = primitive_machine_word_add_signal_overflow(indexF16,8);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:59
        indexF16T = T14;
        goto L0;
        T10 = T15;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:56
      T11 = T10;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:51
      KaddXVKdMM3I(T4, name_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:52
      KaddXVKdMM3I(T4, value_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:53
      T7 = value_;
      MV_SET_ELT(0, value_);
      MV_SET_COUNT(1);
      T11 = T7;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:50
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:59
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:44
  return(T11);
}

dylan_value Kforward_iteration_protocolVKdMdfmc_readerM0I (dylan_value collection_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5_0;
  dylan_value T5_1;
  dylan_value T5_2;
  dylan_value T5_3;
  dylan_value T5_4;
  dylan_value T5_5;
  dylan_value T5_6;
  dylan_value T5_7;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:101
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:109
  T2 = SLOT_VALUE_INITD(collection_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:109
  T3 = SLOT_VALUE_INITD(T2, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:109
  T4 = SLOT_VALUE_INITD(T3, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:108
  T5_0 = (dylan_value) 1;
  T5_1 = T4;
  T5_2 = &Ktable_next_stateVdfmc_reader;
  T5_3 = &Ktable_finished_stateQVdfmc_reader;
  T5_4 = &Ktable_current_keyVdfmc_reader;
  T5_5 = &Ktable_current_elementVdfmc_reader;
  T5_6 = &Ktable_current_element_setterVdfmc_reader;
  T5_7 = &Ktable_copy_stateVdfmc_reader;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:101
  MV_SET_ELT(1, T5_1);
  MV_SET_ELT(2, T5_2);
  MV_SET_ELT(3, T5_3);
  MV_SET_ELT(4, T5_4);
  MV_SET_ELT(5, T5_5);
  MV_SET_ELT(6, T5_6);
  MV_SET_ELT(7, T5_7);
  MV_SET_COUNT(8);
  return(T5_0);
}

dylan_value Ktable_next_stateVdfmc_readerI (dylan_value collection_, dylan_value state_) {
  DWORD T3;
  DWORD T4;
  dylan_value T5;
  dylan_value T6_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:65
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:68
  T3 = primitive_cast_integer_as_raw(state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:68
  T4 = primitive_machine_word_add_signal_overflow(T3,8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:68
  T5 = primitive_cast_raw_as_integer(T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:68
  T6_0 = T5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:65
  MV_SET_COUNT(1);
  return(T6_0);
}

dylan_value Ktable_finished_stateQVdfmc_readerI (dylan_value collection_, dylan_value state_, dylan_value limit_) {
  DWORD T4;
  DWORD T5;
  dylan_value T6;
  dylan_value T7_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:71
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:75
  T4 = primitive_cast_integer_as_raw(state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:75
  T5 = primitive_cast_integer_as_raw(limit_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:75
  T6 = primitive_machine_word_equalQ(T4,T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:75
  T7_0 = T6;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:71
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value Ktable_current_keyVdfmc_readerI (dylan_value collection_, dylan_value state_) {
  dylan_value T2_0;
  dylan_value T3_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:78
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:81
  CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
  T2_0 = CONGRUENT_CALL3(collection_, state_, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:78
  T3_0 = T2_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T2_0);
    primitive_type_check(T3_0, &KLvariable_name_fragmentGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:78
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Ktable_current_elementVdfmc_readerI (dylan_value collection_, dylan_value state_) {
  dylan_value T2_0;
  DWORD T3;
  DWORD T4;
  dylan_value T5;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:84
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:86
  T3 = primitive_cast_integer_as_raw(state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:86
  T4 = primitive_machine_word_add_signal_overflow(T3,4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:86
  T5 = primitive_cast_raw_as_integer(T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:86
  CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
  T2_0 = CONGRUENT_CALL3(collection_, T5, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:84
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Ktable_current_element_setterVdfmc_readerI (dylan_value new_value_, dylan_value collection_, dylan_value state_) {
  dylan_value T3_0;
  DWORD T4;
  DWORD T5;
  dylan_value T6;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:89
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:92
  T4 = primitive_cast_integer_as_raw(state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:92
  T5 = primitive_machine_word_add_signal_overflow(T4,4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:92
  T6 = primitive_cast_raw_as_integer(T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:92
  CONGRUENT_CALL_PROLOG(&Kelement_setterVKd, 3);
  CONGRUENT_CALL3(new_value_, collection_, T6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:92
  T3_0 = new_value_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:89
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Ktable_copy_stateVdfmc_readerI (dylan_value collection_, dylan_value state_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:95
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:98
  T2_0 = state_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:95
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value KLvariable_name_tableGZ32ZconstructorVdfmc_readerMM0I (dylan_value class_, dylan_value init_args_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:9
  T3 = primitive_object_allocate_filled(2,&KLvariable_name_tableGVdfmc_readerW,1,&KPunboundVKi,0,0,&KPunboundVKi);
  T4 = K54I();
  SLOT_VALUE_SETTER(T4, T3, 0);
  APPLY2(&KinitializeVKd, T3, init_args_);
  T5_0 = T3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:9
  MV_SET_COUNT(1);
  return(T5_0);
}

static dylan_value K54I () {
  dylan_value T0_0;
  dylan_value T1;
  dylan_value T2_0;

  T2_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  T1 = T2_0;
  T0_0 = T1;
  MV_SET_COUNT(1);
  return(T0_0);
}

static dylan_value K63I () {
  dylan_value T0_0;
  dylan_value T1;
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:11
  T2_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:11
  T1 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:11
  T0_0 = T1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:11
  MV_SET_COUNT(1);
  return(T0_0);
}


/* SYSTEM INIT CODE */

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:9
  T0 = KPadd_classVKeI(&KLvariable_name_tableGVdfmc_reader);
  goto I0;
}
I0:

  return;
}

/* USER INIT CODE */

void _Init_dfmc_reader__X_name_table_for_user () {
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:14
  T0 = KPadd_a_methodVKnI(&KsizeVKd, &KsizeVKdMdfmc_readerM0, &Kdfmc_reader_libraryYdylan_userVdfmc_reader, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I5;
}
I5:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:18
  T0 = KPadd_a_methodVKnI(&KelementVKd, &KelementVKdMdfmc_readerM0, &Kdfmc_reader_libraryYdylan_userVdfmc_reader, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I8;
}
I8:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:44
  T0 = KPadd_a_methodVKnI(&Kelement_setterVKd, &Kelement_setterVKdMdfmc_readerM0, &Kdfmc_reader_libraryYdylan_userVdfmc_reader, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I11;
}
I11:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/name-table.dylan:101
  T0 = KPadd_a_methodVKnI(&Kforward_iteration_protocolVKd, &Kforward_iteration_protocolVKdMdfmc_readerM0, &Kdfmc_reader_libraryYdylan_userVdfmc_reader, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I14;
}
I14:

  return;
}


/* eof */
