

#include "BUILTIN.h"

#include "Denotation.h"
extern OBJ _ACom_23(OBJ);extern OBJ __ACom_23;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;
extern OBJ __AVoid_2;

#include "Nat.h"
extern OBJ __ASeq_6;

#include "Char.h"
extern OBJ _AComCompose_3(OBJ,OBJ);extern OBJ __AComCompose_3;
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;

#include "Int.h"
extern OBJ __AOcVerbose_1;
extern OBJ _AOcVerbose_4(OBJ,OBJ,OBJ);extern OBJ __AOcVerbose_4;

#include "Bitset.h"
extern OBJ _AOcOptions_7(OBJ);extern OBJ __AOcOptions_7;
extern OBJ _AOcOptions_8(OBJ);extern OBJ __AOcOptions_8;
extern OBJ _AOcOptions_9(OBJ);extern OBJ __AOcOptions_9;
extern OBJ _AOcOptions_10(OBJ);extern OBJ __AOcOptions_10;
extern OBJ _AOcOptions_14(OBJ,OBJ);extern OBJ __AOcOptions_14;
extern OBJ _AOcExit_4(OBJ);extern OBJ __AOcExit_4;
extern OBJ __AOcSetup_4;
extern OBJ _AOcSetup_6(OBJ);extern OBJ __AOcSetup_6;
extern OBJ _AOcSetup_7(OBJ,OBJ);extern OBJ __AOcSetup_7;
extern OBJ _AScanner_1(OBJ);extern OBJ __AScanner_1;
extern OBJ _AParser_1(OBJ,OBJ);extern OBJ __AParser_1;
extern OBJ _AParser_2(OBJ,OBJ);extern OBJ __AParser_2;
extern OBJ _AParser_3(OBJ,OBJ);extern OBJ __AParser_3;
extern OBJ _AParser_4(OBJ,OBJ);extern OBJ __AParser_4;
extern OBJ _AAbsyIO_1(OBJ);extern OBJ __AAbsyIO_1;
extern OBJ _AAbsyIO_2(OBJ,OBJ);extern OBJ __AAbsyIO_2;

#include "Array.h"
extern OBJ _AAbsyPrep_2(OBJ,OBJ);extern OBJ __AAbsyPrep_2;
extern OBJ _ASigAna_1(OBJ,OBJ);extern OBJ __ASigAna_1;
extern OBJ _AImplementationAnalysis_1(OBJ,OBJ,OBJ);extern OBJ __AImplementationAnalysis_1;
extern OBJ _APatternAnalysis_1(OBJ,OBJ);extern OBJ __APatternAnalysis_1;
extern OBJ _AInterOpalGeneration_1(OBJ,OBJ);extern OBJ __AInterOpalGeneration_1;

