#include "run-time.h"

/* Typedefs for referenced classes */

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

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

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

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

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

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D debug_name_;
  D class_implementation_class_;
  D class_subtype_bit_;
  D class_module_;
} _KLfunction_classGVKi;

typedef struct {
  D wrapper;
} _KLstringGVKd;

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D 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 {
  D wrapper;
  D xep_;
  D function_signature_;
  D mep_;
} _KLsimple_methodGVKe;

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

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

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

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

typedef struct {
  D wrapper;
  D 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;
D 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;
D Kcommand_line_option_prefixYoperating_systemVsystemI ();
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLincremental_generic_functionGVKe Kas_uppercaseVKd;
extern _KLincremental_generic_functionGVKe KAVKd;
extern _KLsealed_generic_functionGVKe KformatYformatVio;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLsealed_generic_functionGVKe Kfile_existsQYfile_systemVsystem;
extern _KLsealed_generic_functionGVKe Kcompile_grammar_fileVparser_generator;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
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;
D Kapplication_nameYcommon_extensionsVcommon_dylanI ();
extern D Tstandard_errorTYstandard_ioVio;
extern D Tstandard_outputTYstandard_ioVio;

/* Defined object declarations */

D KmainVparser_compilerI ();
D 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;
D Kreport_grammar_conflictVparser_compilerI (D);
static _KLbyte_stringGVKd_19 K7;
static _KLbyte_stringGVKd_25 K8;
static _KLbyte_stringGVKd_17 K9;
static D Kformat_ruleF13I (D, D, D);
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 D IKJterminal_string_ = &KJterminal_string_;

/* Variables */

D Ddefault_terminal_stringVparser_compiler = &K21;

/* Objects */

static _KLbyte_stringGVKd_17 K2 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 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 */,
  (D) 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 */,
  (D) 77,
  "File not found: %s\n"
};

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

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

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

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

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

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

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

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

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

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

static _KLbyte_stringGVKd_471 K20 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 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 */,
  (D) 125,
  "define constant $%s-token = %d;"
};

/* Code */

