

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ __ASeq_6;
extern OBJ _ASeq_32(OBJ,OBJ);extern OBJ __ASeq_32;
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;
extern OBJ _ACom_23(OBJ);extern OBJ __ACom_23;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;

#include "Denotation.h"
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _ASeqIndex_2(OBJ,OBJ);extern OBJ __ASeqIndex_2;
extern OBJ _AEQUALITY_2(OBJ,OBJ);extern OBJ __AEQUALITY_2;

#include "Char.h"

#include "Int.h"

#include "ProcessArgs.h"

#define __AProcessArgs_Aarg_L16 __AProcessArgs_16
#define _AProcessArgs_Aarg_L16 _AProcessArgs_16
#define AProcessArgs_16 AProcessArgs_Aarg_L16
extern OBJ __AProcessArgs_Aarg_L16;
extern OBJ _AProcessArgs_Aarg_L16(OBJ);

#define __AProcessArgs_Aarg_L17 __AProcessArgs_17
#define _AProcessArgs_Aarg_L17 _AProcessArgs_17
#define AProcessArgs_17 AProcessArgs_Aarg_L17
extern OBJ __AProcessArgs_Aarg_L17;
extern OBJ _AProcessArgs_Aarg_L17(OBJ,OBJ);

#define __AProcessArgs_Ashift_L18 __AProcessArgs_18
#define _AProcessArgs_Ashift_L18 _AProcessArgs_18
#define AProcessArgs_18 AProcessArgs_Ashift_L18
extern OBJ __AProcessArgs_Ashift_L18;
extern OBJ _AProcessArgs_Ashift_L18(OBJ,OBJ);

#define __AProcessArgs_AsetEnv_L19 __AProcessArgs_19
extern OBJ __AProcessArgs_AsetEnv_L19;

#define __AProcessArgs_AargCount_L20 __AProcessArgs_20
#define _AProcessArgs_AargCount_L20 _AProcessArgs_20
#define AProcessArgs_20 AProcessArgs_AargCount_L20
extern OBJ __AProcessArgs_AargCount_L20;
extern OBJ _AProcessArgs_AargCount_L20(OBJ);
OBJ __AProcessArgs_AargCount; /* argCount */
extern OBJ _AProcessArgs_Aarg(OBJ);OBJ __AProcessArgs_Aarg; /* arg */
extern OBJ _AProcessArgs_AnoSuchArg_(OBJ);OBJ __AProcessArgs_AnoSuchArg_; /* noSuchArg? */
OBJ __AProcessArgs_Aargs; /* args */
extern OBJ _AProcessArgs_Ashift(OBJ);OBJ __AProcessArgs_Ashift; /* shift */
extern OBJ _AProcessArgs_AsetArgs(OBJ);OBJ __AProcessArgs_AsetArgs; /* setArgs */
extern OBJ _AProcessArgs_Aenv(OBJ);OBJ __AProcessArgs_Aenv; /* env */
extern OBJ _AProcessArgs_AnoSuchEnvVar_(OBJ);OBJ __AProcessArgs_AnoSuchEnvVar_; /* noSuchEnvVar? */
extern OBJ _AProcessArgs_AsetEnv(OBJ,OBJ);OBJ __AProcessArgs_AsetEnv; /* setEnv */
OBJ __AProcessArgs_AnoSuchArg; /* noSuchArg */
extern OBJ _AProcessArgs_AcArgs(OBJ);OBJ __AProcessArgs_AcArgs; /* cArgs */
extern OBJ _AProcessArgs_AcSetArgs(OBJ,OBJ);OBJ __AProcessArgs_AcSetArgs; /* cSetArgs */
OBJ __AProcessArgs_AnoSuchEnvVar; /* noSuchEnvVar */
extern OBJ _AProcessArgs_AcEnv(OBJ,OBJ);OBJ __AProcessArgs_AcEnv; /* cEnv */
extern OBJ _AProcessArgs_AcPutEnv(OBJ,OBJ);OBJ __AProcessArgs_AcPutEnv; /* cPutEnv */
extern OBJ _AProcessArgs_Aarg_L16(OBJ);OBJ __AProcessArgs_Aarg_L16; /* arg'16 */
extern OBJ _AProcessArgs_Aarg_L17(OBJ,OBJ);OBJ __AProcessArgs_Aarg_L17; /* arg'17 */
extern OBJ _AProcessArgs_Ashift_L18(OBJ,OBJ);OBJ __AProcessArgs_Ashift_L18; /* shift'18 */
OBJ __AProcessArgs_AsetEnv_L19; /* setEnv'19 */
extern OBJ _AProcessArgs_AargCount_L20(OBJ);OBJ __AProcessArgs_AargCount_L20; /* argCount'20 */
OBJ __AProcessArgs_AnoSuchArg_L21; /* noSuchArg'21 */
OBJ __AProcessArgs_AnoSuchEnvVar_L22; /* noSuchEnvVar'22 */

