

#include "BUILTIN.h"

#include "Array.h"

#include "Nat.h"

#include "Char.h"

#include "Int.h"

#include "Denotation.h"
extern OBJ __AOcError_8;
extern OBJ __AOcError_12;
extern OBJ _AOcError_16(OBJ,OBJ,OBJ);extern OBJ __AOcError_16;
extern OBJ _AOcError_17(OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_17;
extern OBJ _AOcError_19(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_19;
extern OBJ _AOcError_25(OBJ,OBJ);extern OBJ __AOcError_25;

#include "Bitset.h"
extern OBJ _AErrCom_1(OBJ,OBJ);OBJ __AErrCom_1; /* emptyImport */
extern OBJ _AErrCom_2(OBJ,OBJ);OBJ __AErrCom_2; /* cyclicImport */
extern OBJ _AErrCom_3(OBJ,OBJ);OBJ __AErrCom_3; /* improperlyInstantiatedImport */
extern OBJ _AErrCom_4(OBJ,OBJ,OBJ,OBJ);OBJ __AErrCom_4; /* unclosedOnly */
extern OBJ _AErrCom_5(OBJ,OBJ,OBJ);OBJ __AErrCom_5; /* undefinedIdentification */
extern OBJ _AErrCom_6(OBJ,OBJ,OBJ);OBJ __AErrCom_6; /* ambiguousIdentification */
extern OBJ _AErrCom_7(OBJ,OBJ,OBJ,OBJ);OBJ __AErrCom_7; /* ambiguousIdentification,1 */
extern OBJ _AErrCom_8(OBJ,OBJ);OBJ __AErrCom_8; /* genericInstance */
extern OBJ _AErrCom_9(OBJ,OBJ);OBJ __AErrCom_9; /* ambiguousInstance */
extern OBJ _AErrCom_10(OBJ,OBJ,OBJ);OBJ __AErrCom_10; /* ambiguousInstance,1 */
extern OBJ _AErrCom_11(OBJ,OBJ,OBJ);OBJ __AErrCom_11; /* duplicateParameter */
extern OBJ _AErrCom_12(OBJ,OBJ,OBJ);OBJ __AErrCom_12; /* importedParameter */
extern OBJ _AErrCom_13(OBJ,OBJ,OBJ);OBJ __AErrCom_13; /* invisibleParameterKind */
extern OBJ _AErrCom_14(OBJ,OBJ,OBJ);OBJ __AErrCom_14; /* incompatibleParameter */
extern OBJ _AErrCom_15(OBJ,OBJ,OBJ);OBJ __AErrCom_15; /* hintGottfriedsRule */
OBJ __AErrCom_16; /* emptyImport'16 */
OBJ __AErrCom_17; /* cyclicImport'17 */
OBJ __AErrCom_18; /* improperlyInstantiatedImport'18 */
OBJ __AErrCom_19; /* unclosedOnly'19 */
OBJ __AErrCom_20; /* undefinedIdentification'20 */
OBJ __AErrCom_21; /* ambiguousIdentification'21 */
OBJ __AErrCom_22; /* ambiguousIdentification,1'22 */
OBJ __AErrCom_23; /* genericInstance'23 */
OBJ __AErrCom_24; /* ambiguousInstance'24 */
OBJ __AErrCom_25; /* ambiguousInstance,1'25 */
OBJ __AErrCom_26; /* duplicateParameter'26 */
OBJ __AErrCom_27; /* importedParameter'27 */
OBJ __AErrCom_28; /* invisibleParameterKind'28 */
OBJ __AErrCom_29; /* incompatibleParameter'29 */
OBJ __AErrCom_30; /* hintGottfriedsRule'30 */

extern OBJ _AErrCom_1(OBJ x1,OBJ x2) /* emptyImport */
{OBJ r;
 {OBJ x14=FLD1(x2,1);OBJ x15=FLD1(x2,2);
  if(EXPRD(x2,1)){
   DSPRDF(x2);
  }else{
   CPPRD(x14,1);COPY(x15,1);
   FRPRD(x2,1);}
  {OBJ x17=FLD1(x14,2);
   if(EXPRD(x14,1)){
    DSPRDF(x14);
   }else{
    CPPRD(x17,1);
    FRPRD(x14,1);}
   CPPRD(__AErrCom_16,1);
   {OBJ x19;
    x19=_AOcError_17(__AOcError_12,__AErrCom_16,x17,x15);
    r=_AOcError_25(x1,x19);}}}
 return r;}

extern OBJ _AErrCom_2(OBJ x1,OBJ x2) /* cyclicImport */
{OBJ r;
 CPPRD(__AErrCom_17,1);
 {OBJ x3;
  x3=_AOcError_16(__AOcError_12,__AErrCom_17,x2);
  r=_AOcError_25(x1,x3);}
 return r;}

extern OBJ _AErrCom_3(OBJ x1,OBJ x2) /* improperlyInstantiatedImport */
{OBJ r;
 CPPRD(__AErrCom_18,1);
 {OBJ x3;
  x3=_AOcError_16(__AOcError_12,__AErrCom_18,x2);
  r=_AOcError_25(x1,x3);}
 return r;}

extern OBJ _AErrCom_4(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* unclosedOnly */
{OBJ r;
 CPPRD(__AErrCom_19,1);
 {OBJ x5;
  x5=_AOcError_19(__AOcError_12,__AErrCom_19,x3,x4,x2);
  r=_AOcError_25(x1,x5);}
 return r;}

extern OBJ _AErrCom_5(OBJ x1,OBJ x2,OBJ x3) /* undefinedIdentification */
{OBJ r;
 CPPRD(__AErrCom_20,1);
 {OBJ x4;OBJ x5;
  ADenotation_4(__AErrCom_20,x3,x4);
  x5=_AOcError_16(__AOcError_12,x4,x2);
  r=_AOcError_25(x1,x5);}
 return r;}

extern OBJ _AErrCom_6(OBJ x1,OBJ x2,OBJ x3) /* ambiguousIdentification */
{OBJ r;
 CPPRD(__AErrCom_21,1);
 {OBJ x4;OBJ x5;
  ADenotation_4(__AErrCom_21,x3,x4);
  x5=_AOcError_16(__AOcError_12,x4,x2);
  r=_AOcError_25(x1,x5);}
 return r;}

extern OBJ _AErrCom_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* ambiguousIdentification,1 */
{OBJ r;
 CPPRD(__AErrCom_21,1);
 CPPRD(__AErrCom_22,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  ADenotation_4(__AErrCom_22,x4,x5);
  ADenotation_4(x3,x5,x6);
  ADenotation_4(__AErrCom_21,x6,x7);
  x8=_AOcError_16(__AOcError_12,x7,x2);
  r=_AOcError_25(x1,x8);}
 return r;}

extern OBJ _AErrCom_8(OBJ x1,OBJ x2) /* genericInstance */
{OBJ r;
 {OBJ x16=FLD1(x2,1);OBJ x17=FLD1(x2,2);
  if(EXPRD(x2,1)){
   DSPRDF(x2);
  }else{
   CPPRD(x16,1);COPY(x17,1);
   FRPRD(x2,1);}
  {OBJ x19=FLD1(x16,2);
   if(EXPRD(x16,1)){
    DSPRDF(x16);
   }else{
    CPPRD(x19,1);
    FRPRD(x16,1);}
   CPPRD(__AErrCom_21,1);
   CPPRD(__AErrCom_23,1);
   {OBJ x21;OBJ x22;OBJ x23;
    ADenotation_4(x19,__AErrCom_23,x21);
    ADenotation_4(__AErrCom_21,x21,x22);
    x23=_AOcError_16(__AOcError_12,x22,x17);
    r=_AOcError_25(x1,x23);}}}
 return r;}

extern OBJ _AErrCom_9(OBJ x1,OBJ x2) /* ambiguousInstance */
{OBJ r;
 CPPRD(__AErrCom_24,1);
 {OBJ x3;
  x3=_AOcError_16(__AOcError_12,__AErrCom_24,x2);
  r=_AOcError_25(x1,x3);}
 return r;}

extern OBJ _AErrCom_10(OBJ x1,OBJ x2,OBJ x3) /* ambiguousInstance,1 */
{OBJ r;
 CPPRD(__AErrCom_24,1);
 CPPRD(__AErrCom_25,1);
 {OBJ x4;OBJ x5;OBJ x6;
  ADenotation_4(__AErrCom_25,x3,x4);
  ADenotation_4(__AErrCom_24,x4,x5);
  x6=_AOcError_16(__AOcError_12,x5,x2);
  r=_AOcError_25(x1,x6);}
 return r;}

extern OBJ _AErrCom_11(OBJ x1,OBJ x2,OBJ x3) /* duplicateParameter */
{OBJ r;
 CPPRD(__AErrCom_26,1);
 {OBJ x4;OBJ x5;
  ADenotation_4(__AErrCom_26,x3,x4);
  x5=_AOcError_16(__AOcError_12,x4,x2);
  r=_AOcError_25(x1,x5);}
 return r;}

extern OBJ _AErrCom_12(OBJ x1,OBJ x2,OBJ x3) /* importedParameter */
{OBJ r;
 CPPRD(__AErrCom_27,1);
 {OBJ x4;OBJ x5;
  ADenotation_4(__AErrCom_27,x3,x4);
  x5=_AOcError_16(__AOcError_12,x4,x2);
  r=_AOcError_25(x1,x5);}
 return r;}

extern OBJ _AErrCom_13(OBJ x1,OBJ x2,OBJ x3) /* invisibleParameterKind */
{OBJ r;
 CPPRD(__AErrCom_28,1);
 {OBJ x4;OBJ x5;
  ADenotation_4(__AErrCom_28,x3,x4);
  x5=_AOcError_16(__AOcError_12,x4,x2);
  r=_AOcError_25(x1,x5);}
 return r;}

extern OBJ _AErrCom_14(OBJ x1,OBJ x2,OBJ x3) /* incompatibleParameter */
{OBJ r;
 CPPRD(__AErrCom_29,1);
 {OBJ x4;OBJ x5;
  ADenotation_4(__AErrCom_29,x3,x4);
  x5=_AOcError_16(__AOcError_12,x4,x2);
  r=_AOcError_25(x1,x5);}
 return r;}

extern OBJ _AErrCom_15(OBJ x1,OBJ x2,OBJ x3) /* hintGottfriedsRule */
{OBJ r;
 CPPRD(__AErrCom_30,1);
 {OBJ x4;
  x4=_AOcError_17(__AOcError_8,__AErrCom_30,x3,x2);
  r=_AOcError_25(x1,x4);}
 return r;}

init_AErrCom()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASetByBST();
 init_ABSTree();
 init_AArray();
 init_ALexem();
 init_APartNameEntry();
 init_AOcPos();
 init_AOcOptions();
 init_ACom();
 init_ANat();
 init_AVoid();
 init_ASeq();
 init_AOption();
 init_AChar();
 init_AStream();
 init_AString();
 init_AFile();
 init_AInt();
 init_AName();
 init_AObjects();
 init_ARep();
 init_APartName();
 init_AFct();
 init_APragma();
 init_ASigAnaTexts();
 init_ADenotation();
 init_AOcError();
 init_ASeqReduce();
 init_ATree();
 init_ABitset();
 init_APair();
 init_ASet();
 init_AMap();
 init_AMapReduce();
 DEN("the following names are imported (Gottfried\'s rule): %s",__AErrCom_30);
 DEN("formal parameter from signature must be identical to parameter ",__AErrCom_29);
 DEN("formal parameter with invisible kind ",__AErrCom_28);
 DEN("formal parameter must not be imported ",__AErrCom_27);
 DEN("duplicate formal parameter ",__AErrCom_26);
 DEN(", cannot decide between\n      ",__AErrCom_25);
 DEN("ambiguous identification of instantiation",__AErrCom_24);
 DEN(": no instantiation",__AErrCom_23);
 DEN(": ",__AErrCom_22);
 DEN("ambiguous identification of ",__AErrCom_21);
 DEN("undefined identification of ",__AErrCom_20);
 DEN("import of %s needs import of %s",__AErrCom_19);
 DEN("improperly instantiated import",__AErrCom_18);
 DEN("cyclic instantiated import",__AErrCom_17);
 DEN("undefined application of %s in only list",__AErrCom_16);
 CLS(3,_AErrCom_15,__AErrCom_15);
 CLS(3,_AErrCom_14,__AErrCom_14);
 CLS(3,_AErrCom_13,__AErrCom_13);
 CLS(3,_AErrCom_12,__AErrCom_12);
 CLS(3,_AErrCom_11,__AErrCom_11);
 CLS(3,_AErrCom_10,__AErrCom_10);
 CLS(2,_AErrCom_9,__AErrCom_9);
 CLS(2,_AErrCom_8,__AErrCom_8);
 CLS(4,_AErrCom_7,__AErrCom_7);
 CLS(3,_AErrCom_6,__AErrCom_6);
 CLS(3,_AErrCom_5,__AErrCom_5);
 CLS(4,_AErrCom_4,__AErrCom_4);
 CLS(2,_AErrCom_3,__AErrCom_3);
 CLS(2,_AErrCom_2,__AErrCom_2);
 CLS(2,_AErrCom_1,__AErrCom_1);}

