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

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

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_;
  dylan_value source_record_missing_record_;
} _KLsource_record_missingGVsource_records;

typedef struct {
  dylan_value wrapper;
  dylan_value handler_type_;
  dylan_value handler_function_;
  dylan_value handler_test_;
  dylan_value handler_init_arguments_;
} _KLhandlerGVKi;

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;

#define  define__KLsimple_byte_vectorGVKe(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value byte_vector_element_[nrepeated+1]; \
  } _KLsimple_byte_vectorGVKe_##nrepeated;

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

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

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;

typedef struct {
  dylan_value wrapper;
} _KLstringGVKd;

typedef struct {
  dylan_value wrapper;
} _KLcharacterGVKd;

#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 signature_properties_;
  dylan_value signature_required_;
} _KLsignatureGVKe;

typedef struct {
  dylan_value wrapper;
} _KLintegerGVKd;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(29);
define__KLbyte_stringGVKd(38);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(23);

typedef struct {
  dylan_value wrapper;
  dylan_value compilation_record_original_library_;
  dylan_value private_compilation_record_module_;
  dylan_value private_compilation_record_top_level_forms_;
  dylan_value compilation_record_definitions_installedQ_;
  dylan_value compilation_record_model_heap_;
  dylan_value private_compilation_record_heap_referenced_objects_;
  dylan_value compilation_record_needs_linkingQ_;
  dylan_value compilation_record_sequence_number_;
  dylan_value compilation_record_source_record_;
  dylan_value compilation_record_source_line_count_;
  dylan_value compilation_record_model_properties_;
  dylan_value private_compilation_record_dependency_table_;
  dylan_value private_compilation_record_dispatch_decisions_;
  dylan_value compilation_record_inline_only_table_;
  dylan_value private_compilation_record_back_end_data_;
  dylan_value compilation_record_approximate_model_heap_size_;
  dylan_value compilation_record_data_size_;
  dylan_value compilation_record_code_size_;
  dylan_value compilation_record_preceding_line_count_;
} _KLcompilation_recordGVdfmc_common;

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 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 source_location_record_;
  dylan_value source_location_start_offset_;
  dylan_value source_location_end_offset_;
} _KLcompiler_range_source_locationGVdfmc_reader;

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

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 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 xep_;
  dylan_value method_slot_descriptor_;
} _KLsetter_methodGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value union_type1_;
  dylan_value union_type2_;
} _KLunionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value singleton_object_;
} _KLsingletonGVKd;

typedef struct {
  dylan_value wrapper;
} _KLsource_recordGVsource_records;

#define  define__KLstandalone_domainGVKe(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value domain_library_; \
    dylan_value domain_next_; \
    dylan_value domain_number_required_; \
    dylan_value domain_type_[nrepeated+1]; \
  } _KLstandalone_domainGVKe_##nrepeated;
define__KLstandalone_domainGVKe(1);

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

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 source_location_record_;
  dylan_value start_posn_;
  dylan_value end_posn_;
  dylan_value source_location_source_position_;
} _KLlexer_source_locationGVdfmc_reader;


/* Referenced object declarations */

