home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / program / language / oberon / potsrc / src / c / COCH < prev    next >
Encoding:
Text File  |  1995-05-06  |  27.2 KB  |  778 lines

  1. /* This code is generated by pOt. */
  2.  
  3. #include <pOtRTL.h>
  4. #include "COCS.h"
  5. #include "COCT.h"
  6. #include "COCD.h"
  7. #include "COCQ.h"
  8. #include "COCP.h"
  9.  
  10. #include "hi.COCH"
  11.  
  12.  
  13.  
  14.  
  15. static struct {void *next, *vars[0x1];} pOt__gc_ptrs = {pOt_NIL,{
  16.   pOt_NIL
  17. }};
  18. static struct {void *next, *vars[0x1];} pOt__gc_strs = {&pOt__gc_ptrs,{
  19.   pOt_NIL
  20. }};
  21.  
  22.  
  23.  
  24.  
  25. extern pOt_INTEGER pOt_StartLinStmt_COCH
  26. #if pOt__ANSI_C
  27.   (struct pOt__tag_3_COCT *pOt_x)
  28. #else
  29.   (pOt_x)
  30.   struct pOt__tag_3_COCT *pOt_x;
  31.  
  32. #endif
  33. {
  34.   pOt_INTEGER pOt__retval;
  35.   pOt_INTEGER pOt_qoffs;
  36.   int pOt__gc_enabled_prev;
  37.   pOt__gc_enabled_prev=pOt__gc_enabled;
  38.   pOt__gc_enabled=0;
  39.  
  40.   pOt_qoffs=(pOt_INTEGER)((*pOt_x).pOt_qoffs);
  41.   pOt_Link_COCQ((struct pOt__tag_3_COCT*)&(*pOt_x));
  42.   if(( (*pOt_x).pOt_qoffs==((pOt_INTEGER)(0)))) {
  43.     pOt_Dummy_COCQ();
  44.   }
  45.   pOt__retval =(pOt_INTEGER)(pOt_qoffs);
  46.   goto pOt__Epilogue;
  47.  
  48.   pOt__halt(__FILE__,__LINE__,0x11);
  49. pOt__Epilogue:;
  50.   pOt__gc_enabled=pOt__gc_enabled_prev;
  51.   return pOt__retval;
  52. }
  53.  
  54.  
  55.  
  56.  
  57. extern void pOt_StopLinStmt_COCH
  58. #if pOt__ANSI_C
  59.   (struct pOt__tag_3_COCT *pOt_x, pOt_INTEGER pOt_qoffs)
  60. #else
  61.   (pOt_x, pOt_qoffs)
  62.   struct pOt__tag_3_COCT *pOt_x;
  63.   pOt_INTEGER pOt_qoffs;
  64.  
  65. #endif
  66. {
  67.   pOt_INTEGER pOt_np;
  68.   struct {void*next;} pOt__gc_ptrs;
  69.   pOt__gc_ptrs.next = pOt__gc_root;
  70.  
  71.   pOt_Unlink_COCQ((struct pOt__tag_3_COCT*)&(*pOt_x));
  72.   (*pOt_x).pOt_qoffs=(pOt_INTEGER)(pOt_qoffs);
  73.  
  74. pOt__Epilogue:;
  75.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  76. }
  77.  
  78.  
  79.  
  80.  
  81. static void pOt_DynArrBnd_COCH
  82. #if pOt__ANSI_C
  83.   (pOt_Struct_COCT pOt_ftyp, pOt_Struct_COCT pOt_atyp, pOt_BOOLEAN pOt_varpar)
  84. #else
  85.   (pOt_ftyp, pOt_atyp, pOt_varpar)
  86.   pOt_Struct_COCT pOt_ftyp, pOt_atyp;
  87.   pOt_BOOLEAN pOt_varpar;
  88.  
  89. #endif
  90. {
  91.   pOt_INTEGER pOt_f;
  92.   struct {void *next, *vars[0x3];} pOt__gc_ptrs;
  93.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  94.   pOt__gc_ptrs.next = pOt__gc_root;
  95.   pOt__gc_strs.next = &pOt__gc_ptrs;
  96.   pOt__gc_ptrs.vars[0x2]=pOt_NIL;
  97.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  98.   pOt__gc_ptrs.vars[0x1]=&pOt_ftyp;
  99.   pOt__gc_ptrs.vars[0x0]=&pOt_atyp;
  100.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  101.  
  102.   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)))) {
  103.     if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form!=16)) {
  104.       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)))) {
  105.         pOt_Mark_COCS((pOt_INTEGER)(-1));
  106.       }
  107.     } else {
  108.       pOt_atyp=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_BaseTyp);
  109.       if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form!=16)) {
  110.         if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form>4)) {
  111.           pOt_Mark_COCS((pOt_INTEGER)(-1));
  112.         }
  113.       } else {
  114.         pOt_Mark_COCS((pOt_INTEGER)(-1));
  115.         for(;;) {
  116.           pOt_atyp=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_BaseTyp);
  117.           if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form!=16)) break;
  118.         }
  119.       }
  120.     }
  121.   } else {
  122.     for(;;) {
  123.       pOt_f=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_form);
  124.       if((((pOt_f!=((pOt_INTEGER)(15))))&&((pOt_f!=((pOt_INTEGER)(16)))))) {
  125.         pOt_Mark_COCS((pOt_INTEGER)(66));
  126.         goto pOt__LoopLabel_1;
  127.       }
  128.       pOt_ftyp=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_ftyp))).pOt_BaseTyp);
  129.       pOt_atyp=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_atyp))).pOt_BaseTyp);
  130.       if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_ftyp))).pOt_form!=16)) {
  131.         if(( pOt_ftyp!=pOt_atyp)) {
  132.           pOt_Mark_COCS((pOt_INTEGER)(67));
  133.         }
  134.         goto pOt__LoopLabel_1;
  135.       }
  136.     }
  137.   pOt__LoopLabel_1:;
  138.   }
  139.  
  140. pOt__Epilogue:;
  141.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  142. }
  143.  
  144.  
  145.  
  146.  
  147. extern void pOt_CompareParLists_COCH
  148. #if pOt__ANSI_C
  149.   (pOt_Object_COCT pOt_x, pOt_Object_COCT pOt_y)
  150. #else
  151.   (pOt_x, pOt_y)
  152.   pOt_Object_COCT pOt_x, pOt_y;
  153.  
  154. #endif
  155. {
  156.   pOt_Struct_COCT pOt_xt, pOt_yt;
  157.   struct {void *next, *vars[0x5];} pOt__gc_ptrs;
  158.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  159.   pOt__gc_ptrs.next = pOt__gc_root;
  160.   pOt__gc_strs.next = &pOt__gc_ptrs;
  161.   pOt__gc_ptrs.vars[0x4]=pOt_NIL;
  162.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  163.   pOt__gc_ptrs.vars[0x3]=&pOt_x;
  164.   pOt__gc_ptrs.vars[0x2]=&pOt_y;
  165.   pOt__gc_ptrs.vars[0x1]=&pOt_xt;
  166.   pOt__gc_ptrs.vars[0x0]=&pOt_yt;
  167.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  168.   pOt_xt=pOt_NIL;
  169.   pOt_yt=pOt_NIL;
  170.  
  171.   for(;;) {
  172.     if(( pOt_x!=pOt_NIL)); else break;
  173.     if(( pOt_y!=pOt_NIL)) {
  174.       pOt_xt=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x))).pOt_typ);
  175.       pOt_yt=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_y))).pOt_typ);
  176.       for(;;) {
  177.         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;
  178.         pOt_xt=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_xt))).pOt_BaseTyp);
  179.         pOt_yt=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_yt))).pOt_BaseTyp);
  180.       }
  181.       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)) {
  182.         pOt_Mark_COCS((pOt_INTEGER)(115));
  183.       } else if(( pOt_xt!=pOt_yt)) {
  184.         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)))) {
  185.           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));
  186.         } else {
  187.           pOt_Mark_COCS((pOt_INTEGER)(115));
  188.         }
  189.       }
  190.       pOt_y=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_y))).pOt_next);
  191.     } else {
  192.       pOt_Mark_COCS((pOt_INTEGER)(116));
  193.     }
  194.     pOt_x=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x))).pOt_next);
  195.   }
  196.   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)))))) {
  197.     pOt_Mark_COCS((pOt_INTEGER)(117));
  198.   }
  199.  
  200. pOt__Epilogue:;
  201.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  202. }
  203.  
  204.  
  205.  
  206.  
  207. extern void pOt_AssignPrefix_COCH
  208. #if pOt__ANSI_C
  209.   (struct pOt__tag_3_COCT *pOt_x)
  210. #else
  211.   (pOt_x)
  212.   struct pOt__tag_3_COCT *pOt_x;
  213.  
  214. #endif
  215. {
  216.   struct {void*next;} pOt__gc_ptrs;
  217.   pOt__gc_ptrs.next = pOt__gc_root;
  218.  
  219.   if(( (*pOt_x).pOt_mode>=8)) {
  220.     pOt_Mark_COCS((pOt_INTEGER)(56));
  221.   } else if(((((*pOt_x).pOt_mode==1))&&(((*pOt_x).pOt_mnolev<((pOt_INTEGER)(0)))))) {
  222.     pOt_Mark_COCS((pOt_INTEGER)(-3));
  223.   }
  224.   pOt_AssignPfx_COCP((struct pOt__tag_3_COCT*)&(*pOt_x),pOt_typchk_COCT);
  225.  
  226. pOt__Epilogue:;
  227.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  228. }
  229.  
  230.  
  231.  
  232.  
  233. extern void pOt_Assign_COCH
  234. #if pOt__ANSI_C
  235.   (struct pOt__tag_3_COCT *pOt_x, struct pOt__tag_3_COCT *pOt_y)
  236. #else
  237.   (pOt_x, pOt_y)
  238.   struct pOt__tag_3_COCT *pOt_x, *pOt_y;
  239.  
  240. #endif
  241. {
  242.   pOt_INTEGER pOt_f, pOt_g, pOt_L;
  243.   pOt_Struct_COCT pOt_p, pOt_q;
  244.   struct {void *next, *vars[0x3];} pOt__gc_ptrs;
  245.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  246.   pOt__gc_ptrs.next = pOt__gc_root;
  247.   pOt__gc_strs.next = &pOt__gc_ptrs;
  248.   pOt__gc_ptrs.vars[0x2]=pOt_NIL;
  249.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  250.   pOt__gc_ptrs.vars[0x1]=&pOt_p;
  251.   pOt__gc_ptrs.vars[0x0]=&pOt_q;
  252.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  253.   pOt_p=pOt_NIL;
  254.   pOt_q=pOt_NIL;
  255.  
  256.   if(( (*pOt_y).pOt_mode==13)) {
  257.     pOt_Mark_COCS((pOt_INTEGER)(126));
  258.   }
  259.   pOt_f=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form);
  260.   pOt_g=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_form);
  261.   switch(pOt_f) {
  262.   case 0:
  263.   case 10:
  264.   break;
  265.   case 1:
  266.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x1BL)))) {
  267.       pOt_Mark_COCS((pOt_INTEGER)(113));
  268.     }
  269.   break;
  270.   case 2:
  271.   case 3:
  272.   case 4:
  273.   case 9:
  274.     if(( pOt_g!=pOt_f)) {
  275.       pOt_Mark_COCS((pOt_INTEGER)(113));
  276.     }
  277.   break;
  278.   case 5:
  279.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x30L)))) {
  280.       pOt_Mark_COCS((pOt_INTEGER)(113));
  281.     }
  282.   break;
  283.   case 6:
  284.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x70L)))) {
  285.       pOt_Mark_COCS((pOt_INTEGER)(113));
  286.     }
  287.   break;
  288.   case 7:
  289.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0xF0L)))) {
  290.       pOt_Mark_COCS((pOt_INTEGER)(113));
  291.     }
  292.   break;
  293.   case 8:
  294.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x1F0L)))) {
  295.       pOt_Mark_COCS((pOt_INTEGER)(113));
  296.     }
  297.   break;
  298.   case 13:
  299.     if(((((*pOt_x).pOt_typ==(*pOt_y).pOt_typ))||((pOt_g==((pOt_INTEGER)(11)))))) {
  300.     } else if(( pOt_g==((pOt_INTEGER)(13)))) {
  301.       pOt_p=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp);
  302.       pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_BaseTyp);
  303.       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)))) {
  304.         for(;;) {
  305.           if((((pOt_q!=pOt_p))&&((pOt_q!=pOt_NIL)))); else break;
  306.           pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_q))).pOt_BaseTyp);
  307.         }
  308.         if(( pOt_q==pOt_NIL)) {
  309.           pOt_Mark_COCS((pOt_INTEGER)(113));
  310.         }
  311.       } else {
  312.         pOt_Mark_COCS((pOt_INTEGER)(113));
  313.       }
  314.     } else {
  315.       pOt_Mark_COCS((pOt_INTEGER)(113));
  316.     }
  317.   break;
  318.   case 15:
  319.     if(( (*pOt_x).pOt_typ==(*pOt_y).pOt_typ)) {
  320.     } 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)))) {
  321.       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));
  322.       if((((pOt_LONGINT)( pOt_L))>(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_n)) {
  323.         pOt_Mark_COCS((pOt_INTEGER)(114));
  324.       } 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)) {
  325.         pOt_Mark_COCS((pOt_INTEGER)(244));
  326.       }
  327.     } else {
  328.       pOt_Mark_COCS((pOt_INTEGER)(113));
  329.     }
  330.   break;
  331.   case 16:
  332.     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)))) {
  333.     } else if(( (*pOt_y).pOt_mode>3)) {
  334.       pOt_Mark_COCS((pOt_INTEGER)(59));
  335.     } else {
  336.       pOt_DynArrBnd_COCH((struct pOt__tag_2_COCT*)((*pOt_x).pOt_typ),(struct pOt__tag_2_COCT*)((*pOt_y).pOt_typ),(pOt_BOOLEAN)0);
  337.     }
  338.   break;
  339.   case 17:
  340.     if(( (*pOt_x).pOt_typ!=(*pOt_y).pOt_typ)) {
  341.       if(( pOt_g==((pOt_INTEGER)(17)))) {
  342.         pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_BaseTyp);
  343.         for(;;) {
  344.           if((((pOt_q!=pOt_NIL))&&((pOt_q!=(*pOt_x).pOt_typ)))); else break;
  345.           pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_q))).pOt_BaseTyp);
  346.         }
  347.         if(( pOt_q==pOt_NIL)) {
  348.           pOt_Mark_COCS((pOt_INTEGER)(113));
  349.         }
  350.       } else {
  351.         pOt_Mark_COCS((pOt_INTEGER)(113));
  352.       }
  353.     }
  354.   break;
  355.   case 14:
  356.     if(((((*pOt_x).pOt_typ==(*pOt_y).pOt_typ))||(((*pOt_y).pOt_typ==pOt_niltyp_COCT)))) {
  357.     } else if(((((*pOt_y).pOt_mode==15))||(((*pOt_y).pOt_mode==18)))) {
  358.       if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp==(*pOt_y).pOt_typ)) {
  359.         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));
  360.       } else {
  361.         pOt_Mark_COCS((pOt_INTEGER)(118));
  362.       }
  363.     } else if(( (*pOt_y).pOt_mode==14)) {
  364.       pOt_Mark_COCS((pOt_INTEGER)(119));
  365.     } else {
  366.       pOt_Mark_COCS((pOt_INTEGER)(111));
  367.     }
  368.   break;
  369.   case 12:
  370.   case 11:
  371.     pOt_Mark_COCS((pOt_INTEGER)(111));
  372.   break;
  373.   default:;
  374.     pOt__halt(__FILE__,__LINE__,0x10);
  375.   }
  376.   pOt_AssignSfx_COCP((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&(*pOt_y));
  377.  
  378. pOt__Epilogue:;
  379.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  380. }
  381.  
  382.  
  383.  
  384.  
  385. extern pOt_INTEGER pOt_PrepCall_COCH
  386. #if pOt__ANSI_C
  387.   (struct pOt__tag_3_COCT *pOt_x, pOt_Object_COCT *pOt_fpar)
  388. #else
  389.   (pOt_x, pOt_fpar)
  390.   struct pOt__tag_3_COCT *pOt_x;
  391.   pOt_Object_COCT *pOt_fpar;
  392.  
  393. #endif
  394. {
  395.   pOt_INTEGER pOt__retval;
  396.   pOt_INTEGER pOt_qoffs;
  397.   int pOt__gc_enabled_prev;
  398.   pOt__gc_enabled_prev=pOt__gc_enabled;
  399.   pOt__gc_enabled=0;
  400.  
  401.   pOt_qoffs=(pOt_INTEGER)((*pOt_x).pOt_qoffs);
  402.   pOt_Link_COCQ((struct pOt__tag_3_COCT*)&(*pOt_x));
  403.   pOt_ParamListPfx_COCP();
  404.   if((((((*pOt_x).pOt_mode==14))||(((*pOt_x).pOt_mode==15)))||(((*pOt_x).pOt_mode==17)))) {
  405.     (*pOt_fpar)=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_obj))).pOt_dsc);
  406.   } else if(((((*pOt_x).pOt_typ!=pOt_NIL))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form==14)))) {
  407.     (*pOt_fpar)=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_link);
  408.   } else {
  409.     pOt_Mark_COCS((pOt_INTEGER)(121));
  410.     (*pOt_fpar)=(struct pOt__tag_1_COCT*)(pOt_NIL);
  411.     (*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
  412.   }
  413.   pOt__retval =(pOt_INTEGER)(pOt_qoffs);
  414.   goto pOt__Epilogue;
  415.  
  416.   pOt__halt(__FILE__,__LINE__,0x11);
  417. pOt__Epilogue:;
  418.   pOt__gc_enabled=pOt__gc_enabled_prev;
  419.   return pOt__retval;
  420. }
  421.  
  422.  
  423.  
  424.  
  425. extern void pOt_ParamPrefix_COCH
  426. #if pOt__ANSI_C
  427.   (pOt_Object_COCT pOt_f)
  428. #else
  429.   (pOt_f)
  430.   pOt_Object_COCT pOt_f;
  431.  
  432. #endif
  433. {
  434.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  435.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  436.   pOt__gc_ptrs.next = pOt__gc_root;
  437.   pOt__gc_strs.next = &pOt__gc_ptrs;
  438.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  439.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  440.   pOt__gc_ptrs.vars[0x0]=&pOt_f;
  441.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  442.  
  443.   pOt_ParamPfx_COCP((struct pOt__tag_1_COCT*)(pOt_f));
  444.  
  445. pOt__Epilogue:;
  446.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  447. }
  448.  
  449.  
  450.  
  451. static struct pOt__tag_3_COCT *pOt_ap_Param_COCH;
  452. static pOt_Object_COCT (*pOt_f_Param_COCH);
  453. static pOt_Struct_COCT (*pOt_q_Param_COCH);
  454. static struct pOt__tag_3_COCT (*pOt_fp_Param_COCH);
  455.  
  456. extern void pOt_Param_COCH pOt__ARGS((struct pOt__tag_3_COCT *, pOt_Object_COCT ));
  457.  
  458.  
  459.  
  460.  
  461. static void pOt_ValParam_Param_COCH
  462. #if pOt__ANSI_C
  463.   (struct pOt__tag_3_COCT *pOt_x, struct pOt__tag_3_COCT *pOt_y)
  464. #else
  465.   (pOt_x, pOt_y)
  466.   struct pOt__tag_3_COCT *pOt_x, *pOt_y;
  467.  
  468. #endif
  469. {
  470.   pOt_INTEGER pOt_f, pOt_g, pOt_L;
  471.   pOt_Struct_COCT pOt_p;
  472.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  473.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  474.   pOt__gc_ptrs.next = pOt__gc_root;
  475.   pOt__gc_strs.next = &pOt__gc_ptrs;
  476.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  477.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  478.   pOt__gc_ptrs.vars[0x0]=&pOt_p;
  479.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  480.   pOt_p=pOt_NIL;
  481.  
  482.   if(( (*pOt_y).pOt_mode==13)) {
  483.     pOt_Mark_COCS((pOt_INTEGER)(126));
  484.   }
  485.   pOt_f=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form);
  486.   pOt_g=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_form);
  487.   switch(pOt_f) {
  488.   case 0:
  489.   case 10:
  490.   break;
  491.   case 1:
  492.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x1BL)))) {
  493.       pOt_Mark_COCS((pOt_INTEGER)(113));
  494.     }
  495.   break;
  496.   case 2:
  497.   case 3:
  498.   case 4:
  499.   case 9:
  500.     if(( pOt_g!=pOt_f)) {
  501.       pOt_Mark_COCS((pOt_INTEGER)(113));
  502.     }
  503.   break;
  504.   case 5:
  505.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x30L)))) {
  506.       pOt_Mark_COCS((pOt_INTEGER)(113));
  507.     }
  508.   break;
  509.   case 6:
  510.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x70L)))) {
  511.       pOt_Mark_COCS((pOt_INTEGER)(113));
  512.     }
  513.   break;
  514.   case 7:
  515.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0xF0L)))) {
  516.       pOt_Mark_COCS((pOt_INTEGER)(113));
  517.     }
  518.   break;
  519.   case 8:
  520.     if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_g)&(pOt_SET)0x1F0L)))) {
  521.       pOt_Mark_COCS((pOt_INTEGER)(113));
  522.     }
  523.   break;
  524.   case 13:
  525.     if(((((*pOt_x).pOt_typ==(*pOt_y).pOt_typ))||((pOt_g==((pOt_INTEGER)(11)))))) {
  526.     } else if(( pOt_g==((pOt_INTEGER)(13)))) {
  527.       pOt_p=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp);
  528.       (*pOt_q_Param_COCH)=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_BaseTyp);
  529.       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)))) {
  530.         for(;;) {
  531.           if(((((*pOt_q_Param_COCH)!=pOt_p))&&(((*pOt_q_Param_COCH)!=pOt_NIL)))); else break;
  532.           (*pOt_q_Param_COCH)=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_q_Param_COCH)))).pOt_BaseTyp);
  533.         }
  534.         if(( (*pOt_q_Param_COCH)==pOt_NIL)) {
  535.           pOt_Mark_COCS((pOt_INTEGER)(113));
  536.         }
  537.       } else {
  538.         pOt_Mark_COCS((pOt_INTEGER)(113));
  539.       }
  540.     } else {
  541.       pOt_Mark_COCS((pOt_INTEGER)(113));
  542.     }
  543.   break;
  544.   case 15:
  545.     if(( (*pOt_x).pOt_typ==(*pOt_y).pOt_typ)) {
  546.     } 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)))) {
  547.       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));
  548.       if((((pOt_LONGINT)( pOt_L))>(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_n)) {
  549.         pOt_Mark_COCS((pOt_INTEGER)(114));
  550.       } 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)) {
  551.         pOt_Mark_COCS((pOt_INTEGER)(244));
  552.       }
  553.     } else {
  554.       pOt_Mark_COCS((pOt_INTEGER)(113));
  555.     }
  556.   break;
  557.   case 16:
  558.     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)))) {
  559.     } else if(( (*pOt_y).pOt_mode>3)) {
  560.       pOt_Mark_COCS((pOt_INTEGER)(59));
  561.     } else {
  562.       pOt_DynArrBnd_COCH((struct pOt__tag_2_COCT*)((*pOt_x).pOt_typ),(struct pOt__tag_2_COCT*)((*pOt_y).pOt_typ),(pOt_BOOLEAN)0);
  563.     }
  564.   break;
  565.   case 17:
  566.     if(( (*pOt_x).pOt_typ!=(*pOt_y).pOt_typ)) {
  567.       if(( pOt_g==((pOt_INTEGER)(17)))) {
  568.         (*pOt_q_Param_COCH)=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_y).pOt_typ))).pOt_BaseTyp);
  569.         for(;;) {
  570.           if(((((*pOt_q_Param_COCH)!=pOt_NIL))&&(((*pOt_q_Param_COCH)!=(*pOt_x).pOt_typ)))); else break;
  571.           (*pOt_q_Param_COCH)=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_q_Param_COCH)))).pOt_BaseTyp);
  572.         }
  573.         if(( (*pOt_q_Param_COCH)==pOt_NIL)) {
  574.           pOt_Mark_COCS((pOt_INTEGER)(113));
  575.         }
  576.       } else {
  577.         pOt_Mark_COCS((pOt_INTEGER)(113));
  578.       }
  579.     }
  580.   break;
  581.   case 14:
  582.     if(((((*pOt_x).pOt_typ==(*pOt_y).pOt_typ))||(((*pOt_y).pOt_typ==pOt_niltyp_COCT)))) {
  583.     } else if(((((*pOt_y).pOt_mode==15))||(((*pOt_y).pOt_mode==18)))) {
  584.       if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp==(*pOt_y).pOt_typ)) {
  585.         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));
  586.       } else {
  587.         pOt_Mark_COCS((pOt_INTEGER)(118));
  588.       }
  589.     } else if(( (*pOt_y).pOt_mode==14)) {
  590.       pOt_Mark_COCS((pOt_INTEGER)(119));
  591.     } else {
  592.       pOt_Mark_COCS((pOt_INTEGER)(111));
  593.     }
  594.   break;
  595.   case 12:
  596.   case 11:
  597.     pOt_Mark_COCS((pOt_INTEGER)(111));
  598.   break;
  599.   default:;
  600.     pOt__halt(__FILE__,__LINE__,0x10);
  601.   }
  602.  
  603. pOt__Epilogue:;
  604.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  605. }
  606.  
  607. extern void pOt_Param_COCH
  608. #if pOt__ANSI_C
  609.   (struct pOt__tag_3_COCT *pOt_ap, pOt_Object_COCT pOt_f)
  610. #else
  611.   (pOt_ap, pOt_f)
  612.   struct pOt__tag_3_COCT *pOt_ap;
  613.   pOt_Object_COCT pOt_f;
  614.  
  615. #endif
  616. {
  617.   struct pOt__tag_3_COCT *pOt_ap_;
  618.   pOt_Object_COCT (*pOt_f_);
  619.   pOt_Struct_COCT pOt_q, (*pOt_q_);
  620.   struct pOt__tag_3_COCT pOt_fp, (*pOt_fp_);
  621.   struct {void *next, *vars[0x3];} pOt__gc_ptrs;
  622.   struct {void *next, *vars[0x2];} pOt__gc_strs;
  623.   pOt__gc_ptrs.next = pOt__gc_root;
  624.   pOt__gc_strs.next = &pOt__gc_ptrs;
  625.   pOt__gc_ptrs.vars[0x2]=pOt_NIL;
  626.   pOt__gc_strs.vars[0x1]=pOt_NIL;
  627.   pOt__gc_ptrs.vars[0x1]=&pOt_f;
  628.   pOt__gc_ptrs.vars[0x0]=&pOt_q;
  629.   pOt__gc_strs.vars[0x0]=&pOt_fp;
  630.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  631.   pOt_ap_=pOt_ap_Param_COCH;
  632.   pOt_ap_Param_COCH=pOt_ap;
  633.   pOt_f_=pOt_f_Param_COCH;
  634.   pOt_f_Param_COCH=&pOt_f;
  635.   pOt_q_=pOt_q_Param_COCH;
  636.   pOt_q_Param_COCH=&pOt_q;
  637.   pOt_q=pOt_NIL;
  638.   pOt_fp_=pOt_fp_Param_COCH;
  639.   pOt_fp_Param_COCH=&pOt_fp;
  640.   pOt__init_var((pOt__TypDsc**)&pOt_fp,(pOt__TypDsc*)&pOt__td_3_COCT);
  641.  
  642.   pOt_fp.pOt_mode=9;
  643.   pOt_fp.pOt_typ=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_typ);
  644.   if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_mode==3)) {
  645.     if(( (*pOt_ap).pOt_mode>=8)) {
  646.       pOt_Mark_COCS((pOt_INTEGER)(122));
  647.     }
  648.     if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fp.pOt_typ))).pOt_form==16)) {
  649.       pOt_DynArrBnd_COCH((struct pOt__tag_2_COCT*)(pOt_fp.pOt_typ),(struct pOt__tag_2_COCT*)((*pOt_ap).pOt_typ),(pOt_BOOLEAN)1);
  650.     } 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)))) {
  651.       pOt_q=(struct pOt__tag_2_COCT*)((*pOt_ap).pOt_typ);
  652.       for(;;) {
  653.         if((((pOt_q!=(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_typ))&&((pOt_q!=pOt_NIL)))); else break;
  654.         pOt_q=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_q))).pOt_BaseTyp);
  655.       }
  656.       if(( pOt_q==pOt_NIL)) {
  657.         pOt_Mark_COCS((pOt_INTEGER)(111));
  658.       }
  659.     } 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))))))) {
  660.     } else {
  661.       pOt_Mark_COCS((pOt_INTEGER)(123));
  662.     }
  663.   } else {
  664.     pOt_ValParam_Param_COCH((struct pOt__tag_3_COCT*)&pOt_fp,(struct pOt__tag_3_COCT*)&(*pOt_ap));
  665.   }
  666.   pOt_ParamSfx_COCP((struct pOt__tag_3_COCT*)&(*pOt_ap),(struct pOt__tag_1_COCT*)(pOt_f));
  667.  
  668. pOt__Epilogue:;
  669.   pOt_ap_Param_COCH=pOt_ap_;
  670.   pOt_f_Param_COCH=pOt_f_;
  671.   pOt_q_Param_COCH=pOt_q_;
  672.   pOt_fp_Param_COCH=pOt_fp_;
  673.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  674. }
  675.  
  676.  
  677.  
  678.  
  679. extern void pOt_NextParam_COCH()
  680. {
  681.   struct {void*next;} pOt__gc_ptrs;
  682.   pOt__gc_ptrs.next = pOt__gc_root;
  683.  
  684.   pOt_NextParam_COCP();
  685.  
  686. pOt__Epilogue:;
  687.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  688. }
  689.  
  690.  
  691.  
  692.  
  693. extern void pOt_Call_COCH
  694. #if pOt__ANSI_C
  695.   (struct pOt__tag_3_COCT *pOt_x, pOt_INTEGER pOt_qoffs)
  696. #else
  697.   (pOt_x, pOt_qoffs)
  698.   struct pOt__tag_3_COCT *pOt_x;
  699.   pOt_INTEGER pOt_qoffs;
  700.  
  701. #endif
  702. {
  703.   struct {void*next;} pOt__gc_ptrs;
  704.   pOt__gc_ptrs.next = pOt__gc_root;
  705.  
  706.   pOt_ParamListSfx_COCP();
  707.   pOt_Unlink_COCQ((struct pOt__tag_3_COCT*)&(*pOt_x));
  708.   (*pOt_x).pOt_qoffs=(pOt_INTEGER)(pOt_qoffs);
  709.   if(((((*pOt_x).pOt_mode<8))&&(((*pOt_x).pOt_typ!=pOt_undftyp_COCT)))) {
  710.     (*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_BaseTyp);
  711.   } else if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,(*pOt_x).pOt_mode)&(pOt_SET)0x7C000L)))) {
  712.     pOt_Mark_COCS((pOt_INTEGER)(121));
  713.   }
  714.   if(( (*pOt_x).pOt_typ!=pOt_notyp_COCT)) {
  715.     (*pOt_x).pOt_mode=11;
  716.   }
  717.  
  718. pOt__Epilogue:;
  719.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  720. }
  721.  
  722.  
  723.  
  724.  
  725. extern void pOt_Trap_COCH
  726. #if pOt__ANSI_C
  727.   (pOt_SHORTINT pOt_num)
  728. #else
  729.   (pOt_num)
  730.   pOt_SHORTINT pOt_num;
  731.  
  732. #endif
  733. {
  734.   struct pOt__tag_3_COCT pOt_x;
  735.   pOt_INTEGER pOt_qoffs;
  736.   struct {void *next, *vars[0x1];} pOt__gc_ptrs;
  737.   struct {void *next, *vars[0x2];} pOt__gc_strs;
  738.   pOt__gc_ptrs.next = pOt__gc_root;
  739.   pOt__gc_strs.next = &pOt__gc_ptrs;
  740.   pOt__gc_ptrs.vars[0x0]=pOt_NIL;
  741.   pOt__gc_strs.vars[0x1]=pOt_NIL;
  742.   pOt__gc_strs.vars[0x0]=&pOt_x;
  743.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  744.   pOt__init_var((pOt__TypDsc**)&pOt_x,(pOt__TypDsc*)&pOt__td_3_COCT);
  745.  
  746.   if(( pOt_num>=32)) {
  747.     pOt__halt(__FILE__,__LINE__,32);
  748.   }
  749.   pOt_x.pOt_intval=(pOt_LONGINT)(pOt_num);
  750.   pOt_qoffs=(pOt_INTEGER)(pOt_StartLinStmt_COCH((struct pOt__tag_3_COCT*)&pOt_x));
  751.   pOt_Trap_COCP((struct pOt__tag_3_COCT*)&pOt_x);
  752.   pOt_StopLinStmt_COCH((struct pOt__tag_3_COCT*)&pOt_x,(pOt_INTEGER)(pOt_qoffs));
  753.  
  754. pOt__Epilogue:;
  755.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  756. }
  757.  
  758. void pOt_COCH__body()
  759. {
  760.   static int pOt_COCH__loaded=0;
  761.   if(!pOt_COCH__loaded){
  762.     pOt_COCH__loaded=1;
  763.  
  764.     pOt_COCS__body();
  765.     pOt_COCT__body();
  766.     pOt_COCD__body();
  767.     pOt_COCQ__body();
  768.     pOt_COCP__body();
  769.  
  770.     pOt__gc_ptrs.next=pOt__gc_root;
  771.     pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  772.  
  773.  
  774.  
  775.   pOt__Epilogue:;
  776.   }
  777. }
  778.