#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 instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLclassGVKd;

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

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

#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(2);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(5);

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(1);
define__KLbyte_stringGVKd(3);
define__KLbyte_stringGVKd(189);
define__KLbyte_stringGVKd(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_;
} _KLparse_errorGYcommand_linesVenvironment_commands;

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 command_client_;
  dylan_value command_server_;
  dylan_value command_invoker_;
  dylan_value command_results_to_;
  dylan_value Pecho_inputQ_;
  dylan_value Pprofile_commandsQ_;
  dylan_value Ppersonal_root_;
  dylan_value Psystem_root_;
  dylan_value Pinternal_debug_;
  dylan_value Pproject_;
  dylan_value PhelpQ_;
  dylan_value PlogoQ_;
  dylan_value PversionQ_;
  dylan_value PshortversionQ_;
  dylan_value PdebuggerQ_;
  dylan_value PimportQ_;
  dylan_value PbuildQ_;
  dylan_value PcompileQ_;
  dylan_value PlinkQ_;
  dylan_value PsubprojectsQ_;
  dylan_value PcleanQ_;
  dylan_value PreleaseQ_;
  dylan_value Pback_end_;
  dylan_value Pbuild_script_;
  dylan_value Ptarget_;
  dylan_value PforceQ_;
  dylan_value PverboseQ_;
  dylan_value PunifyQ_;
  dylan_value PsaveQ_;
  dylan_value PharpQ_;
  dylan_value PassembleQ_;
  dylan_value PdfmQ_;
} _KLmain_commandGYconsole_environmentVdylan_compiler;

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

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_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;
  dylan_value outer_stream_;
  dylan_value private_stream_element_type_value_;
  dylan_value private_stream_direction_value_;
  dylan_value private_stream_lock_value_;
  dylan_value initial_position_;
  dylan_value current_position_;
  dylan_value final_position_;
  dylan_value stream_sequence_;
  dylan_value stream_limit_;
} _KLstring_streamGYstreamsVio;

typedef struct {
  dylan_value wrapper;
} _KLstringGVKd;


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
dylan_value Krelease_product_nameVrelease_infoMM0I ();
dylan_value Krelease_versionVrelease_infoMM0I ();
dylan_value Krelease_web_addressVrelease_infoI ();
dylan_value Kformat_to_stringYformatVioMM0I (dylan_value, dylan_value);
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
dylan_value Kmake_environment_command_line_serverVenvironment_commandsMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLsymbolGVKd KJtype_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLparse_errorGYcommand_linesVenvironment_commands;
extern _KLmm_wrapperGVKi_0 KLparse_errorGYcommand_linesVenvironment_commandsW;
extern _KLsymbolGVKd KJfunction_;
extern _KLsymbolGVKd KJtest_;
extern _KLsymbolGVKd KJinit_arguments_;
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;
dylan_value Kparse_command_lineYcommand_linesVenvironment_commandsMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLmain_commandGYconsole_environmentVdylan_compiler;
extern _KLmm_wrapperGVKi_0 KLmain_commandGYconsole_environmentVdylan_compilerW;
extern _KLincremental_generic_functionGVKe Kexecute_commandVcommands;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
dylan_value Kexit_applicationYcommon_extensionsVcommon_dylanI (dylan_value);
extern _KLsealed_generic_functionGVKe KformatYformatVio;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLsymbolGVKd KJdirection_;
extern _KLsymbolGVKd KJoutput_;
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLclassGVKd KLstring_streamGYstreamsVio;
extern _KLmm_wrapperGVKi_0 KLstring_streamGYstreamsVioW;
dylan_value Kapplication_argumentsYcommon_extensionsVcommon_dylanI ();
extern _KLbyte_stringGVKd_0 KPempty_stringVKi;
extern _KLincremental_generic_functionGVKe KwriteYstreams_protocolVcommon_dylan;
extern _KLincremental_generic_functionGVKe Kstream_contentsYstreams_protocolVcommon_dylan;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern dylan_value Tstandard_inputTYstandard_ioVio;
extern dylan_value Tstandard_outputTYstandard_ioVio;
extern dylan_value Tcurrent_handlersTVKi;

/* Defined object declarations */

dylan_value Kapplication_arguments_as_stringYconsole_environmentVdylan_compilerI ();
dylan_value KmainYconsole_environmentVdylan_compilerI (dylan_value);
dylan_value Kdylan_bannerYconsole_environmentVdylan_compilerI ();
static _KLbyte_stringGVKd_189 K4;
static _KLsimple_closure_methodGVKi_0 KUhandler_functionUF7;
static dylan_value KUhandler_functionUF7I (dylan_value, dylan_value);
static _KLbyte_stringGVKd_3 K8;
static _KLsignatureGVKe K9;
static _KLsimple_object_vectorGVKd_2 K10;
static _KLbyte_stringGVKd_1 K11;
static _KLsymbolGVKd KJclear_contentsQ_;
static _KLbyte_stringGVKd_15 K13;