D KmainVparser_compilerI () {
  D args_;
  D terminal_stringF2;
  D terminal_stringF3;
  D T4;
  D T5;
  D arg_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D Uobject_;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31_0;
  D T32;
  D T33;
  D indexF34T, indexF34;
  D T35_0;
  D T36;
  D T37_0;
  D T38;
  _KLsimple_object_vectorGVKd_2 T39 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T40;
  D T41;
  D T42;

  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:25
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:26
  args_ = Kapplication_argumentsYcommon_extensionsVcommon_dylanI();
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:27
  T4 = SLOT_VALUE_INITD(args_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:28
  terminal_stringF2 = Ddefault_terminal_stringVparser_compiler;
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:28
  terminal_stringF3 = terminal_stringF2;
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
  indexF34T = (D) 1;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
    indexF34 = indexF34T;
    // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:30
    T41 = primitive_idQ(indexF34,T4);
    // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:30
    if (T41 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:31
      KusageVparser_compilerI();
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:33
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      T5 = CONGRUENT_CALL3(args_, indexF34, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:33
      primitive_type_check(T5, &KLstringGVKd);
      arg_ = T5;
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
      T7 = CONGRUENT_CALL1(arg_);
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      CONGRUENT_CALL_PROLOG(&KLVKd, 2);
      T31_0 = CONGRUENT_CALL2((D) 5, T7);
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      T32 = T31_0;
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      if (T32 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
        CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
        T8 = CONGRUENT_CALL3(arg_, (D) 1, &KPempty_vectorVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
        T9 = Kcommand_line_option_prefixYoperating_systemVsystemI();
        // /Users/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;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      if (T11 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
        CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
        T12 = CONGRUENT_CALL3(arg_, (D) 5, &KPempty_vectorVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
        CONGRUENT_CALL_PROLOG(&Kas_uppercaseVKd, 1);
        Uobject_ = CONGRUENT_CALL1(T12);
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
        T33 = primitive_idQ(Uobject_,C('T'));
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
        if (T33 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:37
          CONGRUENT_CALL_PROLOG(&KAVKd, 2);
          T14 = CONGRUENT_CALL2(indexF34, (D) 5);
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:37
          T42 = primitive_idQ(T14,T4);
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:37
          if (T42 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:38
            KusageVparser_compilerI();
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:40
            CONGRUENT_CALL_PROLOG(&KAVKd, 2);
            T15 = CONGRUENT_CALL2(indexF34, (D) 5);
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:40
            CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
            T16 = CONGRUENT_CALL3(args_, T15, &KPempty_vectorVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:40
            terminal_stringF3 = T16;
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
            CONGRUENT_CALL_PROLOG(&KAVKd, 2);
            T17 = CONGRUENT_CALL2(indexF34, (D) 9);
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
            indexF34T = T17;
            goto L0;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:37
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:44
          T18 = Tstandard_errorTYstandard_ioVio;
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:44
          CALL3(&KformatYformatVio, T18, &K2, arg_);
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:45
          KusageVparser_compilerI();
        }
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:35
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:47
        CONGRUENT_CALL_PROLOG(&KAVKd, 2);
        T19 = CONGRUENT_CALL2(indexF34, (D) 9);
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:47
        CONGRUENT_CALL_PROLOG(&KLVKd, 2);
        T35_0 = CONGRUENT_CALL2(T19, T4);
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:47
        T36 = T35_0;
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
        if (T36 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:48
          KusageVparser_compilerI();
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:49
          CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
          T20 = CONGRUENT_CALL3(args_, indexF34, &KPempty_vectorVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:49
          T21 = CALL1(&Kfile_existsQYfile_systemVsystem, T20);
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
          if (T21 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:53
            CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
            T24 = CONGRUENT_CALL3(args_, indexF34, &KPempty_vectorVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            CONGRUENT_CALL_PROLOG(&KAVKd, 2);
            T25 = CONGRUENT_CALL2(indexF34, (D) 5);
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            CONGRUENT_CALL_PROLOG(&KLVKd, 2);
            T37_0 = CONGRUENT_CALL2(T25, T4);
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            T38 = T37_0;
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            if (T38 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:55
              CONGRUENT_CALL_PROLOG(&KAVKd, 2);
              T26 = CONGRUENT_CALL2(indexF34, (D) 5);
              // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:55
              CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
              T27 = CONGRUENT_CALL3(args_, T26, &KPempty_vectorVKi);
              T29 = T27;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:57
              T28 = Tstandard_outputTYstandard_ioVio;
              T29 = T28;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:54
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:53
            T30 = terminal_stringF3;
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:53
            T39.vector_element_[0] = IKJterminal_string_;
            T39.vector_element_[1] = T30;
            // /Users/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, T24, T29, &Kreport_grammar_conflictVparser_compiler, &T39);
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:50
            T22 = Tstandard_errorTYstandard_ioVio;
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:50
            CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
            T23 = CONGRUENT_CALL3(args_, indexF34, &KPempty_vectorVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:50
            CALL3(&KformatYformatVio, T22, &K7, T23);
            // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:51
            KusageVparser_compilerI();
          }
          // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
        }
        // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
      }
      // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:34
    }
    // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:30
    // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:41
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:29
  T40 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:25
  MV_SET_COUNT(0);
  return(T40);
}

D KusageVparser_compilerI () {
  D T0;
  D T1;
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:9
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:10
  T0 = Tstandard_errorTYstandard_ioVio;
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:22
  T1 = Kapplication_nameYcommon_extensionsVcommon_dylanI();
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:22
  T2 = Ddefault_terminal_stringVparser_compiler;
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:10
  T3 = CALL4(&KformatYformatVio, T0, &K20, T1, T2);
  // /Users/bruce/Development/dylan/opendylan/sources/app/parser-compiler/main.dylan:9
  return(T3);
}

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

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

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

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