dylan_value KPadd_classVKeI (dylan_value);
dylan_value KPadd_nonsiblinged_domainVKnI (dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe KmakeVKd;
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 _KLincremental_generic_functionGVKe KinitializeVKd;
dylan_value KPadd_a_methodVKnI (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe Ksource_location_source_recordVsource_records;
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 Ksource_location_start_offsetVsource_records;
extern _KLincremental_generic_functionGVKe Ksource_location_end_offsetVsource_records;
dylan_value KPadd_methodVKnI (dylan_value, dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe Ksource_offset_character_inVsource_records;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLsymbolGVKd KJtype_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLsource_record_missingGVsource_records;
extern _KLmm_wrapperGVKi_0 KLsource_record_missingGVsource_recordsW;
extern _KLsymbolGVKd KJfunction_;
extern _KLsymbolGVKd KJtest_;
extern _KLsymbolGVKd KJinit_arguments_;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
dylan_value KLhandlerGZ32ZconstructorVKiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLhandlerGVKi;
extern _KLmm_wrapperGVKi_0 KLhandlerGVKiW;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLsealed_generic_functionGVKe Klibrary_description_personalQVdfmc_common;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLincremental_generic_functionGVKe Ksource_record_contentsVsource_records;
extern _KLclassGVKd KLsimple_byte_vectorGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_byte_vectorGVKeW;
extern _KLincremental_generic_functionGVKe Ksource_offset_lineVsource_records;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLclassGVKd KLpairGVKd;
extern _KLincremental_generic_functionGVKe KAVKd;
extern _KLincremental_generic_functionGVKe Ksource_offset_columnVsource_records;
extern _KLsealed_generic_functionGVKe KfirstVKd;
extern _KLincremental_generic_functionGVKe KsizeVKd;
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 _KLsimple_object_vectorGVKd_2 KDsignature_LstringG_typesVKi;
extern _KLincremental_generic_functionGVKe Kcollector_protocolYcollectorsVcollections;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLcharacterGVKd;
extern _KLmm_wrapperGVKi_0 KLcharacterGVKdW;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
dylan_value KmakeVKdMM33I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLcompilation_recordGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLcompilation_recordGVdfmc_commonW;
dylan_value Kcopy_bytesYbyte_vectorVcommon_dylanMM6I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLsymbolGVKd KJstart_;
extern _KLsymbolGVKd KJend_;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_Lbyte_stringG_typesVKi;
dylan_value Ksource_location_start_characterVsource_recordsI (dylan_value);
dylan_value Ksource_location_end_characterVsource_recordsI (dylan_value);
extern _KLclassGVKd KLcompiler_range_source_locationGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLcompiler_range_source_locationGVdfmc_readerW;
dylan_value KerrorVKdMM1I (dylan_value, dylan_value);
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLsealed_generic_functionGVKe Ksource_location_source_positionVdfmc_reader;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
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 KLsetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsetter_methodGVKiW;
extern _KLsealed_generic_functionGVKe Ksource_location_recordVdfmc_reader;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
dylan_value Kunion_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
dylan_value Ksingleton_pointer_idQ_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLsource_recordGVsource_records;
extern _KLmm_wrapperGVKi_0 KLsource_recordGVsource_recordsW;
extern _KLunionGVKe KLrange_source_offsetGVdfmc_reader;
extern _KLsealed_generic_functionGVKe Ksource_position_end_offsetVdfmc_reader;
extern _KLsealed_generic_functionGVKe Ksource_position_start_offsetVdfmc_reader;
extern _KLsealed_generic_functionGVKe Kcompilation_record_source_recordVdfmc_common;
extern _KLclassGVKd KLstandalone_domainGVKe;
extern _KLmm_wrapperGVKi_0 KLstandalone_domainGVKeW;
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLclassGVKd KLsource_locationGVsource_records;
extern _KLmm_wrapperGVKi_0 KLsource_locationGVsource_recordsW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
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 Dminimum_integerVKd;
extern dylan_value Tcurrent_handlersTVKi;

/* Defined object declarations */

extern _KLclassGVKd KLlexer_source_locationGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLlexer_source_locationGVdfmc_readerW;
extern _KLstandalone_domainGVKe_1 KmakeVKdRD_dfmc_readerRD_2;
extern _KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_readerRD_2;
extern _KLsimple_methodGVKe Ksource_location_source_recordVsource_recordsMdfmc_readerM1;
dylan_value Ksource_location_source_recordVsource_recordsMdfmc_readerM1I (dylan_value);
extern _KLsimple_methodGVKe Ksource_location_start_offsetVsource_recordsMdfmc_readerM1;
dylan_value Ksource_location_start_offsetVsource_recordsMdfmc_readerM1I (dylan_value);
extern _KLsimple_methodGVKe Ksource_location_end_offsetVsource_recordsMdfmc_readerM1;
dylan_value Ksource_location_end_offsetVsource_recordsMdfmc_readerM1I (dylan_value);
extern _KLsimple_methodGVKe Ksource_offset_character_inVsource_recordsMdfmc_readerM0;
dylan_value Ksource_offset_character_inVsource_recordsMdfmc_readerM0I (dylan_value, dylan_value);
extern _KLgetter_methodGVKi Ksource_location_recordVdfmc_readerMM1;
extern _KLgetter_methodGVKi Ksource_location_source_positionVdfmc_readerMM1;
extern _KLsimple_methodGVKe KcontentsVdfmc_reader;
dylan_value KcontentsVdfmc_readerI (dylan_value source_);
dylan_value KLlexer_source_locationGZ32ZconstructorVdfmc_readerMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kextract_token_textVdfmc_reader;
dylan_value Kextract_token_textVdfmc_readerI (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kextract_stringVdfmc_reader;
dylan_value Kextract_stringVdfmc_readerI (dylan_value loc_, dylan_value Urest_, dylan_value the_start_, dylan_value the_end_);
dylan_value Kextract_linesVdfmc_readerI (dylan_value);
static _KLsimple_closure_methodGVKi_0 KUhandler_functionUF40;
static dylan_value KUhandler_functionUF40I (dylan_value, dylan_value);
dylan_value Kcompute_line_start_characterVdfmc_readerI (dylan_value, dylan_value);
dylan_value Kcopy_next_lineVdfmc_readerI (dylan_value, dylan_value);
dylan_value Kmake_closed_upper_decoratorVdfmc_readerI (dylan_value, dylan_value);
dylan_value Kmake_closed_lower_decoratorVdfmc_readerI (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kmake_open_upper_decoratorVdfmc_reader;
dylan_value Kmake_open_upper_decoratorVdfmc_readerI (dylan_value, dylan_value);
dylan_value Kmake_open_lower_decoratorVdfmc_readerI (dylan_value);
static _KLsignatureAvaluesGVKi K39;
static _KLsignatureGVKe K41;
static _KLsimple_object_vectorGVKd_2 K42;
static _KLkeyword_signatureAvaluesGVKi K43;
static _KLsimple_object_vectorGVKd_4 K44;
static _KLsimple_object_vectorGVKd_1 K45;
static _KLsimple_object_vectorGVKd_2 K46;
static _KLkeyword_signatureAvaluesGVKi K47;
static _KLsimple_object_vectorGVKd_1 K48;
static _KLsymbolGVKd KJstart_posn_;
static _KLbyte_stringGVKd_23 K50;
static _KLsymbolGVKd KJend_posn_;
static _KLbyte_stringGVKd_8 K52;
static _KLbyte_stringGVKd_10 K53;
static _KLsignatureAvaluesGVKi K54;
static _KLsimple_object_vectorGVKd_1 K55;
static _KLsimple_object_vectorGVKd_1 K56;
extern _KLinstance_slot_descriptorGVKe Ksource_location_source_positionVdfmc_readerHLlexer_source_locationG;
extern _KLsealed_generic_functionGVKe Ksource_location_source_position_setterVdfmc_reader;
extern _KLsetter_methodGVKi Ksource_location_source_position_setterVdfmc_readerMM0;
static _KLpairGVKd K60;
static _KLbyte_stringGVKd_38 K61;
extern _KLinstance_slot_descriptorGVKe Ksource_location_recordVdfmc_readerHLlexer_source_locationG;
extern _KLsealed_generic_functionGVKe Ksource_location_record_setterVdfmc_reader;
static _KLunionGVKe K64;
static _KLsingletonGVKd K65;
extern _KLsetter_methodGVKi Ksource_location_record_setterVdfmc_readerMM0;
static _KLpairGVKd K67;
static _KLbyte_stringGVKd_29 K68;
static _KLsignatureAvaluesGVKi K69;
static _KLsimple_object_vectorGVKd_2 K70;
static _KLsignatureAvaluesGVKi K71;
static _KLsignatureGVKe K72;
static _KLsingletonGVKd K73;
static _KLimplementation_classGVKe K74;
static _KLsimple_object_vectorGVKd_4 K75;
extern _KLkeyword_methodGVKe KLlexer_source_locationGZ32ZconstructorVdfmc_readerMM0;
static _KLsimple_object_vectorGVKd_1 K77;
static _KLsimple_object_vectorGVKd_6 K78;
static _KLkeyword_signatureAvaluesGVKi K79;
static _KLsimple_object_vectorGVKd_4 K80;
static _KLsimple_object_vectorGVKd_2 K81;
extern _KLinstance_slot_descriptorGVKe Kstart_posnVdfmc_readerHLlexer_source_locationG;
extern _KLinstance_slot_descriptorGVKe Kend_posnVdfmc_readerHLlexer_source_locationG;
extern _KLsealed_generic_functionGVKe Kend_posnVdfmc_reader;
extern _KLsealed_generic_functionGVKe Kend_posn_setterVdfmc_reader;
extern _KLsetter_methodGVKi Kend_posn_setterVdfmc_readerMM0;
static _KLpairGVKd K87;
static _KLbyte_stringGVKd_15 K88;
extern _KLgetter_methodGVKi Kend_posnVdfmc_readerMM0;
static _KLpairGVKd K90;
extern _KLsealed_generic_functionGVKe Kstart_posnVdfmc_reader;
extern _KLsealed_generic_functionGVKe Kstart_posn_setterVdfmc_reader;
extern _KLsetter_methodGVKi Kstart_posn_setterVdfmc_readerMM0;
static _KLpairGVKd K94;
static _KLbyte_stringGVKd_17 K95;
extern _KLgetter_methodGVKi Kstart_posnVdfmc_readerMM0;
static _KLpairGVKd K97;
static _KLbyte_stringGVKd_23 K98;

/* Indirection variables */

static dylan_value IKJstart_posn_ = &KJstart_posn_;
static dylan_value IKJend_posn_ = &KJend_posn_;

/* Variables */

dylan_value Llexer_source_locationGVdfmc_reader = &KLlexer_source_locationGVdfmc_reader;
dylan_value extract_stringVdfmc_reader = &Kextract_stringVdfmc_reader;
dylan_value extract_token_textVdfmc_reader = &Kextract_token_textVdfmc_reader;
dylan_value runtime_Dminimum_integerVdfmc_reader = &KPunboundVKi;
dylan_value Tcurrent_moduleTVdfmc_reader = &KPfalseVKi;
dylan_value contentsVdfmc_reader = &KcontentsVdfmc_reader;

/* Objects */

_KLclassGVKd KLlexer_source_locationGVdfmc_reader = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K98,
  &K74,
  (dylan_value) 1,
  &Kdfmc_reader_moduleYdylan_userVdfmc_reader
};

_KLmm_wrapperGVKi_0 KLlexer_source_locationGVdfmc_readerW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K74,
  (dylan_value) 1,
  17,
  33554439,
  (dylan_value) 1
};

_KLstandalone_domainGVKe_1 KmakeVKdRD_dfmc_readerRD_2 = {
  &KLstandalone_domainGVKeW /* wrapper */,
  &Kdfmc_reader_libraryYdylan_userVdfmc_reader,
  &KPfalseVKi,
  (dylan_value) 5,
  &K73
};

_KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_readerRD_2 = {
  &KLstandalone_domainGVKeW /* wrapper */,
  &Kdfmc_reader_libraryYdylan_userVdfmc_reader,
  &KPfalseVKi,
  (dylan_value) 5,
  &KLlexer_source_locationGVdfmc_reader
};

_KLsimple_methodGVKe Ksource_location_source_recordVsource_recordsMdfmc_readerM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K72,
  &Ksource_location_source_recordVsource_recordsMdfmc_readerM1I
};

_KLsimple_methodGVKe Ksource_location_start_offsetVsource_recordsMdfmc_readerM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K71,
  &Ksource_location_start_offsetVsource_recordsMdfmc_readerM1I
};

_KLsimple_methodGVKe Ksource_location_end_offsetVsource_recordsMdfmc_readerM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K71,
  &Ksource_location_end_offsetVsource_recordsMdfmc_readerM1I
};

