home *** CD-ROM | disk | FTP | other *** search
- /* This code is generated by pOt. */
-
- #include <pOtRTL.h>
- #include "COCS.h"
- #include "COCT.h"
- #include "COCD.h"
- #include "COCQ.h"
- #include "COCP.h"
-
- #include "hi.COCH"
-
-
-
-
- static struct {void *next, *vars[0x1];} pOt__gc_ptrs = {pOt_NIL,{
- pOt_NIL
- }};
- static struct {void *next, *vars[0x1];} pOt__gc_strs = {&pOt__gc_ptrs,{
- pOt_NIL
- }};
-
-
-
-
- extern pOt_INTEGER pOt_StartLinStmt_COCH
- #if pOt__ANSI_C
- (struct pOt__tag_3_COCT *pOt_x)
- #else
- (pOt_x)
- struct pOt__tag_3_COCT *pOt_x;
-
- #endif
- {
- pOt_INTEGER pOt__retval;
- pOt_INTEGER pOt_qoffs;
- int pOt__gc_enabled_prev;
- pOt__gc_enabled_prev=pOt__gc_enabled;
- pOt__gc_enabled=0;
-
- pOt_qoffs=(pOt_INTEGER)((*pOt_x).pOt_qoffs);
- pOt_Link_COCQ((struct pOt__tag_3_COCT*)&(*pOt_x));
- if(( (*pOt_x).pOt_qoffs==((pOt_INTEGER)(0)))) {
- pOt_Dummy_COCQ();
- }
- pOt__retval =(pOt_INTEGER)(pOt_qoffs);
- goto pOt__Epilogue;
-
- pOt__halt(__FILE__,__LINE__,0x11);
- pOt__Epilogue:;
- pOt__gc_enabled=pOt__gc_enabled_prev;
- return pOt__retval;
- }
-
-
-
-
- extern void pOt_StopLinStmt_COCH
- #if pOt__ANSI_C
- (struct pOt__tag_3_COCT *pOt_x, pOt_INTEGER pOt_qoffs)
- #else
- (pOt_x, pOt_qoffs)
- struct pOt__tag_3_COCT *pOt_x;
- pOt_INTEGER pOt_qoffs;
-
- #endif
- {
- pOt_INTEGER pOt_np;
- struct {void*next;} pOt__gc_ptrs;
- pOt__gc_ptrs.next = pOt__gc_root;
-
- pOt_Unlink_COCQ((struct pOt__tag_3_COCT*)&(*pOt_x));
- (*pOt_x).pOt_qoffs=(pOt_INTEGER)(pOt_qoffs);
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
-
-
-
- static void pOt_DynArrBnd_COCH
- #if pOt__ANSI_C
- (pOt_Struct_COCT pOt_ftyp, pOt_Struct_COCT pOt_atyp, pOt_BOOLEAN pOt_varpar)
- #else
- (pOt_ftyp, pOt_atyp, pOt_varpar)
- pOt_Struct_COCT pOt_ftyp, pOt_atyp;
- pOt_BOOLEAN pOt_varpar;
-
- #endif
- {
- pOt_INTEGER pOt_f;
- struct {void *next, *vars[0x3];} pOt__gc_ptrs;
- struct {void *next, *vars[0x1];} pOt__gc_strs;
- pOt__gc_ptrs.next = pOt__gc_root;
- pOt__gc_strs.next = &pOt__gc_ptrs;
- pOt__gc_ptrs.vars[0x2]=pOt_NIL;
- pOt__gc_strs.vars[0x0]=pOt_NIL;
- pOt__gc_ptrs.vars[0x1]=&pOt_ftyp;
- pOt__gc_ptrs.vars[0x0]=&pOt_atyp;
- pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
-
- if((pOt_varpar&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_ftyp))).pOt_BaseTyp))).pOt_form==1)))) {
- if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form!=16)) {
- if(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form!=15))||(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_BaseTyp))).pOt_form>4)))) {
- pOt_Mark_COCS((pOt_INTEGER)(-1));
- }
- } else {
- pOt_atyp=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_BaseTyp);
- if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form!=16)) {
- if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form>4)) {
- pOt_Mark_COCS((pOt_INTEGER)(-1));
- }
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(-1));
- for(;;) {
- pOt_atyp=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_BaseTyp);
- if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form!=16)) break;
- }
- }
- }
- } else {
- for(;;) {
- pOt_f=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form);
- if((((pOt_f!=((pOt_INTEGER)(15))))&&((pOt_f!=((pOt_INTEGER)(16)))))) {
- pOt_Mark_COCS((pOt_INTEGER)(66));
- goto pOt__LoopLabel_1;
- }
- pOt_ftyp=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_ftyp))).pOt_BaseTyp);
- pOt_atyp=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_BaseTyp);
- if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_ftyp))).pOt_form!=16)) {
- if(( pOt_ftyp!=pOt_atyp)) {
- pOt_Mark_COCS((pOt_INTEGER)(67));
- }
- goto pOt__LoopLabel_1;
- }
- }
- pOt__LoopLabel_1:;
- }
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
-
-
-
- extern void pOt_CompareParLists_COCH
- #if pOt__ANSI_C
- (pOt_Object_COCT pOt_x, pOt_Object_COCT pOt_y)
- #else
- (pOt_x, pOt_y)
- pOt_Object_COCT pOt_x, pOt_y;
-
- #endif
- {
- pOt_Struct_COCT pOt_xt, pOt_yt;
- struct {void *next, *vars[0x5];} pOt__gc_ptrs;
- struct {void *next, *vars[0x1];} pOt__gc_strs;
- pOt__gc_ptrs.next = pOt__gc_root;
- pOt__gc_strs.next = &pOt__gc_ptrs;
- pOt__gc_ptrs.vars[0x4]=pOt_NIL;
- pOt__gc_strs.vars[0x0]=pOt_NIL;
- pOt__gc_ptrs.vars[0x3]=&pOt_x;
- pOt__gc_ptrs.vars[0x2]=&pOt_y;
- pOt__gc_ptrs.vars[0x1]=&pOt_xt;
- pOt__gc_ptrs.vars[0x0]=&pOt_yt;
- pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
- pOt_xt=pOt_NIL;
- pOt_yt=pOt_NIL;
-
- for(;;) {
- if(( pOt_x!=pOt_NIL)); else break;
- if(( pOt_y!=pOt_NIL)) {
- pOt_xt=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x))).pOt_typ);
- pOt_yt=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_y))).pOt_typ);
- for(;;) {
- if(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_xt))).pOt_form==16))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_yt))).pOt_form==16)))); else break;
- pOt_xt=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_xt))).pOt_BaseTyp);
- pOt_yt=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_yt))).pOt_BaseTyp);
- }
- if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x))).pOt_mode!=(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_y))).pOt_mode)) {
- pOt_Mark_COCS((pOt_INTEGER)(115));
- } else if(( pOt_xt!=pOt_yt)) {
- if(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_xt))).pOt_form==14))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_yt))).pOt_form==14)))) {
- pOt_CompareParLists_COCH((struct pOt__tag_1_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_xt))).pOt_link),(struct pOt__tag_1_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_yt))).pOt_link));
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(115));
- }
- }
- pOt_y=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_y))).pOt_next);
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(116));
- }
- pOt_x=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x))).pOt_next);
- }
- if(((((pOt_y!=pOt_NIL))&&(((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_y))).pOt_mode<=3)))&&(((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_y))).pOt_intval==((pOt_LONGINT)(1)))))) {
- pOt_Mark_COCS((pOt_INTEGER)(117));
- }
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
-
-
-
- extern void pOt_AssignPrefix_COCH
- #if pOt__ANSI_C
- (struct pOt__tag_3_COCT *pOt_x)
- #else
- (pOt_x)
- struct pOt__tag_3_COCT *pOt_x;
-
- #endif
- {
- struct {void*next;} pOt__gc_ptrs;
- pOt__gc_ptrs.next = pOt__gc_root;
-
- if(( (*pOt_x).pOt_mode>=8)) {
- pOt_Mark_COCS((pOt_INTEGER)(56));
- } else if(((((*pOt_x).pOt_mode==1))&&(((*pOt_x).pOt_mnolev<((pOt_INTEGER)(0)))))) {
- pOt_Mark_COCS((pOt_INTEGER)(-3));
- }
- pOt_AssignPfx_COCP((struct pOt__tag_3_COCT*)&(*pOt_x),pOt_typchk_COCT);
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
-
-
-
- extern void pOt_Assign_COCH
- #if pOt__ANSI_C
- (struct pOt__tag_3_COCT *pOt_x, struct pOt__tag_3_COCT *pOt_y)
- #else
- (pOt_x, pOt_y)
- struct pOt__tag_3_COCT *pOt_x, *pOt_y;
-
- #endif
- {
- pOt_INTEGER pOt_f, pOt_g, pOt_L;
- pOt_Struct_COCT pOt_p, pOt_q;
- struct {void *next, *vars[0x3];} pOt__gc_ptrs;
- struct {void *next, *vars[0x1];} pOt__gc_strs;
- pOt__gc_ptrs.next = pOt__gc_root;
- pOt__gc_strs.next = &pOt__gc_ptrs;
- pOt__gc_ptrs.vars[0x2]=pOt_NIL;
- pOt__gc_strs.vars[0x0]=pOt_NIL;
- pOt__gc_ptrs.vars[0x1]=&pOt_p;
- pOt__gc_ptrs.vars[0x0]=&pOt_q;
- pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
- pOt_p=pOt_NIL;
- pOt_q=pOt_NIL;
-
- if(( (*pOt_y).pOt_mode==13)) {
- pOt_Mark_COCS((pOt_INTEGER)(126));
- }
- pOt_f=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form);
- pOt_g=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_form);
- switch(pOt_f) {
- case 0:
- case 10:
- break;
- case 1:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x1BL)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 2:
- case 3:
- case 4:
- case 9:
- if(( pOt_g!=pOt_f)) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 5:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x30L)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 6:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x70L)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 7:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0xF0L)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 8:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x1F0L)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 13:
- if(((((*pOt_x).pOt_typ==(*pOt_y).pOt_typ))||((pOt_g==((pOt_INTEGER)(11)))))) {
- } else if(( pOt_g==((pOt_INTEGER)(13)))) {
- pOt_p=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp);
- pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_BaseTyp);
- if(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_p))).pOt_form==17))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_q))).pOt_form==17)))) {
- for(;;) {
- if((((pOt_q!=pOt_p))&&((pOt_q!=pOt_NIL)))); else break;
- pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_q))).pOt_BaseTyp);
- }
- if(( pOt_q==pOt_NIL)) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 15:
- if(( (*pOt_x).pOt_typ==(*pOt_y).pOt_typ)) {
- } else if((((pOt_g==((pOt_INTEGER)(10))))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp==pOt_chartyp_COCT)))) {
- pOt_L=(pOt_INTEGER)((pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)((pOt_LONGINT)pOt__rngchk_i(__FILE__,__LINE__,(pOt_LONGINT)pOt__modchk(__FILE__,__LINE__,(pOt_LONGINT)((*pOt_y).pOt_intval),(pOt_LONGINT)(256),6))),(pOt_LONGINT)(1),5));
- if((((pOt_LONGINT)( pOt_L))>(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_n)) {
- pOt_Mark_COCS((pOt_INTEGER)(114));
- } else if((((pOt_LONGINT)( (pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_L),(pOt_LONGINT)(2048),5)))<(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_n)) {
- pOt_Mark_COCS((pOt_INTEGER)(244));
- }
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 16:
- if((((pOt_g==((pOt_INTEGER)(10))))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp))).pOt_form==3)))) {
- } else if(( (*pOt_y).pOt_mode>3)) {
- pOt_Mark_COCS((pOt_INTEGER)(59));
- } else {
- pOt_DynArrBnd_COCH((struct pOt__tag_2_COCT*)((*pOt_x).pOt_typ),(struct pOt__tag_2_COCT*)((*pOt_y).pOt_typ),(pOt_BOOLEAN)0);
- }
- break;
- case 17:
- if(( (*pOt_x).pOt_typ!=(*pOt_y).pOt_typ)) {
- if(( pOt_g==((pOt_INTEGER)(17)))) {
- pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_BaseTyp);
- for(;;) {
- if((((pOt_q!=pOt_NIL))&&((pOt_q!=(*pOt_x).pOt_typ)))); else break;
- pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_q))).pOt_BaseTyp);
- }
- if(( pOt_q==pOt_NIL)) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- }
- break;
- case 14:
- if(((((*pOt_x).pOt_typ==(*pOt_y).pOt_typ))||(((*pOt_y).pOt_typ==pOt_niltyp_COCT)))) {
- } else if(((((*pOt_y).pOt_mode==15))||(((*pOt_y).pOt_mode==18)))) {
- if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp==(*pOt_y).pOt_typ)) {
- pOt_CompareParLists_COCH((struct pOt__tag_1_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_link),(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_obj))).pOt_dsc));
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(118));
- }
- } else if(( (*pOt_y).pOt_mode==14)) {
- pOt_Mark_COCS((pOt_INTEGER)(119));
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(111));
- }
- break;
- case 12:
- case 11:
- pOt_Mark_COCS((pOt_INTEGER)(111));
- break;
- default:;
- pOt__halt(__FILE__,__LINE__,0x10);
- }
- pOt_AssignSfx_COCP((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&(*pOt_y));
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
-
-
-
- extern pOt_INTEGER pOt_PrepCall_COCH
- #if pOt__ANSI_C
- (struct pOt__tag_3_COCT *pOt_x, pOt_Object_COCT *pOt_fpar)
- #else
- (pOt_x, pOt_fpar)
- struct pOt__tag_3_COCT *pOt_x;
- pOt_Object_COCT *pOt_fpar;
-
- #endif
- {
- pOt_INTEGER pOt__retval;
- pOt_INTEGER pOt_qoffs;
- int pOt__gc_enabled_prev;
- pOt__gc_enabled_prev=pOt__gc_enabled;
- pOt__gc_enabled=0;
-
- pOt_qoffs=(pOt_INTEGER)((*pOt_x).pOt_qoffs);
- pOt_Link_COCQ((struct pOt__tag_3_COCT*)&(*pOt_x));
- pOt_ParamListPfx_COCP();
- if((((((*pOt_x).pOt_mode==14))||(((*pOt_x).pOt_mode==15)))||(((*pOt_x).pOt_mode==17)))) {
- (*pOt_fpar)=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_obj))).pOt_dsc);
- } else if(((((*pOt_x).pOt_typ!=pOt_NIL))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form==14)))) {
- (*pOt_fpar)=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_link);
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(121));
- (*pOt_fpar)=(struct pOt__tag_1_COCT*)(pOt_NIL);
- (*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
- }
- pOt__retval =(pOt_INTEGER)(pOt_qoffs);
- goto pOt__Epilogue;
-
- pOt__halt(__FILE__,__LINE__,0x11);
- pOt__Epilogue:;
- pOt__gc_enabled=pOt__gc_enabled_prev;
- return pOt__retval;
- }
-
-
-
-
- extern void pOt_ParamPrefix_COCH
- #if pOt__ANSI_C
- (pOt_Object_COCT pOt_f)
- #else
- (pOt_f)
- pOt_Object_COCT pOt_f;
-
- #endif
- {
- struct {void *next, *vars[0x2];} pOt__gc_ptrs;
- struct {void *next, *vars[0x1];} pOt__gc_strs;
- pOt__gc_ptrs.next = pOt__gc_root;
- pOt__gc_strs.next = &pOt__gc_ptrs;
- pOt__gc_ptrs.vars[0x1]=pOt_NIL;
- pOt__gc_strs.vars[0x0]=pOt_NIL;
- pOt__gc_ptrs.vars[0x0]=&pOt_f;
- pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
-
- pOt_ParamPfx_COCP((struct pOt__tag_1_COCT*)(pOt_f));
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
-
-
- static struct pOt__tag_3_COCT *pOt_ap_Param_COCH;
- static pOt_Object_COCT (*pOt_f_Param_COCH);
- static pOt_Struct_COCT (*pOt_q_Param_COCH);
- static struct pOt__tag_3_COCT (*pOt_fp_Param_COCH);
-
- extern void pOt_Param_COCH pOt__ARGS((struct pOt__tag_3_COCT *, pOt_Object_COCT ));
-
-
-
-
- static void pOt_ValParam_Param_COCH
- #if pOt__ANSI_C
- (struct pOt__tag_3_COCT *pOt_x, struct pOt__tag_3_COCT *pOt_y)
- #else
- (pOt_x, pOt_y)
- struct pOt__tag_3_COCT *pOt_x, *pOt_y;
-
- #endif
- {
- pOt_INTEGER pOt_f, pOt_g, pOt_L;
- pOt_Struct_COCT pOt_p;
- struct {void *next, *vars[0x2];} pOt__gc_ptrs;
- struct {void *next, *vars[0x1];} pOt__gc_strs;
- pOt__gc_ptrs.next = pOt__gc_root;
- pOt__gc_strs.next = &pOt__gc_ptrs;
- pOt__gc_ptrs.vars[0x1]=pOt_NIL;
- pOt__gc_strs.vars[0x0]=pOt_NIL;
- pOt__gc_ptrs.vars[0x0]=&pOt_p;
- pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
- pOt_p=pOt_NIL;
-
- if(( (*pOt_y).pOt_mode==13)) {
- pOt_Mark_COCS((pOt_INTEGER)(126));
- }
- pOt_f=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form);
- pOt_g=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_form);
- switch(pOt_f) {
- case 0:
- case 10:
- break;
- case 1:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x1BL)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 2:
- case 3:
- case 4:
- case 9:
- if(( pOt_g!=pOt_f)) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 5:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x30L)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 6:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x70L)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 7:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0xF0L)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 8:
- if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x1F0L)))) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 13:
- if(((((*pOt_x).pOt_typ==(*pOt_y).pOt_typ))||((pOt_g==((pOt_INTEGER)(11)))))) {
- } else if(( pOt_g==((pOt_INTEGER)(13)))) {
- pOt_p=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp);
- (*pOt_q_Param_COCH)=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_BaseTyp);
- if(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_p))).pOt_form==17))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_q_Param_COCH)))).pOt_form==17)))) {
- for(;;) {
- if(((((*pOt_q_Param_COCH)!=pOt_p))&&(((*pOt_q_Param_COCH)!=pOt_NIL)))); else break;
- (*pOt_q_Param_COCH)=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_q_Param_COCH)))).pOt_BaseTyp);
- }
- if(( (*pOt_q_Param_COCH)==pOt_NIL)) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 15:
- if(( (*pOt_x).pOt_typ==(*pOt_y).pOt_typ)) {
- } else if((((pOt_g==((pOt_INTEGER)(10))))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp==pOt_chartyp_COCT)))) {
- pOt_L=(pOt_INTEGER)((pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)((pOt_LONGINT)pOt__rngchk_i(__FILE__,__LINE__,(pOt_LONGINT)pOt__modchk(__FILE__,__LINE__,(pOt_LONGINT)((*pOt_y).pOt_intval),(pOt_LONGINT)(256),6))),(pOt_LONGINT)(1),5));
- if((((pOt_LONGINT)( pOt_L))>(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_n)) {
- pOt_Mark_COCS((pOt_INTEGER)(114));
- } else if((((pOt_LONGINT)( (pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_L),(pOt_LONGINT)(2048),5)))<(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_n)) {
- pOt_Mark_COCS((pOt_INTEGER)(244));
- }
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- break;
- case 16:
- if((((pOt_g==((pOt_INTEGER)(10))))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp))).pOt_form==3)))) {
- } else if(( (*pOt_y).pOt_mode>3)) {
- pOt_Mark_COCS((pOt_INTEGER)(59));
- } else {
- pOt_DynArrBnd_COCH((struct pOt__tag_2_COCT*)((*pOt_x).pOt_typ),(struct pOt__tag_2_COCT*)((*pOt_y).pOt_typ),(pOt_BOOLEAN)0);
- }
- break;
- case 17:
- if(( (*pOt_x).pOt_typ!=(*pOt_y).pOt_typ)) {
- if(( pOt_g==((pOt_INTEGER)(17)))) {
- (*pOt_q_Param_COCH)=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_BaseTyp);
- for(;;) {
- if(((((*pOt_q_Param_COCH)!=pOt_NIL))&&(((*pOt_q_Param_COCH)!=(*pOt_x).pOt_typ)))); else break;
- (*pOt_q_Param_COCH)=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_q_Param_COCH)))).pOt_BaseTyp);
- }
- if(( (*pOt_q_Param_COCH)==pOt_NIL)) {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(113));
- }
- }
- break;
- case 14:
- if(((((*pOt_x).pOt_typ==(*pOt_y).pOt_typ))||(((*pOt_y).pOt_typ==pOt_niltyp_COCT)))) {
- } else if(((((*pOt_y).pOt_mode==15))||(((*pOt_y).pOt_mode==18)))) {
- if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp==(*pOt_y).pOt_typ)) {
- pOt_CompareParLists_COCH((struct pOt__tag_1_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_link),(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_obj))).pOt_dsc));
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(118));
- }
- } else if(( (*pOt_y).pOt_mode==14)) {
- pOt_Mark_COCS((pOt_INTEGER)(119));
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(111));
- }
- break;
- case 12:
- case 11:
- pOt_Mark_COCS((pOt_INTEGER)(111));
- break;
- default:;
- pOt__halt(__FILE__,__LINE__,0x10);
- }
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
- extern void pOt_Param_COCH
- #if pOt__ANSI_C
- (struct pOt__tag_3_COCT *pOt_ap, pOt_Object_COCT pOt_f)
- #else
- (pOt_ap, pOt_f)
- struct pOt__tag_3_COCT *pOt_ap;
- pOt_Object_COCT pOt_f;
-
- #endif
- {
- struct pOt__tag_3_COCT *pOt_ap_;
- pOt_Object_COCT (*pOt_f_);
- pOt_Struct_COCT pOt_q, (*pOt_q_);
- struct pOt__tag_3_COCT pOt_fp, (*pOt_fp_);
- struct {void *next, *vars[0x3];} pOt__gc_ptrs;
- struct {void *next, *vars[0x2];} pOt__gc_strs;
- pOt__gc_ptrs.next = pOt__gc_root;
- pOt__gc_strs.next = &pOt__gc_ptrs;
- pOt__gc_ptrs.vars[0x2]=pOt_NIL;
- pOt__gc_strs.vars[0x1]=pOt_NIL;
- pOt__gc_ptrs.vars[0x1]=&pOt_f;
- pOt__gc_ptrs.vars[0x0]=&pOt_q;
- pOt__gc_strs.vars[0x0]=&pOt_fp;
- pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
- pOt_ap_=pOt_ap_Param_COCH;
- pOt_ap_Param_COCH=pOt_ap;
- pOt_f_=pOt_f_Param_COCH;
- pOt_f_Param_COCH=&pOt_f;
- pOt_q_=pOt_q_Param_COCH;
- pOt_q_Param_COCH=&pOt_q;
- pOt_q=pOt_NIL;
- pOt_fp_=pOt_fp_Param_COCH;
- pOt_fp_Param_COCH=&pOt_fp;
- pOt__init_var((pOt__TypDsc**)&pOt_fp,(pOt__TypDsc*)&pOt__td_3_COCT);
-
- pOt_fp.pOt_mode=9;
- pOt_fp.pOt_typ=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_typ);
- if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_mode==3)) {
- if(( (*pOt_ap).pOt_mode>=8)) {
- pOt_Mark_COCS((pOt_INTEGER)(122));
- }
- if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fp.pOt_typ))).pOt_form==16)) {
- pOt_DynArrBnd_COCH((struct pOt__tag_2_COCT*)(pOt_fp.pOt_typ),(struct pOt__tag_2_COCT*)((*pOt_ap).pOt_typ),(pOt_BOOLEAN)1);
- } else if(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_typ))).pOt_form==17))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_ap).pOt_typ))).pOt_form==17)))) {
- pOt_q=(struct pOt__tag_2_COCT*)((*pOt_ap).pOt_typ);
- for(;;) {
- if((((pOt_q!=(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_typ))&&((pOt_q!=pOt_NIL)))); else break;
- pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_q))).pOt_BaseTyp);
- }
- if(( pOt_q==pOt_NIL)) {
- pOt_Mark_COCS((pOt_INTEGER)(111));
- }
- } else if(((((*pOt_ap).pOt_typ==(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_typ))||(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_typ))).pOt_form==1))&&(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_ap).pOt_typ))).pOt_form)&(pOt_SET)0x18L))))))) {
- } else {
- pOt_Mark_COCS((pOt_INTEGER)(123));
- }
- } else {
- pOt_ValParam_Param_COCH((struct pOt__tag_3_COCT*)&pOt_fp,(struct pOt__tag_3_COCT*)&(*pOt_ap));
- }
- pOt_ParamSfx_COCP((struct pOt__tag_3_COCT*)&(*pOt_ap),(struct pOt__tag_1_COCT*)(pOt_f));
-
- pOt__Epilogue:;
- pOt_ap_Param_COCH=pOt_ap_;
- pOt_f_Param_COCH=pOt_f_;
- pOt_q_Param_COCH=pOt_q_;
- pOt_fp_Param_COCH=pOt_fp_;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
-
-
-
- extern void pOt_NextParam_COCH()
- {
- struct {void*next;} pOt__gc_ptrs;
- pOt__gc_ptrs.next = pOt__gc_root;
-
- pOt_NextParam_COCP();
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
-
-
-
- extern void pOt_Call_COCH
- #if pOt__ANSI_C
- (struct pOt__tag_3_COCT *pOt_x, pOt_INTEGER pOt_qoffs)
- #else
- (pOt_x, pOt_qoffs)
- struct pOt__tag_3_COCT *pOt_x;
- pOt_INTEGER pOt_qoffs;
-
- #endif
- {
- struct {void*next;} pOt__gc_ptrs;
- pOt__gc_ptrs.next = pOt__gc_root;
-
- pOt_ParamListSfx_COCP();
- pOt_Unlink_COCQ((struct pOt__tag_3_COCT*)&(*pOt_x));
- (*pOt_x).pOt_qoffs=(pOt_INTEGER)(pOt_qoffs);
- if(((((*pOt_x).pOt_mode<8))&&(((*pOt_x).pOt_typ!=pOt_undftyp_COCT)))) {
- (*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp);
- } else if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,(*pOt_x).pOt_mode)&(pOt_SET)0x7C000L)))) {
- pOt_Mark_COCS((pOt_INTEGER)(121));
- }
- if(( (*pOt_x).pOt_typ!=pOt_notyp_COCT)) {
- (*pOt_x).pOt_mode=11;
- }
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
-
-
-
- extern void pOt_Trap_COCH
- #if pOt__ANSI_C
- (pOt_SHORTINT pOt_num)
- #else
- (pOt_num)
- pOt_SHORTINT pOt_num;
-
- #endif
- {
- struct pOt__tag_3_COCT pOt_x;
- pOt_INTEGER pOt_qoffs;
- struct {void *next, *vars[0x1];} pOt__gc_ptrs;
- struct {void *next, *vars[0x2];} pOt__gc_strs;
- pOt__gc_ptrs.next = pOt__gc_root;
- pOt__gc_strs.next = &pOt__gc_ptrs;
- pOt__gc_ptrs.vars[0x0]=pOt_NIL;
- pOt__gc_strs.vars[0x1]=pOt_NIL;
- pOt__gc_strs.vars[0x0]=&pOt_x;
- pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
- pOt__init_var((pOt__TypDsc**)&pOt_x,(pOt__TypDsc*)&pOt__td_3_COCT);
-
- if(( pOt_num>=32)) {
- pOt__halt(__FILE__,__LINE__,32);
- }
- pOt_x.pOt_intval=(pOt_LONGINT)(pOt_num);
- pOt_qoffs=(pOt_INTEGER)(pOt_StartLinStmt_COCH((struct pOt__tag_3_COCT*)&pOt_x));
- pOt_Trap_COCP((struct pOt__tag_3_COCT*)&pOt_x);
- pOt_StopLinStmt_COCH((struct pOt__tag_3_COCT*)&pOt_x,(pOt_INTEGER)(pOt_qoffs));
-
- pOt__Epilogue:;
- pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
- }
-
- void pOt_COCH__body()
- {
- static int pOt_COCH__loaded=0;
- if(!pOt_COCH__loaded){
- pOt_COCH__loaded=1;
-
- pOt_COCS__body();
- pOt_COCT__body();
- pOt_COCD__body();
- pOt_COCQ__body();
- pOt_COCP__body();
-
- pOt__gc_ptrs.next=pOt__gc_root;
- pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
-
-
-
- pOt__Epilogue:;
- }
- }
-