#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(1);
define__KLsimple_object_vectorGVKd(0);

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

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__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(31);
define__KLbyte_stringGVKd(471);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(2);
define__KLbyte_stringGVKd(3);
define__KLbyte_stringGVKd(30);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(17);

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

typedef struct {
  dylan_value wrapper;
  dylan_value grammar_conflict_terminal_;
  dylan_value grammar_conflict_action_1_;
  dylan_value grammar_conflict_rule_1_;
  dylan_value grammar_conflict_position_1_;
  dylan_value grammar_conflict_action_2_;
  dylan_value grammar_conflict_rule_2_;
  dylan_value grammar_conflict_position_2_;
} _KLgrammar_conflictGVgrammar_compiler;

typedef struct {
  dylan_value wrapper;
  dylan_value properties_;
  dylan_value engine_node_callback_;
  dylan_value engine_node_entry_point_;
  dylan_value cache_header_engine_node_next_;
  dylan_value cache_header_engine_node_parent_;
} _KLsimple_typechecked_cache_header_engine_nodeGVKg;

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 symbol_name_;
} _KLsymbolGVKd;


/* 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 Kapplication_argumentsYcommon_extensionsVcommon_dylanI ();
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLincremental_generic_functionGVKe KLVKd;
dylan_value Kcommand_line_option_prefixYoperating_systemVsystemI ();
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLincremental_generic_functionGVKe Kas_uppercaseVKd;
extern _KLincremental_generic_functionGVKe KAVKd;
dylan_value Kformat_errYformat_outVioMM0I (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kfile_existsQYfile_systemVsystem;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLsealed_generic_functionGVKe Kcompile_grammar_fileVparser_generator;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLsealed_generic_functionGVKe KformatYformatVio;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLgrammar_conflictGVgrammar_compiler;
extern _KLmm_wrapperGVKi_0 KLgrammar_conflictGVgrammar_compilerW;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
dylan_value Kapplication_nameYcommon_extensionsVcommon_dylanI ();
extern dylan_value Tstandard_outputTYstandard_ioVio;
extern dylan_value Tstandard_errorTYstandard_ioVio;

/* Defined object declarations */

dylan_value KmainVparser_compilerI ();
dylan_value KusageVparser_compilerI ();
static _KLbyte_stringGVKd_17 K2;
static _KLsymbolGVKd KJterminal_string_;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K4;
extern _KLsimple_methodGVKe Kreport_grammar_conflictVparser_compiler;
dylan_value Kreport_grammar_conflictVparser_compilerI (dylan_value);
static _KLbyte_stringGVKd_19 K7;
static _KLbyte_stringGVKd_25 K8;
static _KLbyte_stringGVKd_17 K9;
static dylan_value Kformat_ruleF13I (dylan_value, dylan_value, dylan_value);
static _KLbyte_stringGVKd_18 K11;
static _KLbyte_stringGVKd_30 K12;
static _KLbyte_stringGVKd_3 K14;
static _KLbyte_stringGVKd_2 K15;
static _KLbyte_stringGVKd_3 K16;
static _KLsignatureGVKe K17;
static _KLsimple_object_vectorGVKd_1 K18;
static _KLbyte_stringGVKd_15 K19;
static _KLbyte_stringGVKd_471 K20;
static _KLbyte_stringGVKd_31 K21;

/* Indirection variables */

static dylan_value IKJterminal_string_ = &KJterminal_string_;

/* Variables */

dylan_value Ddefault_terminal_stringVparser_compiler = &K21;

/* Objects */

static _KLbyte_stringGVKd_17 K2 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "Unknown flag: %s\n"
};

static _KLsymbolGVKd KJterminal_string_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K19
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K4 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (dylan_value) 262201,
  &KPfalseVKi,
  &cache_header_engine_4,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kcompile_grammar_fileVparser_generator
};

_KLsimple_methodGVKe Kreport_grammar_conflictVparser_compiler = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K17,
  &Kreport_grammar_conflictVparser_compilerI
};

static _KLbyte_stringGVKd_19 K7 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 77,
  "File not found: %s\n"
};

static _KLbyte_stringGVKd_25 K8 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 101,
  "Conflict for terminal %s\n"
};

static _KLbyte_stringGVKd_17 K9 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "    Action %s in "
};

static _KLbyte_stringGVKd_18 K11 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "\n    Action %s in "
};

static _KLbyte_stringGVKd_30 K12 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 121,
  "\n  Using the first action ...\n"
};

static _KLbyte_stringGVKd_3 K14 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 13,
  "%s:"
};

static _KLbyte_stringGVKd_2 K15 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 9,
  " ."
};

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

static _KLsignatureGVKe K17 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040197,
  &K18
};

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

static _KLbyte_stringGVKd_15 K19 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "terminal-string"
};