#include "Real.h"
OBJ __ADriver_1; /* oc1 */
extern OBJ _ADriver_3(OBJ);OBJ __ADriver_3; /* compile */
extern OBJ _ADriver_4(OBJ);OBJ __ADriver_4; /* onlyParse? */
extern OBJ _ADriver_5(OBJ);OBJ __ADriver_5; /* doNotParse? */
extern OBJ _ADriver_6(OBJ);OBJ __ADriver_6; /* compileSign */
extern OBJ _ADriver_7(OBJ);OBJ __ADriver_7; /* compileImpl */
extern OBJ _ADriver_8(OBJ);OBJ __ADriver_8; /* compileExtp */
extern OBJ _ADriver_9(OBJ);OBJ __ADriver_9; /* compileIntp */
extern OBJ _ADriver_10(OBJ);OBJ __ADriver_10; /* syntaxAnaSign */
extern OBJ _ADriver_11(OBJ);OBJ __ADriver_11; /* syntaxAnaImpl */
extern OBJ _ADriver_12(OBJ);OBJ __ADriver_12; /* syntaxAnaExtp */
extern OBJ _ADriver_13(OBJ);OBJ __ADriver_13; /* syntaxAnaIntp */
extern OBJ _ADriver_14(OBJ,OBJ);OBJ __ADriver_14; /* contextAnaSign */
extern OBJ _ADriver_15(OBJ,OBJ);OBJ __ADriver_15; /* contextAnaImpl */
extern OBJ _ADriver_16(OBJ,OBJ);OBJ __ADriver_16; /* contextAnaExtp */
extern OBJ _ADriver_17(OBJ,OBJ);OBJ __ADriver_17; /* contextAnaIntp */
extern OBJ _ADriver_18(OBJ,OBJ);OBJ __ADriver_18; /* acTrans */
OBJ __ADriver_19; /* syntaxAnaPhase */
OBJ __ADriver_20; /* contextAnaPhase */
OBJ __ADriver_21; /* onlyParse?'21 */
OBJ __ADriver_22; /* doNotParse?'22 */
extern OBJ _ADriver_23(OBJ,OBJ);OBJ __ADriver_23; /* syntaxAnaSign'23 */
extern OBJ _ADriver_24(OBJ,OBJ,OBJ,OBJ);OBJ __ADriver_24; /* contextAnaSign'24 */
extern OBJ _ADriver_25(OBJ,OBJ,OBJ);OBJ __ADriver_25; /* compileSign'25 */
extern OBJ _ADriver_26(OBJ,OBJ);OBJ __ADriver_26; /* compileSign'26 */
extern OBJ _ADriver_27(OBJ,OBJ);OBJ __ADriver_27; /* syntaxAnaImpl'27 */
extern OBJ _ADriver_28(OBJ,OBJ);OBJ __ADriver_28; /* contextAnaImpl'28 */
extern OBJ _ADriver_29(OBJ,OBJ);OBJ __ADriver_29; /* contextAnaImpl'29 */
extern OBJ _ADriver_30(OBJ,OBJ,OBJ,OBJ);OBJ __ADriver_30; /* contextAnaImpl'30 */
extern OBJ _ADriver_31(OBJ);OBJ __ADriver_31; /* acTrans'31 */
extern OBJ _ADriver_32(OBJ,OBJ,OBJ);OBJ __ADriver_32; /* compileImpl'32 */
extern OBJ _ADriver_33(OBJ,OBJ);OBJ __ADriver_33; /* compileImpl'33 */
extern OBJ _ADriver_34(OBJ,OBJ);OBJ __ADriver_34; /* syntaxAnaExtp'34 */
extern OBJ _ADriver_35(OBJ,OBJ,OBJ,OBJ);OBJ __ADriver_35; /* contextAnaExtp'35 */
extern OBJ _ADriver_36(OBJ,OBJ,OBJ);OBJ __ADriver_36; /* compileExtp'36 */
extern OBJ _ADriver_37(OBJ,OBJ);OBJ __ADriver_37; /* compileExtp'37 */
extern OBJ _ADriver_38(OBJ,OBJ);OBJ __ADriver_38; /* syntaxAnaIntp'38 */
extern OBJ _ADriver_39(OBJ,OBJ,OBJ,OBJ);OBJ __ADriver_39; /* contextAnaIntp'39 */
extern OBJ _ADriver_40(OBJ,OBJ,OBJ);OBJ __ADriver_40; /* compileIntp'40 */
extern OBJ _ADriver_41(OBJ,OBJ);OBJ __ADriver_41; /* compileIntp'41 */
extern OBJ _ADriver_42(OBJ);OBJ __ADriver_42; /* oc1'42 */

extern OBJ _ADriver_3(OBJ x1) /* compile */
{OBJ r;
 CPPRD(x1,1);
 {OBJ x2;
  x2=_AOcOptions_7(x1);
  if(ISTGPRM(x2,1)){
   r=_ADriver_6(x1);
  }else{
   CPPRD(x1,1);
   {OBJ x3;
    x3=_AOcOptions_8(x1);
    if(ISTGPRM(x3,1)){
     r=_ADriver_7(x1);
    }else{
     CPPRD(x1,1);
     {OBJ x4;
      x4=_AOcOptions_9(x1);
      if(ISTGPRM(x4,1)){
       r=_ADriver_8(x1);
      }else{
       CPPRD(x1,1);
       {OBJ x5;
	x5=_AOcOptions_10(x1);
	if(ISTGPRM(x5,1)){
	 r=_ADriver_9(x1);
	}else{
	 HLT("Driver at <54,6-57,44> : missing else in compile\'Driver:options->com");}}}}}}}}
 return r;}