_KLsimple_methodGVKe Ksource_offset_character_inVsource_recordsMdfmc_readerM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K69,
  &Ksource_offset_character_inVsource_recordsMdfmc_readerM0I
};

_KLgetter_methodGVKi Ksource_location_recordVdfmc_readerMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Ksource_location_recordVdfmc_readerHLlexer_source_locationG
};

_KLgetter_methodGVKi Ksource_location_source_positionVdfmc_readerMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Ksource_location_source_positionVdfmc_readerHLlexer_source_locationG
};

_KLsimple_methodGVKe KcontentsVdfmc_reader = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K54,
  &KcontentsVdfmc_readerI
};

_KLkeyword_methodGVKe Kextract_token_textVdfmc_reader = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K47,
  &key_mep_4,
  &Kextract_token_textVdfmc_readerI,
  &K44
};

_KLkeyword_methodGVKe Kextract_stringVdfmc_reader = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K43,
  &key_mep_4,
  &Kextract_stringVdfmc_readerI,
  &K44
};

static _KLsimple_closure_methodGVKi_0 KUhandler_functionUF40 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K41,
  &KUhandler_functionUF40I,
  (dylan_value) 1
};

_KLsimple_methodGVKe Kmake_open_upper_decoratorVdfmc_reader = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K39,
  &Kmake_open_upper_decoratorVdfmc_readerI
};

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

static _KLsignatureGVKe K41 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040201,
  &K42
};

static _KLsimple_object_vectorGVKd_2 K42 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLsource_record_missingGVsource_records,
  &KLobjectGVKd
};

static _KLkeyword_signatureAvaluesGVKi K43 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817605,
  &K45,
  &K46,
  &KDsignature_LintegerG_typesVKi,
  &KDsignature_Lbyte_stringG_typesVKi
};

static _KLsimple_object_vectorGVKd_4 K44 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJstart_,
  &KPunboundVKi,
  &KJend_,
  &KPunboundVKi
};

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

static _KLsimple_object_vectorGVKd_2 K46 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJstart_,
  &KJend_
};

static _KLkeyword_signatureAvaluesGVKi K47 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817605,
  &K48,
  &K46,
  &KDsignature_LintegerG_typesVKi,
  &KDsignature_Lbyte_stringG_typesVKi
};

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

static _KLsymbolGVKd KJstart_posn_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K53
};

static _KLbyte_stringGVKd_23 K50 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 93,
  "Missing init keyword %="
};

static _KLsymbolGVKd KJend_posn_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K52
};

static _KLbyte_stringGVKd_8 K52 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 33,
  "end-posn"
};

static _KLbyte_stringGVKd_10 K53 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "start-posn"
};

static _KLsignatureAvaluesGVKi K54 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K55,
  &K56
};

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

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

_KLinstance_slot_descriptorGVKe Ksource_location_source_positionVdfmc_readerHLlexer_source_locationG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  &KPfalseVKi,
  &KLlexer_source_locationGVdfmc_reader,
  &KPfalseVKi,
  &Ksource_location_source_positionVdfmc_reader,
  &Ksource_location_source_position_setterVdfmc_reader,
  &KLobjectGVKd
};

_KLsealed_generic_functionGVKe Ksource_location_source_position_setterVdfmc_reader = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K61,
  &K60,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Ksource_location_source_position_setterVdfmc_readerMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Ksource_location_source_positionVdfmc_readerHLlexer_source_locationG
};

static _KLpairGVKd K60 = {
  &KLpairGVKdW /* wrapper */,
  &Ksource_location_source_position_setterVdfmc_readerMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_38 K61 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 153,
  "source-location-source-position-setter"
};

_KLinstance_slot_descriptorGVKe Ksource_location_recordVdfmc_readerHLlexer_source_locationG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  &KPfalseVKi,
  &KLlexer_source_locationGVdfmc_reader,
  &KPfalseVKi,
  &Ksource_location_recordVdfmc_reader,
  &Ksource_location_record_setterVdfmc_reader,
  &K64
};

_KLsealed_generic_functionGVKe Ksource_location_record_setterVdfmc_reader = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K68,
  &K67,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLunionGVKe K64 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K65,
  &KLcompilation_recordGVdfmc_common
};

static _KLsingletonGVKd K65 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KPfalseVKi
};

_KLsetter_methodGVKi Ksource_location_record_setterVdfmc_readerMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Ksource_location_recordVdfmc_readerHLlexer_source_locationG
};

static _KLpairGVKd K67 = {
  &KLpairGVKdW /* wrapper */,
  &Ksource_location_record_setterVdfmc_readerMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_29 K68 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 117,
  "source-location-record-setter"
};

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

static _KLsimple_object_vectorGVKd_2 K70 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLsource_recordGVsource_records,
  &KLrange_source_offsetGVdfmc_reader
};

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

static _KLsignatureGVKe K72 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944069,
  &K45
};

static _KLsingletonGVKd K73 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KLlexer_source_locationGVdfmc_reader
};