static _KLbyte_stringGVKd_471 K20 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 1885,
  "Usage: %s [-t term-string] input-file [ output-file ]\nFinds and processes the \'define parser\' form in the input file,\ncreating an output file with that form replaced by the compiled\nparser definition.\n\nThe -t flag specifies the format string used to format terminal\ndefinitions.  The first parameter is the token and the second is\nan integer code assigned to it by the parser compiler. The default\nis: -t \"%s\"\n\nIf output file is not specified, writes to standard output.\n"
};

static _KLbyte_stringGVKd_31 K21 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 125,
  "define constant $%s-token = %d;"
};

/* Code */

dylan_value KmainVparser_compilerI () {
  dylan_value args_;
  dylan_value terminal_stringF2;
  dylan_value terminal_stringF3;
  dylan_value T4;
  dylan_value T5;
  dylan_value arg_;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value Uobject_;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28;
  dylan_value T29_0;
  dylan_value T30;
  dylan_value T31;
  dylan_value indexF32T, indexF32;
  _KLsimple_object_vectorGVKd_1 T33 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T34_0;
  dylan_value T35;
  _KLsimple_object_vectorGVKd_1 T36 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T37_0;
  dylan_value T38;
  _KLsimple_object_vectorGVKd_2 T39 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T40;
  dylan_value T41;
  dylan_value T42;

  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:25
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:26
  args_ = Kapplication_argumentsYcommon_extensionsVcommon_dylanI();
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:27
  T4 = SLOT_VALUE_INITD(args_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:28
  terminal_stringF2 = Ddefault_terminal_stringVparser_compiler;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:28
  terminal_stringF3 = terminal_stringF2;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
  indexF32T = (dylan_value) 1;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
    indexF32 = indexF32T;
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:30
    T41 = primitive_idQ(indexF32,T4);
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:30
    if (T41 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:31
      KusageVparser_compilerI();
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:33
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      T5 = CONGRUENT_CALL3(args_, indexF32, &KPempty_vectorVKi);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:33
      primitive_type_check(T5, &KLstringGVKd);
      arg_ = T5;
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
      T7 = CONGRUENT_CALL1(arg_);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      CONGRUENT_CALL_PROLOG(&KLVKd, 2);
      T29_0 = CONGRUENT_CALL2((dylan_value) 5, T7);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      T30 = T29_0;
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      if (T30 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
        CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
        T8 = CONGRUENT_CALL3(arg_, (dylan_value) 1, &KPempty_vectorVKi);
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
        T9 = Kcommand_line_option_prefixYoperating_systemVsystemI();
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
        CONGRUENT_CALL_PROLOG(&KEVKd, 2);
        T10 = CONGRUENT_CALL2(T8, T9);
        T11 = T10;
      } else {
        T11 = &KPfalseVKi;
      }
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      if (T11 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
        CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
        T12 = CONGRUENT_CALL3(arg_, (dylan_value) 5, &KPempty_vectorVKi);
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
        CONGRUENT_CALL_PROLOG(&Kas_uppercaseVKd, 1);
        Uobject_ = CONGRUENT_CALL1(T12);
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
        T31 = primitive_idQ(Uobject_,C('T'));
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
        if (T31 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:37
          CONGRUENT_CALL_PROLOG(&KAVKd, 2);
          T14 = CONGRUENT_CALL2(indexF32, (dylan_value) 5);
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:37
          T42 = primitive_idQ(T14,T4);
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:37
          if (T42 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:38
            KusageVparser_compilerI();
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:40
            CONGRUENT_CALL_PROLOG(&KAVKd, 2);
            T15 = CONGRUENT_CALL2(indexF32, (dylan_value) 5);
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:40
            CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
            T16 = CONGRUENT_CALL3(args_, T15, &KPempty_vectorVKi);
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:40
            terminal_stringF3 = T16;
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
            CONGRUENT_CALL_PROLOG(&KAVKd, 2);
            T17 = CONGRUENT_CALL2(indexF32, (dylan_value) 9);
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
            indexF32T = T17;
            goto L0;
          }
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:37
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:44
          T33.vector_element_[0] = arg_;
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:44
          Kformat_errYformat_outVioMM0I(&K2, &T33);
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:45
          KusageVparser_compilerI();
        }
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:47
        CONGRUENT_CALL_PROLOG(&KAVKd, 2);
        T18 = CONGRUENT_CALL2(indexF32, (dylan_value) 9);
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:47
        CONGRUENT_CALL_PROLOG(&KLVKd, 2);
        T34_0 = CONGRUENT_CALL2(T18, T4);
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:47
        T35 = T34_0;
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
        if (T35 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:48
          KusageVparser_compilerI();
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:49
          CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
          T19 = CONGRUENT_CALL3(args_, indexF32, &KPempty_vectorVKi);
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:49
          T20 = CALL1(&Kfile_existsQYfile_systemVsystem, T19);
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
          if (T20 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:53
            CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
            T22 = CONGRUENT_CALL3(args_, indexF32, &KPempty_vectorVKi);
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            CONGRUENT_CALL_PROLOG(&KAVKd, 2);
            T23 = CONGRUENT_CALL2(indexF32, (dylan_value) 5);
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            CONGRUENT_CALL_PROLOG(&KLVKd, 2);
            T37_0 = CONGRUENT_CALL2(T23, T4);
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            T38 = T37_0;
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            if (T38 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:55
              CONGRUENT_CALL_PROLOG(&KAVKd, 2);
              T24 = CONGRUENT_CALL2(indexF32, (dylan_value) 5);
              // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:55
              CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
              T25 = CONGRUENT_CALL3(args_, T24, &KPempty_vectorVKi);
              T27 = T25;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:57
              T26 = Tstandard_outputTYstandard_ioVio;
              T27 = T26;
            }
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:53
            T28 = terminal_stringF3;
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:53
            T39.vector_element_[0] = IKJterminal_string_;
            T39.vector_element_[1] = T28;
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:53
            ENGINE_NODE_CALL_PROLOG(&Kcompile_grammar_fileVparser_generator, &K4, 4);
            ENGINE_NODE_CALL4(&K4, T22, T27, &Kreport_grammar_conflictVparser_compiler, &T39);
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:50
            CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
            T21 = CONGRUENT_CALL3(args_, indexF32, &KPempty_vectorVKi);
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:50
            T36.vector_element_[0] = T21;
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:50
            Kformat_errYformat_outVioMM0I(&K7, &T36);
            // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:51
            KusageVparser_compilerI();
          }
          // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
        }
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      }
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
    }
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:30
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:29
  T40 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:25
  MV_SET_COUNT(0);
  return(T40);
}

dylan_value KusageVparser_compilerI () {
  dylan_value T0;
  dylan_value T1;
  dylan_value T2;
  _KLsimple_object_vectorGVKd_2 T3 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};

  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:9
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:22
  T0 = Kapplication_nameYcommon_extensionsVcommon_dylanI();
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:22
  T1 = Ddefault_terminal_stringVparser_compiler;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:10
  T3.vector_element_[0] = T0;
  T3.vector_element_[1] = T1;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:10
  T2 = Kformat_errYformat_outVioMM0I(&K20, &T3);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:9
  return(T2);
}