extern OBJ _ADriver_4(OBJ x1) /* onlyParse? */
{OBJ r;
 CPPRD(__ADriver_21,1);
 r=_AOcOptions_14(__ADriver_21,x1);
 return r;}

extern OBJ _ADriver_5(OBJ x1) /* doNotParse? */
{OBJ r;
 CPPRD(__ADriver_22,1);
 r=_AOcOptions_14(__ADriver_22,x1);
 return r;}

extern OBJ _ADriver_6(OBJ x1) /* compileSign */
{OBJ r;
 CPPRD(__ADriver_21,1);
 CPPRD(x1,1);
 {OBJ x2;
  x2=_AOcOptions_14(__ADriver_21,x1);
  if(ISTGPRM(x2,1)){
   CPPRD(x1,1);
   CPCLS(__ADriver_26,1);
   {OBJ x3;OBJ x4;
    x3=_ADriver_10(x1);
    x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_26,1))(__ADriver_26,x1);
    r=_AComCompose_5(x3,x4);}
  }else{
   CPPRD(x1,2);
   CPCLS(__ADriver_14,1);
   CPPRD(__ADriver_22,1);
   {OBJ x5;OBJ x6;
    x5=_AOcOptions_14(__ADriver_22,x1);
    x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_14,1))(__ADriver_14,x1);
    if(ISTGPRM(x5,1)){
     {OBJ x7;
      x7=_AAbsyIO_1(x1);
      r=_AComCompose_5(x7,x6);}
    }else{
     {OBJ x8;
      x8=_ADriver_10(x1);
      r=_AComCompose_5(x8,x6);}}}}}
 return r;}

extern OBJ _ADriver_7(OBJ x1) /* compileImpl */
{OBJ r;
 CPPRD(__ADriver_21,1);
 CPPRD(x1,1);
 {OBJ x2;
  x2=_AOcOptions_14(__ADriver_21,x1);
  if(ISTGPRM(x2,1)){
   CPPRD(x1,1);
   CPCLS(__ADriver_33,1);
   {OBJ x3;OBJ x4;
    x3=_ADriver_11(x1);
    x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_33,1))(__ADriver_33,x1);
    r=_AComCompose_5(x3,x4);}
  }else{
   CPPRD(x1,3);
   CPCLS(__ADriver_15,1);
   CPCLS(__ADriver_18,1);
   CPPRD(__ADriver_22,1);
   {OBJ x5;OBJ x6;OBJ x7;
    x5=_AOcOptions_14(__ADriver_22,x1);
    x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_15,1))(__ADriver_15,x1);
    x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_18,1))(__ADriver_18,x1);
    if(ISTGPRM(x5,1)){
     {OBJ x8;OBJ x9;
      x8=_AAbsyIO_1(x1);
      x9=_AComCompose_5(x8,x6);
      r=_AComCompose_5(x9,x7);}
    }else{
     {OBJ x10;OBJ x11;
      x10=_ADriver_11(x1);
      x11=_AComCompose_5(x10,x6);
      r=_AComCompose_5(x11,x7);}}}}}
 return r;}

extern OBJ _ADriver_8(OBJ x1) /* compileExtp */
{OBJ r;
 CPPRD(__ADriver_21,1);
 CPPRD(x1,1);
 {OBJ x2;
  x2=_AOcOptions_14(__ADriver_21,x1);
  if(ISTGPRM(x2,1)){
   CPPRD(x1,1);
   CPCLS(__ADriver_37,1);
   {OBJ x3;OBJ x4;
    x3=_ADriver_12(x1);
    x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_37,1))(__ADriver_37,x1);
    r=_AComCompose_5(x3,x4);}
  }else{
   CPPRD(x1,2);
   CPCLS(__ADriver_16,1);
   CPPRD(__ADriver_22,1);
   {OBJ x5;OBJ x6;
    x5=_AOcOptions_14(__ADriver_22,x1);
    x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_16,1))(__ADriver_16,x1);
    if(ISTGPRM(x5,1)){
     {OBJ x7;
      x7=_AAbsyIO_1(x1);
      r=_AComCompose_5(x7,x6);}
    }else{
     {OBJ x8;
      x8=_ADriver_12(x1);
      r=_AComCompose_5(x8,x6);}}}}}
 return r;}