#include "ProcessArgs.hc.c"

extern OBJ _AProcessArgs_Aarg(OBJ x1) /* arg */
{OBJ r;
 CPPRD(__AProcessArgs_Aargs,1);
 CPCLS(__AProcessArgs_Aarg_L17,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AProcessArgs_Aarg_L17,1))(__AProcessArgs_Aarg_L17,x1);
  r=_AComCompose_5(__AProcessArgs_Aargs,x2);}
 return r;}

extern OBJ _AProcessArgs_AnoSuchArg_(OBJ x1) /* noSuchArg? */
{OBJ r;
 CPPRD(__AProcessArgs_AnoSuchArg,1);
 r=_AEQUALITY_2(x1,__AProcessArgs_AnoSuchArg);
 return r;}

extern OBJ _AProcessArgs_Ashift(OBJ x1) /* shift */
{OBJ r;
 CPPRD(__AProcessArgs_Aargs,1);
 CPCLS(__AProcessArgs_Ashift_L18,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AProcessArgs_Ashift_L18,1))(__AProcessArgs_Ashift_L18,x1);
  r=_AComCompose_5(__AProcessArgs_Aargs,x2);}
 return r;}

extern OBJ _AProcessArgs_AsetArgs(OBJ x1) /* setArgs */
{OBJ r;
 CPCLS(__AProcessArgs_AcSetArgs,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AProcessArgs_AcSetArgs,1))(__AProcessArgs_AcSetArgs,x1);
  PRD(2,0,r);FLD(r,1)=x2;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AProcessArgs_Aenv(OBJ x1) /* env */
{OBJ r;
 CPCLS(__AProcessArgs_AcEnv,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AProcessArgs_AcEnv,1))(__AProcessArgs_AcEnv,x1);
  PRD(2,0,r);FLD(r,1)=x2;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AProcessArgs_AnoSuchEnvVar_(OBJ x1) /* noSuchEnvVar? */
{OBJ r;
 CPPRD(__AProcessArgs_AnoSuchEnvVar,1);
 r=_AEQUALITY_2(x1,__AProcessArgs_AnoSuchEnvVar);
 return r;}

extern OBJ _AProcessArgs_AsetEnv(OBJ x1,OBJ x2) /* setEnv */
{OBJ r;
 CPCLS(__AProcessArgs_AcPutEnv,1);
 CPPRD(__AProcessArgs_AsetEnv_L19,1);
 {OBJ x3;OBJ x4;OBJ x5;
  ADenotation_4(__AProcessArgs_AsetEnv_L19,x2,x3);
  ADenotation_4(x1,x3,x4);
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__AProcessArgs_AcPutEnv,1))(__AProcessArgs_AcPutEnv,x4);
  PRD(2,0,r);FLD(r,1)=x5;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AProcessArgs_Aarg_L16(OBJ x1) /* arg'16 */
{OBJ r;
 CPPRD(__AProcessArgs_AnoSuchArg,1);
 CPCLS(__ACom_47,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,__AProcessArgs_AnoSuchArg);
 return r;}