/* Indirection variables */

static dylan_value IKJclear_contentsQ_ = &KJclear_contentsQ_;

/* Variables */


/* Objects */

static _KLbyte_stringGVKd_189 K4 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 757,
  "Welcome to %s, %s.\n\nFor documentation on %s, see %sdocumentation/.\nSee %sdocumentation/getting-started-cli/ for an introduction to the command line tools.\n\nType \"help\" for more information."
};

static _KLsimple_closure_methodGVKi_0 KUhandler_functionUF7 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K9,
  &KUhandler_functionUF7I,
  (dylan_value) 1
};

static _KLbyte_stringGVKd_3 K8 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 13,
  "%s\n"
};

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

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

static _KLbyte_stringGVKd_1 K11 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 5,
  " "
};

static _KLsymbolGVKd KJclear_contentsQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K13
};

static _KLbyte_stringGVKd_15 K13 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "clear-contents?"
};

/* Code */

dylan_value Kapplication_arguments_as_stringYconsole_environmentVdylan_compilerI () {
  dylan_value T0;
  dylan_value T1;
  DWORD T2T, T2;
  dylan_value separator_T, separator_;
  dylan_value T4_0;
  dylan_value T5_0;
  _KLsimple_object_vectorGVKd_2 T6 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T7;
  DWORD T8;
  dylan_value T9;
  dylan_value T10;
  DWORD T11;
  _KLsimple_object_vectorGVKd_2 T12 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:47
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:49
  T6.vector_element_[0] = &KJdirection_;
  T6.vector_element_[1] = &KJoutput_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:49
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLstring_streamGYstreamsVio, &T6);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
  T1 = Kapplication_argumentsYcommon_extensionsVcommon_dylanI();
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
  T7 = SLOT_VALUE_INITD(T1, 0);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
  T8 = primitive_cast_integer_as_raw(T7);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
  T2T = 1;
  separator_T = &KPempty_stringVKi;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
    T2 = T2T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
    separator_ = separator_T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
    T9 = primitive_machine_word_equalQ(T2,T8);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
    if (T9 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
      T10 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(T1, 1, T2);
      // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:52
      CONGRUENT_CALL_PROLOG(&KwriteYstreams_protocolVcommon_dylan, 3);
      CONGRUENT_CALL3(T0, separator_, &KPempty_vectorVKi);
      // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:53
      CALL2(&KwriteYstreams_protocolVcommon_dylan, T0, T10);
      // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
      T11 = primitive_machine_word_add_signal_overflow(T2,4);
      // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
      T2T = T11;
      separator_T = &K11;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:50
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:49
  T12.vector_element_[0] = IKJclear_contentsQ_;
  T12.vector_element_[1] = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:49
  CONGRUENT_CALL_PROLOG(&Kstream_contentsYstreams_protocolVcommon_dylan, 2);
  T4_0 = CONGRUENT_CALL2(T0, &T12);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:47
  T5_0 = T4_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T4_0);
    primitive_type_check(T5_0, &KLstringGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:47
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value KmainYconsole_environmentVdylan_compilerI (dylan_value arguments_) {
  volatile dylan_value input_stream_;
  volatile dylan_value output_stream_;
  volatile dylan_value server_;
  volatile dylan_value Uunwind_exceptionUPexit_1_;
  volatile dylan_value T6;
  volatile dylan_value Uoriginal_handlersU_;
  volatile dylan_value T8;
  volatile dylan_value T9;
  volatile dylan_value T10;
  volatile dylan_value T11;
  volatile dylan_value T12_0;
  volatile dylan_value command_;
  volatile dylan_value T14;
  volatile dylan_value status_code_;
  volatile dylan_value T16;
  volatile _KLsimple_object_vectorGVKd_8 T17 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  volatile dylan_value T18_0;
  volatile dylan_value T19;
  volatile dylan_value T20;

  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:12
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:14
  input_stream_ = Tstandard_inputTYstandard_ioVio;
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:15
  output_stream_ = Tstandard_outputTYstandard_ioVio;
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:17
  server_ = Kmake_environment_command_line_serverVenvironment_commandsMM0I(&KPempty_vectorVKi, &KPfalseVKi, input_stream_, output_stream_, &KPfalseVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
  ENTER_EXIT_FRAME(Uunwind_exceptionUPexit_1_);
  if (nlx_setjmp(FRAME_DEST(Uunwind_exceptionUPexit_1_))) {
    T12_0 = FRAME_RETVAL(Uunwind_exceptionUPexit_1_);
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    Uoriginal_handlersU_ = primitive_read_thread_variable(Tcurrent_handlersTVKi);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    T8 = MAKE_CLOSURE_INITD(&KUhandler_functionUF7, 3, Uoriginal_handlersU_, Uunwind_exceptionUPexit_1_, output_stream_);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    T17.vector_element_[0] = &KJtype_;
    T17.vector_element_[1] = &KLparse_errorGYcommand_linesVenvironment_commands;
    T17.vector_element_[2] = &KJfunction_;
    T17.vector_element_[3] = T8;
    T17.vector_element_[4] = &KJtest_;
    T17.vector_element_[5] = &KPfalseVKi;
    T17.vector_element_[6] = &KJinit_arguments_;
    T17.vector_element_[7] = &KPempty_vectorVKi;
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    T18_0 = KLhandlerGZ32ZconstructorVKiMM0I(&KLhandlerGVKi, &T17, &KLparse_errorGYcommand_linesVenvironment_commands, T8, &KPfalseVKi, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    T19 = T18_0;
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    T9 = primitive_read_thread_variable(Tcurrent_handlersTVKi);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    T20 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    SLOT_VALUE_SETTER(T19, T20, 0);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    SLOT_VALUE_SETTER(T9, T20, 1);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    primitive_write_thread_variable(Tcurrent_handlersTVKi, T20);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    ENTER_UNWIND_FRAME(T10);
    if (!nlx_setjmp(FRAME_DEST(T10))) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:23
      T11 = Kparse_command_lineYcommand_linesVenvironment_commandsMM0I(server_, arguments_, &KPempty_vectorVKi, &KLmain_commandGYconsole_environmentVdylan_compiler);
      // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
      FALL_THROUGH_UNWIND(T11);
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    primitive_write_thread_variable(Tcurrent_handlersTVKi, Uoriginal_handlersU_);
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
    CONTINUE_UNWIND();
    // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
  T12_0 = T11;
    /* invalidate Uunwind_exceptionUPexit_1_ */
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
  command_ = T12_0;
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:28
  T14 = CALL1(&Kexecute_commandVcommands, command_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:28
  primitive_type_check(T14, &KLintegerGVKd);
  status_code_ = T14;
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:29
  T16 = Kexit_applicationYcommon_extensionsVcommon_dylanI(status_code_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:12
  return(T16);
}

dylan_value Kdylan_bannerYconsole_environmentVdylan_compilerI () {
  dylan_value T0;
  dylan_value T1;
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  _KLsimple_object_vectorGVKd_5 T5 = {&KLsimple_object_vectorGVKdW, (dylan_value) 21};
  dylan_value T6_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:32
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:41
  T0 = Krelease_product_nameVrelease_infoMM0I();
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:42
  T1 = Krelease_versionVrelease_infoMM0I();
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:43
  T2 = Krelease_product_nameVrelease_infoMM0I();
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:43
  T3 = Krelease_web_addressVrelease_infoI();
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:44
  T4 = Krelease_web_addressVrelease_infoI();
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:34
  T5.vector_element_[0] = T0;
  T5.vector_element_[1] = T1;
  T5.vector_element_[2] = T2;
  T5.vector_element_[3] = T3;
  T5.vector_element_[4] = T4;
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:34
  T6_0 = Kformat_to_stringYformatVioMM0I(&K4, &T5);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:32
  MV_SET_COUNT(1);
  return(T6_0);
}

static dylan_value KUhandler_functionUF7I (dylan_value error_, 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/environment/console/start.dylan:22
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
  primitive_write_thread_variable(Tcurrent_handlersTVKi, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:25
  CALL3(&KformatYformatVio, CREF(2), &K8, error_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:26
  T3 = Kexit_applicationYcommon_extensionsVcommon_dylanI((dylan_value) -3);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
  all_values_ = MV_GET_REST_AT(T3, 0);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
  T5 = MV_SET_REST_AT(all_values_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
  T6 = NLX(CREF(1), T5);
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:22
  return(T6);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJclear_contentsQ_);
    if (T0 != &KJclear_contentsQ_) {
      IKJclear_contentsQ_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dylan_compiler__X_start_for_user () {
{
  dylan_value T0;
  dylan_value T1;

  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:58
  T0 = Kapplication_arguments_as_stringYconsole_environmentVdylan_compilerI();
  // /home/bruce/Development/dylan/opendylan/sources/environment/console/start.dylan:58
  T1 = KmainYconsole_environmentVdylan_compilerI(T0);
  goto I0;
}
I0:

  return;
}


/* eof */