extern OBJ _ADriver_9(OBJ x1) /* compileIntp */
{OBJ r;
 CPPRD(__ADriver_21,1);
 CPPRD(x1,1);
 {OBJ x2;
  x2=_AOcOptions_14(__ADriver_21,x1);
  if(ISTGPRM(x2,1)){
   CPPRD(x1,1);
   CPCLS(__ADriver_41,1);
   {OBJ x3;OBJ x4;
    x3=_ADriver_13(x1);
    x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_41,1))(__ADriver_41,x1);
    r=_AComCompose_5(x3,x4);}
  }else{
   CPPRD(x1,2);
   CPCLS(__ADriver_17,1);
   CPPRD(__ADriver_22,1);
   {OBJ x5;OBJ x6;
    x5=_AOcOptions_14(__ADriver_22,x1);
    x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_17,1))(__ADriver_17,x1);
    if(ISTGPRM(x5,1)){
     {OBJ x7;
      x7=_AAbsyIO_1(x1);
      r=_AComCompose_5(x7,x6);}
    }else{
     {OBJ x8;
      x8=_ADriver_13(x1);
      r=_AComCompose_5(x8,x6);}}}}}
 return r;}

extern OBJ _ADriver_10(OBJ x1) /* syntaxAnaSign */
{OBJ r;
 CPPRD(__ADriver_19,1);
 CPCLS(__ADriver_23,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;
  x2=_AOcVerbose_4(x1,__AOcVerbose_1,__ADriver_19);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_23,1))(__ADriver_23,x1);
  r=_AComCompose_3(x2,x3);}
 return r;}

extern OBJ _ADriver_11(OBJ x1) /* syntaxAnaImpl */
{OBJ r;
 CPPRD(__ADriver_19,1);
 CPCLS(__ADriver_27,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;
  x2=_AOcVerbose_4(x1,__AOcVerbose_1,__ADriver_19);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_27,1))(__ADriver_27,x1);
  r=_AComCompose_3(x2,x3);}
 return r;}

extern OBJ _ADriver_12(OBJ x1) /* syntaxAnaExtp */
{OBJ r;
 CPPRD(__ADriver_19,1);
 CPCLS(__ADriver_34,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;
  x2=_AOcVerbose_4(x1,__AOcVerbose_1,__ADriver_19);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_34,1))(__ADriver_34,x1);
  r=_AComCompose_3(x2,x3);}
 return r;}

extern OBJ _ADriver_13(OBJ x1) /* syntaxAnaIntp */
{OBJ r;
 CPPRD(__ADriver_19,1);
 CPCLS(__ADriver_38,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;
  x2=_AOcVerbose_4(x1,__AOcVerbose_1,__ADriver_19);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_38,1))(__ADriver_38,x1);
  r=_AComCompose_3(x2,x3);}
 return r;}

extern OBJ _ADriver_14(OBJ x1,OBJ x2) /* contextAnaSign */
{OBJ r;
 CPPRD(__ADriver_20,1);
 CPPRD(x1,1);
 {OBJ x9;
  x9=_AOcVerbose_4(x1,__AOcVerbose_1,__ADriver_20);
  {OBJ x11=FLD1(x2,1);
   COPY(x11,1);
   CPCLS(__ADriver_24,1);
   {OBJ x13;
    x13=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ADriver_24,3))(__ADriver_24,x1,x2,x11);
    r=_AComCompose_3(x9,x13);}}}
 return r;}

extern OBJ _ADriver_15(OBJ x1,OBJ x2) /* contextAnaImpl */
{OBJ r;
 CPPRD(__ADriver_20,1);
 CPPRD(x1,1);
 {OBJ x9;
  x9=_AOcVerbose_4(x1,__AOcVerbose_1,__ADriver_20);
  {OBJ x11=FLD1(x2,1);
   COPY(x11,1);
   CPCLS(__ADriver_30,1);
   {OBJ x13;
    x13=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ADriver_30,3))(__ADriver_30,x1,x2,x11);
    r=_AComCompose_3(x9,x13);}}}
 return r;}