extern OBJ _AProcessArgs_Aarg_L17(OBJ x1,OBJ x2) /* arg'17 */
{OBJ r;
 COPY(x2,1);
 {OBJ x3;OBJ x4;
  x3=_ASeq_52(x2,__ANat_5);
  ANat_80(x1,x3,x4);
  if(ISTGPRM(x4,1)){
   {OBJ x5;
    x5=_ASeqIndex_2(x2,x1);
    r=_ACom_23(x5);}
  }else{
   FREE(x2,1);
   CPCLS(__AProcessArgs_Aarg_L16,1);
   {OBJ x6;
    x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__AProcessArgs_Aarg_L16,1))(__AProcessArgs_Aarg_L16,__ABUILTIN_20);
    PRD(2,0,r);FLD(r,1)=x6;FLD(r,2)=__ASeq_6;}}}
 return r;}

extern OBJ _AProcessArgs_Ashift_L18(OBJ x1,OBJ x2) /* shift'18 */
{OBJ r;
 CPCLS(__AProcessArgs_AcSetArgs,1);
 {OBJ x3;OBJ x4;
  x3=_ASeq_32(x1,x2);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AProcessArgs_AcSetArgs,1))(__AProcessArgs_AcSetArgs,x3);
  PRD(2,0,r);FLD(r,1)=x4;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AProcessArgs_AargCount_L20(OBJ x1) /* argCount'20 */
{OBJ r;
 {OBJ x2;
  x2=_ASeq_52(x1,__ANat_5);
  r=_ACom_23(x2);}
 return r;}





init_AProcessArgs()
{
 static int visited=0; if(visited) return; visited=1;
 init_ANat();
 init_AVoid();
 init_ASeq();
 init_ACom();
 init_AOption();
 init_ADenotation();
 init_AComCompose();
 init_ASeqIndex();
 init_AEQUALITY();
 init_AChar();
 init_ASeqMap();
 init_AInt();
 DEN("no such environment variable",__AProcessArgs_22);
 DEN("no such argument",__AProcessArgs_21);
 CLS(1,_AProcessArgs_20,__AProcessArgs_20);
 DEN("=",__AProcessArgs_19);
 CLS(2,_AProcessArgs_18,__AProcessArgs_18);
 CLS(2,_AProcessArgs_17,__AProcessArgs_17);
 LCLS(1,_AProcessArgs_16,__AProcessArgs_16);
 CLS(2,_AProcessArgs_15,__AProcessArgs_15);
 CLS(2,_AProcessArgs_14,__AProcessArgs_14);
 CLS(2,_AProcessArgs_12,__AProcessArgs_12);
 CLS(1,_AProcessArgs_11,__AProcessArgs_11);
 CLS(2,_AProcessArgs_9,__AProcessArgs_9);
 CLS(1,_AProcessArgs_8,__AProcessArgs_8);
 CLS(1,_AProcessArgs_7,__AProcessArgs_7);
 CLS(1,_AProcessArgs_6,__AProcessArgs_6);
 CLS(1,_AProcessArgs_5,__AProcessArgs_5);
 CLS(1,_AProcessArgs_3,__AProcessArgs_3);
 CLS(1,_AProcessArgs_2,__AProcessArgs_2);
 init_const_AProcessArgs();
 /* __AProcessArgs_Aargs */
 CPCLS(__AProcessArgs_AcArgs,1);
 PRD(2,0,__AProcessArgs_Aargs);FLD(__AProcessArgs_Aargs,1)=__AProcessArgs_AcArgs;FLD(__AProcessArgs_Aargs,2)=__ASeq_6;
 /* __AProcessArgs_AargCount */
 CPPRD(__AProcessArgs_Aargs,1);
 CPCLS(__AProcessArgs_AargCount_L20,1);
 __AProcessArgs_AargCount=_AComCompose_5(__AProcessArgs_Aargs,__AProcessArgs_AargCount_L20);
 /* __AProcessArgs_AnoSuchArg */
 CPPRD(__AProcessArgs_AnoSuchArg_L21,1);
 PRD(1,1,__AProcessArgs_AnoSuchArg);FLD(__AProcessArgs_AnoSuchArg,1)=__AProcessArgs_AnoSuchArg_L21;
 /* __AProcessArgs_AnoSuchEnvVar */
 CPPRD(__AProcessArgs_AnoSuchEnvVar_L22,1);
 PRD(1,1,__AProcessArgs_AnoSuchEnvVar);FLD(__AProcessArgs_AnoSuchEnvVar,1)=__AProcessArgs_AnoSuchEnvVar_L22;}