static _KLimplementation_classGVKe K74 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433745,
  &KLlexer_source_locationGVdfmc_reader,
  &KLlexer_source_locationGVdfmc_readerW,
  &KPfalseVKi,
  &K75,
  (dylan_value) -3,
  &KLlexer_source_locationGZ32ZconstructorVdfmc_readerMM0,
  &K77,
  &K78,
  (dylan_value) 9,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K75,
  &K75,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_4 K75 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &Ksource_location_recordVdfmc_readerHLlexer_source_locationG,
  &Kstart_posnVdfmc_readerHLlexer_source_locationG,
  &Kend_posnVdfmc_readerHLlexer_source_locationG,
  &Ksource_location_source_positionVdfmc_readerHLlexer_source_locationG
};

_KLkeyword_methodGVKe KLlexer_source_locationGZ32ZconstructorVdfmc_readerMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K79,
  &key_mep_2,
  &KLlexer_source_locationGZ32ZconstructorVdfmc_readerMM0I,
  &K80
};

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

static _KLsimple_object_vectorGVKd_6 K78 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLsource_locationGVsource_records,
  &KLlexer_source_locationGVdfmc_reader,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K79 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K81,
  &KDsignature_LobjectG_typesVKi,
  &K45
};

static _KLsimple_object_vectorGVKd_4 K80 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJstart_posn_,
  &KPunboundVKi,
  &KJend_posn_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_2 K81 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJstart_posn_,
  &KJend_posn_
};

_KLinstance_slot_descriptorGVKe Kstart_posnVdfmc_readerHLlexer_source_locationG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLlexer_source_locationGVdfmc_reader,
  &KJstart_posn_,
  &Kstart_posnVdfmc_reader,
  &Kstart_posn_setterVdfmc_reader,
  &KLintegerGVKd
};

_KLinstance_slot_descriptorGVKe Kend_posnVdfmc_readerHLlexer_source_locationG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLlexer_source_locationGVdfmc_reader,
  &KJend_posn_,
  &Kend_posnVdfmc_reader,
  &Kend_posn_setterVdfmc_reader,
  &KLintegerGVKd
};

_KLsealed_generic_functionGVKe Kend_posnVdfmc_reader = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K52,
  &K90,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kend_posn_setterVdfmc_reader = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K88,
  &K87,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Kend_posn_setterVdfmc_readerMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kend_posnVdfmc_readerHLlexer_source_locationG
};

static _KLpairGVKd K87 = {
  &KLpairGVKdW /* wrapper */,
  &Kend_posn_setterVdfmc_readerMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_15 K88 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "end-posn-setter"
};

_KLgetter_methodGVKi Kend_posnVdfmc_readerMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kend_posnVdfmc_readerHLlexer_source_locationG
};

static _KLpairGVKd K90 = {
  &KLpairGVKdW /* wrapper */,
  &Kend_posnVdfmc_readerMM0,
  &KPempty_listVKi
};

_KLsealed_generic_functionGVKe Kstart_posnVdfmc_reader = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K53,
  &K97,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kstart_posn_setterVdfmc_reader = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K95,
  &K94,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Kstart_posn_setterVdfmc_readerMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kstart_posnVdfmc_readerHLlexer_source_locationG
};

static _KLpairGVKd K94 = {
  &KLpairGVKdW /* wrapper */,
  &Kstart_posn_setterVdfmc_readerMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_17 K95 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "start-posn-setter"
};

_KLgetter_methodGVKi Kstart_posnVdfmc_readerMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kstart_posnVdfmc_readerHLlexer_source_locationG
};

static _KLpairGVKd K97 = {
  &KLpairGVKdW /* wrapper */,
  &Kstart_posnVdfmc_readerMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_23 K98 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 93,
  "<lexer-source-location>"
};

/* Code */