extern OBJ _ADriver_16(OBJ x1,OBJ x2) /* contextAnaExtp */
{OBJ r;
 CPPRD(__ADriver_20,1);
 CPPRD(x1,1);
 {OBJ x9;
  x9=_AOcVerbose_4(x1,__AOcVerbose_1,__ADriver_20);
  {OBJ x11=FLD1(x2,1);
   COPY(x11,1);
   CPCLS(__ADriver_35,1);
   {OBJ x13;
    x13=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ADriver_35,3))(__ADriver_35,x1,x2,x11);
    r=_AComCompose_3(x9,x13);}}}
 return r;}

extern OBJ _ADriver_17(OBJ x1,OBJ x2) /* contextAnaIntp */
{OBJ r;
 CPPRD(__ADriver_20,1);
 CPPRD(x1,1);
 {OBJ x9;
  x9=_AOcVerbose_4(x1,__AOcVerbose_1,__ADriver_20);
  {OBJ x11=FLD1(x2,1);
   COPY(x11,1);
   CPCLS(__ADriver_39,1);
   {OBJ x13;
    x13=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ADriver_39,3))(__ADriver_39,x1,x2,x11);
    r=_AComCompose_3(x9,x13);}}}
 return r;}

extern OBJ _ADriver_18(OBJ x1,OBJ x2) /* acTrans */
{OBJ r;
 CPCLS(__ADriver_31,1);
 FRPRD(x1,1);
 FREE(x2,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_31,1))(__ADriver_31,__ABUILTIN_20);
 return r;}

extern OBJ _ADriver_23(OBJ x1,OBJ x2) /* syntaxAnaSign'23 */
{OBJ r;
 CPCLS(__AParser_1,1);
 CPPRD(x1,1);
 FRPRD(x2,1);
 {OBJ x3;OBJ x4;
  x3=_AScanner_1(x1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AParser_1,1))(__AParser_1,x1);
  r=_AComCompose_5(x3,x4);}
 return r;}

extern OBJ _ADriver_24(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* contextAnaSign'24 */
{OBJ r;
 CPCLS(__AImplementationAnalysis_1,1);
 CPCLS(__APatternAnalysis_1,1);
 CPCLS(__AInterOpalGeneration_1,1);
 CPPRD(x1,3);
 FRPRD(x4,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  x5=_ASigAna_1(x1,x2);
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_1,1))(__APatternAnalysis_1,x1);
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__AInterOpalGeneration_1,1))(__AInterOpalGeneration_1,x1);
  x8=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImplementationAnalysis_1,2))(__AImplementationAnalysis_1,x1,x3);
  x9=_AComCompose_5(x5,x8);
  x10=_AComCompose_5(x9,x6);
  r=_AComCompose_5(x10,x7);}
 return r;}

extern OBJ _ADriver_25(OBJ x1,OBJ x2,OBJ x3) /* compileSign'25 */
{OBJ r;
 r=_AAbsyIO_2(x1,x2);
 return r;}

extern OBJ _ADriver_26(OBJ x1,OBJ x2) /* compileSign'26 */
{OBJ r;
 {OBJ x23=FLD1(x2,1);
  COPY(x23,1);
  {OBJ x40;OBJ x25;OBJ x41;
   if(ISPRM(x23)){
    HLT("Struct at <unknown> : undefined selection imports\'Struct:struct->seq");
   }else{
    {OBJ x27=FLD1(x23,2);
     COPY(x27,1);
     x40=x27;
     if(EXPRD(x23,1)){
      DSPRD(x23);
     }else{
      DCPRD(x23,1);}
     CPPRD(x1,1);
     CPCLS(__ADriver_25,1);}}
   x25=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADriver_25,2))(__ADriver_25,x1,x2);
   x41=_AAbsyPrep_2(x1,x40);
   r=_AComCompose_5(x41,x25);}}
 return r;}

extern OBJ _ADriver_27(OBJ x1,OBJ x2) /* syntaxAnaImpl'27 */
{OBJ r;
 CPCLS(__AParser_2,1);
 CPPRD(x1,1);
 FRPRD(x2,1);
 {OBJ x3;OBJ x4;
  x3=_AScanner_1(x1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AParser_2,1))(__AParser_2,x1);
  r=_AComCompose_5(x3,x4);}
 return r;}