dylan_value Kreport_grammar_conflictVparser_compilerI (dylan_value c_) {
  dylan_value out_;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;

  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:66
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:67
  out_ = Tstandard_errorTYstandard_ioVio;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:75
  T4 = SLOT_VALUE_INITD(c_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:75
  CALL3(&KformatYformatVio, out_, &K8, T4);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:76
  T5 = SLOT_VALUE_INITD(c_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:76
  CALL3(&KformatYformatVio, out_, &K9, T5);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:77
  T6 = SLOT_VALUE_INITD(c_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:77
  T7 = SLOT_VALUE_INITD(c_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:77
  Kformat_ruleF13I(out_, T6, T7);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:78
  T8 = SLOT_VALUE_INITD(c_, 4);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:78
  CALL3(&KformatYformatVio, out_, &K11, T8);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:79
  T9 = SLOT_VALUE_INITD(c_, 5);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:79
  T10 = SLOT_VALUE_INITD(c_, 6);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:79
  Kformat_ruleF13I(out_, T9, T10);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:80
  T3 = CALL2(&KformatYformatVio, out_, &K12);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:66
  return(T3);
}

static dylan_value Kformat_ruleF13I (dylan_value out_, dylan_value rule_, dylan_value position_) {
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10T, T10;
  dylan_value pos_T, pos_;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17_0;
  dylan_value T18;
  dylan_value T19_0;
  dylan_value T20;
  DWORD T21;
  DWORD T22;
  dylan_value T23;

  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:68
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:69
  CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
  T17_0 = CONGRUENT_CALL3(rule_, (dylan_value) 1, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:69
  T16 = T17_0;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:69
  CALL3(&KformatYformatVio, out_, &K14, T16);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
  T19_0 = CONGRUENT_CALL3(rule_, (dylan_value) 5, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  T18 = T19_0;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  T4 = CALL1(&Kforward_iteration_protocolVKd, T18);
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  T5 = T4;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  T6 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  T7 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  T8 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  T9 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  T10T = T5;
  pos_T = (dylan_value) 1;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
    T10 = T10T;
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
    pos_ = pos_T;
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
    T12 = CALL3(T8, T18, T10, T6);
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
    if (T12 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
      T13 = CALL2(T9, T18, T10);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:71
      T20 = primitive_idQ(pos_,position_);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:71
      if (T20 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:71
        CALL2(&KformatYformatVio, out_, &K15);
      }
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:71
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:72
      CALL3(&KformatYformatVio, out_, &K16, T13);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
      T14 = CALL2(T7, T18, T10);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
      T21 = primitive_cast_integer_as_raw(pos_);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
      T22 = primitive_machine_word_add_signal_overflow(T21,4);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
      T23 = primitive_cast_raw_as_integer(T22);
      // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
      T10T = T14;
      pos_T = T23;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
    T15 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:70
  // /home/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:68
  return(T15);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJterminal_string_);
    if (T0 != &KJterminal_string_) {
      IKJterminal_string_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_parser_compiler__X_main_for_user () {
  return;
}


/* eof */