dylan_value Ksource_location_source_recordVsource_recordsMdfmc_readerM1I (dylan_value location_) {
  dylan_value T2_0;
  dylan_value T3_0;
  dylan_value T4_0;
  dylan_value T5;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:29
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:31
  T5 = SLOT_VALUE_INITD(location_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:32
  if (T5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:32
    T2_0 = CALL1(&Kcompilation_record_source_recordVdfmc_common, T5);
    T4_0 = T2_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:32
    T3_0 = &KPfalseVKi;
    T4_0 = T3_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:32
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:29
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Ksource_location_start_offsetVsource_recordsMdfmc_readerM1I (dylan_value location_) {
  dylan_value T2_0;
  dylan_value T3_0;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:35
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:37
  T4 = SLOT_VALUE_INITD(location_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:37
  CONGRUENT_CALL_PROLOG(&Ksource_position_start_offsetVdfmc_reader, 1);
  T2_0 = CONGRUENT_CALL1(T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:35
  T3_0 = T2_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T2_0);
    primitive_type_check(T3_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:35
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Ksource_location_end_offsetVsource_recordsMdfmc_readerM1I (dylan_value location_) {
  dylan_value T2_0;
  dylan_value T3_0;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:40
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:42
  T4 = SLOT_VALUE_INITD(location_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:42
  CONGRUENT_CALL_PROLOG(&Ksource_position_end_offsetVdfmc_reader, 1);
  T2_0 = CONGRUENT_CALL1(T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:40
  T3_0 = T2_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T2_0);
    primitive_type_check(T3_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:40
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Ksource_offset_character_inVsource_recordsMdfmc_readerM0I (dylan_value rec_, dylan_value offset_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  DWORD T7;
  DWORD T8;
  DWORD T9;
  DWORD T10;
  dylan_value T11;
  dylan_value T12_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:138
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:141
  CONGRUENT_CALL_PROLOG(&Ksource_record_contentsVsource_records, 1);
  T3 = CONGRUENT_CALL1(rec_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:142
  CONGRUENT_CALL_PROLOG(&Ksource_offset_lineVsource_records, 1);
  T4 = CONGRUENT_CALL1(offset_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:141
  T5 = Kcompute_line_start_characterVdfmc_readerI(T3, T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:143
  CONGRUENT_CALL_PROLOG(&Ksource_offset_columnVsource_records, 1);
  T6 = CONGRUENT_CALL1(offset_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:141
  T7 = primitive_cast_integer_as_raw(T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:141
  T8 = primitive_cast_integer_as_raw(T6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:141
  T9 = primitive_machine_word_logxor(T8,1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:141
  T10 = primitive_machine_word_add_signal_overflow(T7,T9);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:141
  T11 = primitive_cast_raw_as_integer(T10);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:141
  T12_0 = T11;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:138
  MV_SET_COUNT(1);
  return(T12_0);
}

dylan_value KcontentsVdfmc_readerI (dylan_value source_) {
  dylan_value T1_0;
  dylan_value T2_0;
  dylan_value T3;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:216
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:218
  T3 = SLOT_VALUE_INITD(source_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:218
  T1_0 = CALL1(&Ksource_record_contentsVsource_records, T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:216
  T2_0 = T1_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T1_0);
    primitive_type_check(T2_0, &KLsimple_byte_vectorGVKe);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:216
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value KLlexer_source_locationGZ32ZconstructorVdfmc_readerMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_start_posn_, dylan_value Uunique_end_posn_) {
  dylan_value T5;
  dylan_value Uunique_start_posnF6;
  dylan_value T7;
  dylan_value Uunique_end_posnF8;
  dylan_value T9;
  dylan_value Uunique_start_posnF10;
  dylan_value Uunique_end_posnF11;
  dylan_value T12_0;
  dylan_value T13;
  _KLsimple_object_vectorGVKd_1 T14 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T15;
  dylan_value T16;
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T18;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
  T13 = primitive_idQ(Uunique_start_posn_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
  if (T13 != &KPfalseVKi) {
    T14.vector_element_[0] = IKJstart_posn_;
    T15 = KerrorVKdMM1I(&K50, &T14);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
    T5 = T15;
    Uunique_start_posnF6 = T5;
  } else {
    Uunique_start_posnF6 = Uunique_start_posn_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
  T16 = primitive_idQ(Uunique_end_posn_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
  if (T16 != &KPfalseVKi) {
    T17.vector_element_[0] = IKJend_posn_;
    T18 = KerrorVKdMM1I(&K50, &T17);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
    T7 = T18;
    Uunique_end_posnF8 = T7;
  } else {
    Uunique_end_posnF8 = Uunique_end_posn_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
  T9 = primitive_object_allocate_filled(5,&KLlexer_source_locationGVdfmc_readerW,4,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(&KPfalseVKi, T9, 0);
  primitive_type_check(Uunique_start_posnF6, &KLintegerGVKd);
  Uunique_start_posnF10 = Uunique_start_posnF6;
  SLOT_VALUE_SETTER(Uunique_start_posnF10, T9, 1);
  primitive_type_check(Uunique_end_posnF8, &KLintegerGVKd);
  Uunique_end_posnF11 = Uunique_end_posnF8;
  SLOT_VALUE_SETTER(Uunique_end_posnF11, T9, 2);
  SLOT_VALUE_SETTER(&KPfalseVKi, T9, 3);
  T12_0 = T9;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
  MV_SET_COUNT(1);
  return(T12_0);
}

dylan_value Kextract_token_textVdfmc_readerI (dylan_value loc_, dylan_value Urest_, dylan_value the_start_, dylan_value the_end_) {
  dylan_value T5;
  dylan_value T6;
  DWORD the_startF7;
  dylan_value T8;
  dylan_value T9;
  DWORD the_endF10;
  dylan_value T11_0;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  DWORD T16;
  DWORD T17;
  dylan_value T18;
  DWORD T19;
  DWORD T20;
  DWORD T21;
  DWORD T22;
  dylan_value T23;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26_0;
  dylan_value T27_0;
  dylan_value T28;
  dylan_value T29;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
  T12 = primitive_idQ(the_start_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
  if (T12 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:76
    T5 = Ksource_location_start_characterVsource_recordsI(loc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
    T6 = T5;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:80
    T21 = primitive_cast_integer_as_raw(T6);
    the_startF7 = T21;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
    primitive_type_check(the_start_, &KLintegerGVKd);
    T13 = the_start_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:80
    T22 = primitive_cast_integer_as_raw(T13);
    the_startF7 = T22;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:80
  T23 = primitive_cast_raw_as_integer(the_startF7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
  T14 = primitive_idQ(the_end_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
  if (T14 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:78
    T8 = Ksource_location_end_characterVsource_recordsI(loc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
    T9 = T8;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:80
    T19 = primitive_cast_integer_as_raw(T9);
    the_endF10 = T19;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
    primitive_type_check(the_end_, &KLintegerGVKd);
    T15 = the_end_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:80
    T20 = primitive_cast_integer_as_raw(T15);
    the_endF10 = T20;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:80
  T16 = primitive_machine_word_logxor(the_startF7,1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:80
  T17 = primitive_machine_word_subtract_signal_overflow(the_endF10,T16);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:80
  T18 = primitive_cast_raw_as_integer(T17);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:81
  T24 = KmakeVKdMM33I(&KLbyte_stringGVKd, &KPempty_vectorVKi, C(' '), T18);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:83
  T25 = SLOT_VALUE_INITD(loc_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:83
  T28 = SLOT_VALUE_INITD(T25, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:83
  T26_0 = CALL1(&Ksource_record_contentsVsource_records, T28);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:83
  T27_0 = T26_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T26_0);
    primitive_type_check(T27_0, &KLsimple_byte_vectorGVKe);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:83
  T29 = T27_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:82
  Kcopy_bytesYbyte_vectorVcommon_dylanMM6I(T24, (dylan_value) 1, T29, T23, T18);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:84
  T11_0 = T24;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:73
  MV_SET_COUNT(1);
  return(T11_0);
}

dylan_value Kextract_stringVdfmc_readerI (dylan_value loc_, dylan_value Urest_, dylan_value the_start_, dylan_value the_end_) {
  dylan_value T5;
  DWORD the_startF6;
  dylan_value T7;
  DWORD the_endF8;
  dylan_value sr_;
  dylan_value T10_0;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  DWORD T17;
  DWORD T18;
  dylan_value T19;
  DWORD T20;
  DWORD T21;
  DWORD T22;
  DWORD T23;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27_0;
  dylan_value T28_0;
  dylan_value T29;
  dylan_value T30;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
  T11 = primitive_idQ(the_start_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
  if (T11 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:52
    T12 = SLOT_VALUE_INITD(loc_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
    T5 = T12;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:55
    T22 = primitive_cast_integer_as_raw(T5);
    the_startF6 = T22;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
    primitive_type_check(the_start_, &KLintegerGVKd);
    T13 = the_start_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:55
    T23 = primitive_cast_integer_as_raw(T13);
    the_startF6 = T23;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:55
  T24 = primitive_cast_raw_as_integer(the_startF6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
  T14 = primitive_idQ(the_end_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
  if (T14 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:53
    T15 = SLOT_VALUE_INITD(loc_, 2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
    T7 = T15;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:55
    T20 = primitive_cast_integer_as_raw(T7);
    the_endF8 = T20;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
    primitive_type_check(the_end_, &KLintegerGVKd);
    T16 = the_end_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:55
    T21 = primitive_cast_integer_as_raw(T16);
    the_endF8 = T21;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:55
  T17 = primitive_machine_word_logxor(the_startF6,1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:55
  T18 = primitive_machine_word_subtract_signal_overflow(the_endF8,T17);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:55
  T19 = primitive_cast_raw_as_integer(T18);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:57
  T25 = KmakeVKdMM33I(&KLbyte_stringGVKd, &KPempty_vectorVKi, C(' '), T19);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:58
  T26 = SLOT_VALUE_INITD(loc_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:58
  primitive_type_check(T26, &KLcompilation_recordGVdfmc_common);
  sr_ = T26;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:60
  T29 = SLOT_VALUE_INITD(sr_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:60
  T27_0 = CALL1(&Ksource_record_contentsVsource_records, T29);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:60
  T28_0 = T27_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T27_0);
    primitive_type_check(T28_0, &KLsimple_byte_vectorGVKe);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:60
  T30 = T28_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:59
  Kcopy_bytesYbyte_vectorVcommon_dylanMM6I(T25, (dylan_value) 1, T30, T24, T19);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:61
  T10_0 = T25;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:50
  MV_SET_COUNT(1);
  return(T10_0);
}

dylan_value Kextract_linesVdfmc_readerI (dylan_value loc_) {
  volatile dylan_value Uunwind_exceptionUPexit_6_;
  volatile dylan_value T2;
  volatile dylan_value Uoriginal_handlersU_;
  volatile dylan_value T4;
  volatile dylan_value T5;
  volatile dylan_value T6;
  volatile dylan_value T7;
  volatile dylan_value T8;
  volatile dylan_value T9;
  volatile dylan_value T10;
  volatile dylan_value T11_0;
  volatile dylan_value text_;
  volatile dylan_value T13;
  volatile dylan_value T14;
  volatile dylan_value T15;
  volatile dylan_value T16;
  volatile dylan_value T17;
  volatile dylan_value T18;
  volatile dylan_value line_one_start_index_;
  volatile dylan_value T20;
  volatile dylan_value start_col_;
  volatile dylan_value T22;
  volatile dylan_value end_col_;
  volatile dylan_value T24;
  volatile dylan_value T25;
  volatile dylan_value T26;
  volatile dylan_value T27;
  volatile dylan_value T28;
  volatile dylan_value T29;
  volatile dylan_value T30_0;
  volatile dylan_value T30_1;
  volatile dylan_value T30_2;
  volatile dylan_value T31_0;
  volatile dylan_value T31_1;
  volatile dylan_value T31_2;
  volatile _KLsimple_object_vectorGVKd_8 T32 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  volatile dylan_value T33_0;
  volatile dylan_value T34;
  volatile dylan_value T35;
  volatile dylan_value T36;
  volatile dylan_value T37;
  volatile dylan_value T38;
  volatile dylan_value T39_0;
  volatile dylan_value T40_0;
  volatile dylan_value T41;
  volatile dylan_value T42_0;
  volatile dylan_value T42_1;
  volatile dylan_value T42_2;
  volatile DWORD T43;
  volatile DWORD T44;
  volatile DWORD T45;
  volatile DWORD T46;
  volatile dylan_value T47;
  volatile dylan_value T48;
  volatile dylan_value T49_0;
  volatile dylan_value T49_1;
  volatile dylan_value line_string_;
  volatile dylan_value next_cursor_;
  volatile dylan_value T52;
  volatile dylan_value T53;
  volatile dylan_value cursorF54T, cursorF54;
  volatile dylan_value linesF55T, linesF55;
  volatile dylan_value T56;
  volatile dylan_value T57;
  volatile dylan_value c_head_;
  volatile dylan_value T59;
  volatile dylan_value T60;
  volatile dylan_value T61_0;
  volatile dylan_value T61_1;
  volatile dylan_value T61_2;
  volatile dylan_value T62_0;
  volatile dylan_value T62_1;
  volatile dylan_value T62_2;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:91
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  ENTER_EXIT_FRAME(Uunwind_exceptionUPexit_6_);
  if (nlx_setjmp(FRAME_DEST(Uunwind_exceptionUPexit_6_))) {
    T11_0 = FRAME_RETVAL(Uunwind_exceptionUPexit_6_);
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    Uoriginal_handlersU_ = primitive_read_thread_variable(Tcurrent_handlersTVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    T4 = MAKE_CLOSURE_INITD(&KUhandler_functionUF40, 2, Uoriginal_handlersU_, Uunwind_exceptionUPexit_6_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    T32.vector_element_[0] = &KJtype_;
    T32.vector_element_[1] = &KLsource_record_missingGVsource_records;
    T32.vector_element_[2] = &KJfunction_;
    T32.vector_element_[3] = T4;
    T32.vector_element_[4] = &KJtest_;
    T32.vector_element_[5] = &KPfalseVKi;
    T32.vector_element_[6] = &KJinit_arguments_;
    T32.vector_element_[7] = &KPempty_vectorVKi;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    T33_0 = KLhandlerGZ32ZconstructorVKiMM0I(&KLhandlerGVKi, &T32, &KLsource_record_missingGVsource_records, T4, &KPfalseVKi, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    T34 = T33_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    T5 = primitive_read_thread_variable(Tcurrent_handlersTVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    T35 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    SLOT_VALUE_SETTER(T34, T35, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    SLOT_VALUE_SETTER(T5, T35, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    primitive_write_thread_variable(Tcurrent_handlersTVKi, T35);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    ENTER_UNWIND_FRAME(T6);
    if (!nlx_setjmp(FRAME_DEST(T6))) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:95
      T36 = SLOT_VALUE_INITD(loc_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:96
      T37 = SLOT_VALUE_INITD(T36, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:98
      T38 = primitive_not(T37);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:98
      if (T37 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:98
        CONGRUENT_CALL_PROLOG(&Klibrary_description_personalQVdfmc_common, 1);
        T7 = CONGRUENT_CALL1(T37);
        T8 = T7;
      } else {
        T8 = T38;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:98
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:98
      if (T8 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:99
        T41 = SLOT_VALUE_INITD(T36, 8);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:99
        T39_0 = CALL1(&Ksource_record_contentsVsource_records, T41);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:99
        T40_0 = T39_0;
        {
          MV_CHECK_TYPE_PROLOGUE(T39_0);
          primitive_type_check(T40_0, &KLsimple_byte_vectorGVKe);
          MV_CHECK_TYPE_EPILOGUE();
        }
        T10 = T40_0;
        MV_SET_COUNT(1);
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:98
        T9 = &KPfalseVKi;
        MV_SET_ELT(0, &KPfalseVKi);
        MV_SET_COUNT(1);
        T10 = T9;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:98
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
      FALL_THROUGH_UNWIND(T10);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    primitive_write_thread_variable(Tcurrent_handlersTVKi, Uoriginal_handlersU_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
    CONTINUE_UNWIND();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  T11_0 = T10;
    /* invalidate Uunwind_exceptionUPexit_6_ */
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  text_ = T11_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:104
  if (text_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:108
    CONGRUENT_CALL_PROLOG(&Ksource_location_end_offsetVsource_records, 1);
    T13 = CONGRUENT_CALL1(loc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:108
    CONGRUENT_CALL_PROLOG(&Ksource_offset_lineVsource_records, 1);
    T14 = CONGRUENT_CALL1(T13);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:109
    CONGRUENT_CALL_PROLOG(&Ksource_location_start_offsetVsource_records, 1);
    T15 = CONGRUENT_CALL1(loc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:109
    CONGRUENT_CALL_PROLOG(&Ksource_offset_lineVsource_records, 1);
    T16 = CONGRUENT_CALL1(T15);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:108
    T43 = primitive_cast_integer_as_raw(T14);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:108
    T44 = primitive_cast_integer_as_raw(T16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:108
    T45 = primitive_machine_word_logxor(T44,1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:108
    T46 = primitive_machine_word_subtract_signal_overflow(T43,T45);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:108
    T47 = primitive_cast_raw_as_integer(T46);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:112
    CONGRUENT_CALL_PROLOG(&Ksource_location_start_offsetVsource_records, 1);
    T17 = CONGRUENT_CALL1(loc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:112
    CONGRUENT_CALL_PROLOG(&Ksource_offset_lineVsource_records, 1);
    T18 = CONGRUENT_CALL1(T17);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:111
    line_one_start_index_ = Kcompute_line_start_characterVdfmc_readerI(text_, T18);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
    T48 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
    SLOT_VALUE_SETTER(&KPfalseVKi, T48, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
    SLOT_VALUE_SETTER(&KPempty_listVKi, T48, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
    SLOT_VALUE_SETTER(T48, T48, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:118
    cursorF54T = line_one_start_index_;
    linesF55T = (dylan_value) 1;
  L0: ;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:118
      cursorF54 = cursorF54T;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:118
      linesF55 = linesF55T;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:115
      CONGRUENT_CALL_PROLOG(&KLVKd, 2);
      T53 = CONGRUENT_CALL2(T47, linesF55);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:115
      if (T53 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:116
        T49_0 = Kcopy_next_lineVdfmc_readerI(text_, cursorF54);
        T49_1 = MV_GET_ELT(1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:116
        line_string_ = T49_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:116
        next_cursor_ = T49_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
        T56 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
        SLOT_VALUE_SETTER(line_string_, T56, 0);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
        SLOT_VALUE_SETTER(&KPempty_listVKi, T56, 1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
        T57 = SLOT_VALUE_INITD(T48, 0);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
        primitive_type_check(T57, &KLpairGVKd);
        c_head_ = T57;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
        SLOT_VALUE_SETTER(T56, c_head_, 1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
        SLOT_VALUE_SETTER(T56, T48, 0);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:118
        CONGRUENT_CALL_PROLOG(&KAVKd, 2);
        T52 = CONGRUENT_CALL2(linesF55, (dylan_value) 5);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:118
        cursorF54T = next_cursor_;
        linesF55T = T52;
        goto L0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:115
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:118
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:113
    T59 = SLOT_VALUE_INITD(T48, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:123
    CONGRUENT_CALL_PROLOG(&Ksource_location_start_offsetVsource_records, 1);
    T20 = CONGRUENT_CALL1(loc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:123
    CONGRUENT_CALL_PROLOG(&Ksource_offset_columnVsource_records, 1);
    start_col_ = CONGRUENT_CALL1(T20);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:124
    CONGRUENT_CALL_PROLOG(&Ksource_location_end_offsetVsource_records, 1);
    T22 = CONGRUENT_CALL1(loc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:124
    CONGRUENT_CALL_PROLOG(&Ksource_offset_columnVsource_records, 1);
    end_col_ = CONGRUENT_CALL1(T22);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:125
    T60 = primitive_machine_word_equalQ(T46,1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:125
    if (T60 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:127
      T24 = Kmake_closed_upper_decoratorVdfmc_readerI(start_col_, end_col_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:128
      T25 = Kmake_closed_lower_decoratorVdfmc_readerI(start_col_, end_col_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:126
      T61_0 = T59;
      T61_1 = T24;
      T61_2 = T25;
      T30_0 = T61_0;
      T30_1 = T61_1;
      T30_2 = T61_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:131
      T26 = CALL1(&KfirstVKd, T59);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:131
      CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
      T27 = CONGRUENT_CALL1(T26);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:131
      T28 = CALL2(&Kmake_open_upper_decoratorVdfmc_reader, start_col_, T27);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:132
      T29 = Kmake_open_lower_decoratorVdfmc_readerI(end_col_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:130
      T62_0 = T59;
      T62_1 = T28;
      T62_2 = T29;
      T30_0 = T62_0;
      T30_1 = T62_1;
      T30_2 = T62_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:125
    T31_0 = T30_0;
    T31_1 = T30_1;
    T31_2 = T30_2;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:105
    T42_0 = &KPfalseVKi;
    T42_1 = &KPfalseVKi;
    T42_2 = &KPfalseVKi;
    T31_0 = T42_0;
    T31_1 = T42_1;
    T31_2 = T42_2;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:104
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:91
  MV_SET_ELT(1, T31_1);
  MV_SET_ELT(2, T31_2);
  MV_SET_COUNT(3);
  return(T31_0);
}

static dylan_value KUhandler_functionUF40I (dylan_value UdummyU_, dylan_value Unext_handlerU_) {
  dylan_value T3;
  dylan_value all_values_;
  dylan_value T5;
  dylan_value T6;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  primitive_write_thread_variable(Tcurrent_handlersTVKi, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:102
  T3 = &KPfalseVKi;
  MV_SET_ELT(0, &KPfalseVKi);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  all_values_ = MV_GET_REST_AT(T3, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  T5 = MV_SET_REST_AT(all_values_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  T6 = NLX(CREF(1), T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:94
  return(T6);
}

dylan_value Kcompute_line_start_characterVdfmc_readerI (dylan_value string_, dylan_value lines_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  DWORD i_T, i_;
  dylan_value T9T, T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14_0;
  dylan_value line_count_;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  DWORD T20;
  dylan_value T21;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:146
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:148
  line_count_ = (dylan_value) 5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
  T2 = CALL1(&Kforward_iteration_protocolVKd, string_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
  T3 = T2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
  T4 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
  T5 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
  T6 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
  T7 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
  i_T = 1;
  T9T = T3;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
    i_ = i_T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
    T21 = primitive_cast_raw_as_integer(i_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
    T9 = T9T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
    T10 = CALL3(T6, string_, T9, T4);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
    if (T10 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
      T11 = CALL2(T7, string_, T9);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
      T16 = line_count_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
      T18 = primitive_idQ(T16,lines_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
      if (T18 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:150
        T19 = primitive_idQ(T11,(dylan_value) 41);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:150
        if (T19 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:151
          T17 = line_count_;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:151
          CONGRUENT_CALL_PROLOG(&KAVKd, 2);
          T12 = CONGRUENT_CALL2(T17, (dylan_value) 5);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:151
          line_count_ = T12;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:150
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
        T20 = primitive_machine_word_add_signal_overflow(i_,4);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
        T13 = CALL2(T5, string_, T9);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
        i_T = T20;
        T9T = T13;
        goto L0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:154
    T14_0 = T21;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:149
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:146
  MV_SET_COUNT(1);
  return(T14_0);
}

dylan_value Kcopy_next_lineVdfmc_readerI (dylan_value string_, dylan_value start_) {
  dylan_value stop_;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value T4_3;
  dylan_value T4_4;
  dylan_value T4_5;
  dylan_value line_string_collector_;
  dylan_value line_string_add_last_;
  dylan_value line_string_collection_;
  dylan_value i_T, i_;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17_0;
  dylan_value T17_1;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:158
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:159
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  stop_ = CONGRUENT_CALL1(string_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:160
  CONGRUENT_CALL_PROLOG(&Kcollector_protocolYcollectorsVcollections, 2);
  T4_0 = CONGRUENT_CALL2(&KLstringGVKd, &KPempty_vectorVKi);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  T4_3 = MV_GET_ELT(3);
  T4_4 = MV_GET_ELT(4);
  T4_5 = MV_GET_ELT(5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:160
  line_string_collector_ = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:160
  line_string_add_last_ = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:160
  line_string_collection_ = T4_5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
  i_T = start_;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
    i_ = i_T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T9 = CONGRUENT_CALL2(i_, stop_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
    if (T9 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
      T13 = CALL2(&KelementVKd, string_, i_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
      T16 = primitive_idQ(T13,(dylan_value) 41);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
      if (T16 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:162
        T10 = CALL2(&KelementVKd, string_, i_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:162
        CONGRUENT_CALL_PROLOG(&KasVKd, 2);
        T11 = CONGRUENT_CALL2(&KLcharacterGVKd, T10);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:162
        CALL2(line_string_add_last_, line_string_collector_, T11);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
        CONGRUENT_CALL_PROLOG(&KAVKd, 2);
        T12 = CONGRUENT_CALL2(i_, (dylan_value) 5);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
        i_T = T12;
        goto L0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:164
    T14 = CALL1(line_string_collection_, line_string_collector_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:164
    CONGRUENT_CALL_PROLOG(&KAVKd, 2);
    T15 = CONGRUENT_CALL2(i_, (dylan_value) 5);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:164
    T17_0 = T14;
    T17_1 = T15;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:161
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:158
  MV_SET_ELT(1, T17_1);
  MV_SET_COUNT(2);
  return(T17_0);
}

dylan_value Kmake_closed_upper_decoratorVdfmc_readerI (dylan_value start_col_, dylan_value end_col_) {
  dylan_value T2_0;
  dylan_value T2_1;
  dylan_value T2_2;
  dylan_value T2_3;
  dylan_value T2_4;
  dylan_value T2_5;
  dylan_value Ucollector_collector_;
  dylan_value Ucollector_add_last_;
  dylan_value Ucollector_collection_;
  DWORD iF6T, iF6;
  dylan_value iF7T, iF7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10_0;
  dylan_value T11_0;
  DWORD T12;
  dylan_value T13;
  DWORD T14;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:172
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:174
  CONGRUENT_CALL_PROLOG(&Kcollector_protocolYcollectorsVcollections, 2);
  T2_0 = CONGRUENT_CALL2(&KLstringGVKd, &KPempty_vectorVKi);
  T2_1 = MV_GET_ELT(1);
  T2_2 = MV_GET_ELT(2);
  T2_3 = MV_GET_ELT(3);
  T2_4 = MV_GET_ELT(4);
  T2_5 = MV_GET_ELT(5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:174
  Ucollector_collector_ = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:174
  Ucollector_add_last_ = T2_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:174
  Ucollector_collection_ = T2_5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
  iF6T = 1;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
    iF6 = iF6T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
    T12 = primitive_cast_integer_as_raw(start_col_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
    T13 = primitive_machine_word_less_thanQ(iF6,T12);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
    if (T13 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
      CALL2(Ucollector_add_last_, Ucollector_collector_, C(' '));
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
      T14 = primitive_machine_word_add_signal_overflow(iF6,4);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
      iF6T = T14;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:175
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:176
  iF7T = start_col_;
L1: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:176
    iF7 = iF7T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:176
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T8 = CONGRUENT_CALL2(iF7, end_col_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:176
    if (T8 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:176
      CALL2(Ucollector_add_last_, Ucollector_collector_, C('-'));
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:176
      CONGRUENT_CALL_PROLOG(&KAVKd, 2);
      T9 = CONGRUENT_CALL2(iF7, (dylan_value) 5);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:176
      iF7T = T9;
      goto L1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:176
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:176
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:174
  T10_0 = CALL1(Ucollector_collection_, Ucollector_collector_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:172
  T11_0 = T10_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T10_0);
    primitive_type_check(T11_0, &KLstringGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:172
  MV_SET_COUNT(1);
  return(T11_0);
}

dylan_value Kmake_closed_lower_decoratorVdfmc_readerI (dylan_value start_col_, dylan_value end_col_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:180
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:182
  T2_0 = Kmake_closed_upper_decoratorVdfmc_readerI(start_col_, end_col_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:180
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kmake_open_upper_decoratorVdfmc_readerI (dylan_value start_col_, dylan_value end_col_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:185
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:187
  T2_0 = Kmake_closed_upper_decoratorVdfmc_readerI(start_col_, end_col_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:185
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kmake_open_lower_decoratorVdfmc_readerI (dylan_value end_col_) {
  dylan_value T1_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:190
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:192
  T1_0 = Kmake_closed_upper_decoratorVdfmc_readerI((dylan_value) 1, end_col_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:190
  MV_SET_COUNT(1);
  return(T1_0);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJstart_posn_);
    if (T0 != &KJstart_posn_) {
      primitive_slot_value_setter(T0, &Kstart_posnVdfmc_readerHLlexer_source_locationG, 3);
      primitive_repeated_slot_value_setter(T0, &K81, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K80, 1, 0);
      IKJstart_posn_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJend_posn_);
    if (T0 != &KJend_posn_) {
      primitive_slot_value_setter(T0, &Kend_posnVdfmc_readerHLlexer_source_locationG, 3);
      primitive_repeated_slot_value_setter(T0, &K81, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K80, 1, 2);
      IKJend_posn_ = T0;
    }
  }
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:16
  T0 = KPadd_classVKeI(&KLlexer_source_locationGVdfmc_reader);
  goto I0;
}
I0:

  return;
}

/* USER INIT CODE */

void _Init_dfmc_reader__X_lexer_support_for_user () {
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:25
  T0 = KPadd_nonsiblinged_domainVKnI(&KmakeVKd, &KmakeVKdRD_dfmc_readerRD_2);
  goto I4;
}
I4:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:26
  T0 = KPadd_nonsiblinged_domainVKnI(&KinitializeVKd, &KinitializeVKdRD_dfmc_readerRD_2);
  goto I6;
}
I6:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:29
  T0 = KPadd_a_methodVKnI(&Ksource_location_source_recordVsource_records, &Ksource_location_source_recordVsource_recordsMdfmc_readerM1, &Kdfmc_reader_libraryYdylan_userVdfmc_reader, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I9;
}
I9:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:35
  T0 = KPadd_a_methodVKnI(&Ksource_location_start_offsetVsource_records, &Ksource_location_start_offsetVsource_recordsMdfmc_readerM1, &Kdfmc_reader_libraryYdylan_userVdfmc_reader, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I12;
}
I12:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:40
  T0 = KPadd_a_methodVKnI(&Ksource_location_end_offsetVsource_records, &Ksource_location_end_offsetVsource_recordsMdfmc_readerM1, &Kdfmc_reader_libraryYdylan_userVdfmc_reader, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I15;
}
I15:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:138
  T0 = KPadd_methodVKnI(&Ksource_offset_character_inVsource_records, &Ksource_offset_character_inVsource_recordsMdfmc_readerM0, &Kdfmc_reader_libraryYdylan_userVdfmc_reader);
  goto I18;
}
I18:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:201
  runtime_Dminimum_integerVdfmc_reader = Dminimum_integerVKd;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/reader/lexer-support.dylan:201
  T0 = &KPfalseVKi;
  goto I19;
}
I19:

  return;
}


/* eof */