extern OBJ _ADriver_28(OBJ x1,OBJ x2) /* contextAnaImpl'28 */
{OBJ r;
 CPCLS(__ACom_47,1);
 {OBJ x3;OBJ x4;
  PRD(1,0,x3);FLD(x3,1)=x1;
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x3);
  PRD(2,0,r);FLD(r,1)=x4;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _ADriver_29(OBJ x1,OBJ x2) /* contextAnaImpl'29 */
{OBJ r;
 CPCLS(__ADriver_28,1);
 COPY(x2,1);
 {OBJ x3;OBJ x4;
  x3=_AInterOpalGeneration_1(x1,x2);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_28,1))(__ADriver_28,x2);
  r=_AComCompose_5(x3,x4);}
 return r;}

extern OBJ _ADriver_30(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* contextAnaImpl'30 */
{OBJ r;
 CPCLS(__ADriver_29,1);
 CPCLS(__AImplementationAnalysis_1,1);
 CPCLS(__APatternAnalysis_1,1);
 CPPRD(x1,3);
 FRPRD(x4,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  x5=_ASigAna_1(x1,x2);
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_1,1))(__APatternAnalysis_1,x1);
  x7=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImplementationAnalysis_1,2))(__AImplementationAnalysis_1,x1,x3);
  x8=_AComCompose_5(x5,x7);
  x9=_AComCompose_5(x8,x6);
  x10=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADriver_29,1))(__ADriver_29,x1);
  r=_AComCompose_5(x9,x10);}
 return r;}

extern OBJ _ADriver_31(OBJ x1) /* acTrans'31 */
{OBJ r;
 r=_ACom_23(__AVoid_2);
 return r;}

extern OBJ _ADriver_32(OBJ x1,OBJ x2,OBJ x3) /* compileImpl'32 */
{OBJ r;
 r=_AAbsyIO_2(x1,x2);
 return r;}

extern OBJ _ADriver_33(OBJ x1,OBJ x2) /* compileImpl'33 */
{OBJ r;
 {OBJ x23=FLD1(x2,1);
  COPY(x23,1);
  {OBJ x40;OBJ x25;OBJ x41;
   if(ISPRM(x23)){
    HLT("Struct at <unknown> : undefined selection imports\'Struct:struct->seq");
   }else{
    {OBJ x27=FLD1(x23,2);
     COPY(x27,1);
     x40=x27;
     if(EXPRD(x23,1)){
      DSPRD(x23);
     }else{
      DCPRD(x23,1);}
     CPPRD(x1,1);
     CPCLS(__ADriver_32,1);}}
   x25=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADriver_32,2))(__ADriver_32,x1,x2);
   x41=_AAbsyPrep_2(x1,x40);
   r=_AComCompose_5(x41,x25);}}
 return r;}

extern OBJ _ADriver_34(OBJ x1,OBJ x2) /* syntaxAnaExtp'34 */
{OBJ r;
 CPCLS(__AParser_3,1);
 CPPRD(x1,1);
 FRPRD(x2,1);
 {OBJ x3;OBJ x4;
  x3=_AScanner_1(x1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AParser_3,1))(__AParser_3,x1);
  r=_AComCompose_5(x3,x4);}
 return r;}

extern OBJ _ADriver_35(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* contextAnaExtp'35 */
{OBJ r;
 CPCLS(__AImplementationAnalysis_1,1);
 CPCLS(__APatternAnalysis_1,1);
 CPCLS(__AInterOpalGeneration_1,1);
 CPPRD(x1,3);
 FRPRD(x4,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  x5=_ASigAna_1(x1,x2);
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_1,1))(__APatternAnalysis_1,x1);
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__AInterOpalGeneration_1,1))(__AInterOpalGeneration_1,x1);
  x8=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImplementationAnalysis_1,2))(__AImplementationAnalysis_1,x1,x3);
  x9=_AComCompose_5(x5,x8);
  x10=_AComCompose_5(x9,x6);
  r=_AComCompose_5(x10,x7);}
 return r;}

extern OBJ _ADriver_36(OBJ x1,OBJ x2,OBJ x3) /* compileExtp'36 */
{OBJ r;
 r=_AAbsyIO_2(x1,x2);
 return r;}

extern OBJ _ADriver_37(OBJ x1,OBJ x2) /* compileExtp'37 */
{OBJ r;
 {OBJ x23=FLD1(x2,1);
  COPY(x23,1);
  {OBJ x40;OBJ x25;OBJ x41;
   if(ISPRM(x23)){
    HLT("Struct at <unknown> : undefined selection imports\'Struct:struct->seq");
   }else{
    {OBJ x27=FLD1(x23,2);
     COPY(x27,1);
     x40=x27;
     if(EXPRD(x23,1)){
      DSPRD(x23);
     }else{
      DCPRD(x23,1);}
     CPPRD(x1,1);
     CPCLS(__ADriver_36,1);}}
   x25=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADriver_36,2))(__ADriver_36,x1,x2);
   x41=_AAbsyPrep_2(x1,x40);
   r=_AComCompose_5(x41,x25);}}
 return r;}

extern OBJ _ADriver_38(OBJ x1,OBJ x2) /* syntaxAnaIntp'38 */
{OBJ r;
 CPCLS(__AParser_4,1);
 CPPRD(x1,1);
 FRPRD(x2,1);
 {OBJ x3;OBJ x4;
  x3=_AScanner_1(x1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AParser_4,1))(__AParser_4,x1);
  r=_AComCompose_5(x3,x4);}
 return r;}

extern OBJ _ADriver_39(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* contextAnaIntp'39 */
{OBJ r;
 CPCLS(__AImplementationAnalysis_1,1);
 CPCLS(__APatternAnalysis_1,1);
 CPCLS(__AInterOpalGeneration_1,1);
 CPPRD(x1,3);
 FRPRD(x4,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  x5=_ASigAna_1(x1,x2);
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_1,1))(__APatternAnalysis_1,x1);
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__AInterOpalGeneration_1,1))(__AInterOpalGeneration_1,x1);
  x8=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImplementationAnalysis_1,2))(__AImplementationAnalysis_1,x1,x3);
  x9=_AComCompose_5(x5,x8);
  x10=_AComCompose_5(x9,x6);
  r=_AComCompose_5(x10,x7);}
 return r;}

extern OBJ _ADriver_40(OBJ x1,OBJ x2,OBJ x3) /* compileIntp'40 */
{OBJ r;
 r=_AAbsyIO_2(x1,x2);
 return r;}

extern OBJ _ADriver_41(OBJ x1,OBJ x2) /* compileIntp'41 */
{OBJ r;
 {OBJ x23=FLD1(x2,1);
  COPY(x23,1);
  {OBJ x40;OBJ x25;OBJ x41;
   if(ISPRM(x23)){
    HLT("Struct at <unknown> : undefined selection imports\'Struct:struct->seq");
   }else{
    {OBJ x27=FLD1(x23,2);
     COPY(x27,1);
     x40=x27;
     if(EXPRD(x23,1)){
      DSPRD(x23);
     }else{
      DCPRD(x23,1);}
     CPPRD(x1,1);
     CPCLS(__ADriver_40,1);}}
   x25=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADriver_40,2))(__ADriver_40,x1,x2);
   x41=_AAbsyPrep_2(x1,x40);
   r=_AComCompose_5(x41,x25);}}
 return r;}

extern OBJ _ADriver_42(OBJ x1) /* oc1'42 */
{OBJ r;
 if(ISTGPRD(x1,1)){
  {OBJ x19;FLAG x_x1=EXPRD(x1,1);
   if(x_x1){
   }else{
    x19=FLD(x1,1);CPPRD(x19,1);}
   {OBJ x20;
    if(x_x1){
     RPRD(x1,x20);
    }else{
     FRPRD(x1,1);PRD(1,1,x20);FLD(x20,1)=x19;}
    r=_AOcExit_4(x20);}}
 }else{
  {OBJ x21=FLD(x1,1);
   if(EXPRD(x1,1)){
    CPPRD(x21,1);
    DSPRDF(x1);
   }else{
    CPPRD(x21,2);
    FRPRD(x1,1);}
   CPCLS(__AOcSetup_7,1);
   {OBJ x22;OBJ x23;
    x22=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcSetup_7,1))(__AOcSetup_7,x21);
    x23=_ADriver_3(x21);
    r=_AComCompose_3(x23,x22);}}}
 return r;}

static void ___ADriver_1()
{
 CPCLS(__ADriver_42,1);
 {OBJ x1;
  x1=_AOcSetup_6(__AOcSetup_4);
  __ADriver_1=_AComCompose_3(x1,__ADriver_42);}}

init_ADriver()
{
 static int visited=0; if(visited) return; visited=1;
 init_ATree();
 init_AGlobSigImpl();
 init_ADenotation();
 init_AObjects();
 init_AImpl();
 init_AMapReduce();
 init_APatterns();
 init_ACom();
 init_ASeqReduce();
 init_AMap();
 init_AVoid();
 init_ALexem();
 init_AOcError();
 init_ANat();
 init_APrintableChar();
 init_AFct();
 init_ASeq();
 init_ABaseParser();
 init_AOcPos();
 init_AOption();
 init_APTypes();
 init_AChar();
 init_APair();
 init_AAbsy();
 init_AString();
 init_ATriple();
 init_AModBase();
 init_AFile();
 init_AComCompose();
 init_AEnvIO();
 init_AInt();
 init_AStream();
 init_ASet();
 init_AOcVerbose();
 init_ABitset();
 init_AOcOptions();
 init_ATable();
 init_AOcExit();
 init_AUniqueTable();
 init_AOcSetup();
 init_ADeclEntry();
 init_ARep();
 init_APartNameEntry();
 init_AToken();
 init_AImpExpEntry();
 init_AStruct();
 init_APragma();
 init_AScanner();
 init_AAttributes();
 init_AParser();
 init_ADArray();
 init_AAbsyIO();
 init_ANatMap();
 init_AGlobSig();
 init_AArray();
 init_AAbsyPrep();
 init_APartName();
 init_ASigAna();
 init_ADyn();
 init_AImplementationAnalysis();
 init_ARepTab();
 init_APatternAnalysis();
 init_ATerminal();
 init_AInterOpalGeneration();
 init_ASeqMap();
 init_AInterOpal();
 init_ASetByBST();
 init_AAnalyzedGlobSig();
 init_ABSTree();
 init_AGlobPragma();
 init_AReal();
 init_AName();
 LCLS(1,_ADriver_31,__ADriver_31);
 CLS(4,_ADriver_30,__ADriver_30);
 CLS(2,_ADriver_29,__ADriver_29);
 CLS(2,_ADriver_28,__ADriver_28);
 CLS(2,_ADriver_27,__ADriver_27);
 CLS(2,_ADriver_26,__ADriver_26);
 CLS(3,_ADriver_25,__ADriver_25);
 CLS(4,_ADriver_24,__ADriver_24);
 CLS(2,_ADriver_23,__ADriver_23);
 DEN("doNotParse",__ADriver_22);
 DEN("onlyParse",__ADriver_21);
 DEN("context checking ...",__ADriver_20);
 DEN("syntax checking ...",__ADriver_19);
 CLS(2,_ADriver_18,__ADriver_18);
 CLS(2,_ADriver_17,__ADriver_17);
 CLS(2,_ADriver_16,__ADriver_16);
 CLS(2,_ADriver_15,__ADriver_15);
 CLS(2,_ADriver_14,__ADriver_14);
 CLS(1,_ADriver_13,__ADriver_13);
 CLS(1,_ADriver_12,__ADriver_12);
 CLS(1,_ADriver_11,__ADriver_11);
 CLS(1,_ADriver_42,__ADriver_42);
 CLS(1,_ADriver_10,__ADriver_10);
 CLS(2,_ADriver_41,__ADriver_41);
 CLS(1,_ADriver_9,__ADriver_9);
 CLS(3,_ADriver_40,__ADriver_40);
 CLS(1,_ADriver_8,__ADriver_8);
 CLS(4,_ADriver_39,__ADriver_39);
 CLS(1,_ADriver_7,__ADriver_7);
 CLS(2,_ADriver_38,__ADriver_38);
 CLS(1,_ADriver_6,__ADriver_6);
 CLS(2,_ADriver_37,__ADriver_37);
 CLS(1,_ADriver_5,__ADriver_5);
 CLS(3,_ADriver_36,__ADriver_36);
 CLS(1,_ADriver_4,__ADriver_4);
 CLS(4,_ADriver_35,__ADriver_35);
 CLS(1,_ADriver_3,__ADriver_3);
 CLS(2,_ADriver_34,__ADriver_34);
 CLS(2,_ADriver_33,__ADriver_33);
 CLS(3,_ADriver_32,__ADriver_32);
 ___ADriver_1();}

