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

  1. /* This code is generated by pOt. */
  2.  
  3. #include <pOtRTL.h>
  4. #include "Strings.h"
  5. #include "Reals.h"
  6. #include "COCT.h"
  7. #include "COCQ.h"
  8.  
  9. #include "hi.COCN"
  10.  
  11.  
  12.  
  13.  
  14. static struct {void *next, *vars[0x1];} pOt__gc_ptrs = {pOt_NIL,{
  15.   pOt_NIL
  16. }};
  17. static struct {void *next, *vars[0x1];} pOt__gc_strs = {&pOt__gc_ptrs,{
  18.   pOt_NIL
  19. }};
  20.  
  21.  
  22.  
  23.  
  24. extern void pOt_CObjBaseName_COCN
  25. #if pOt__ANSI_C
  26.   (struct pOt__tag_3_COCT *pOt_x, pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  27. #else
  28.   (pOt_x, pOt_pos, pOt_nextpos)
  29.   struct pOt__tag_3_COCT *pOt_x;
  30.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  31.  
  32. #endif
  33. {
  34.   pOt_Object_COCT pOt_head;
  35.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  36.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  37.   pOt__gc_ptrs.next = pOt__gc_root;
  38.   pOt__gc_strs.next = &pOt__gc_ptrs;
  39.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  40.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  41.   pOt__gc_ptrs.vars[0x0]=&pOt_head;
  42.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  43.   pOt_head=pOt_NIL;
  44.  
  45.   (*pOt_nextpos)=(pOt_INTEGER)(pOt_pos);
  46.   if(( (*pOt_x).pOt_obj==pOt_NIL)) {
  47.     goto pOt__Epilogue;
  48.   }
  49.   if(( (*pOt_x).pOt_mode==17)) {
  50.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_obj))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  51.   } else {
  52.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x4]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  53.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_obj))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  54.     if(( (*pOt_x).pOt_mode!=12)) {
  55.       if(( (*pOt_x).pOt_mnolev<((pOt_INTEGER)(0)))) {
  56.         pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xCL],&pOt__str_td[0x1]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  57.         pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_GlbMod_COCT.arr[pOt__inxchk(__FILE__,__LINE__,0x40, (pOt_INTEGER)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)(-(*pOt_x).pOt_mnolev),(pOt_LONGINT)(1),5))]))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  58.       } else if(( (*pOt_x).pOt_mnolev==((pOt_INTEGER)(0)))) {
  59.         switch((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_obj))).pOt_mnolev) {
  60.         case 0:
  61.           pOt_head=(struct pOt__tag_1_COCT*)(pOt_topScope_COCT);
  62.           for(;;) {
  63.             if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_mnolev!=((pOt_INTEGER)(0)))); else break;
  64.             pOt_head=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_dsc);
  65.           }
  66.           pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xCL],&pOt__str_td[0x1]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  67.           pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  68.         break;
  69.         case 1:
  70.         break;
  71.         case 2:
  72.           pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x14L],&pOt__str_td[0x7]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  73.         break;
  74.         default:;
  75.           pOt__halt(__FILE__,__LINE__,0x10);
  76.         }
  77.       } else {
  78.         if(((((*pOt_x).pOt_mode>=8))||(((*pOt_x).pOt_mnolev<pOt_level_COCT)))) {
  79.           pOt_head=(struct pOt__tag_1_COCT*)(pOt_topScope_COCT);
  80.           for(;;) {
  81.             if(( (*pOt_x).pOt_mnolev!=(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_mnolev)); else break;
  82.             pOt_head=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_dsc);
  83.           }
  84.           for(;;) {
  85.             pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xCL],&pOt__str_td[0x1]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  86.             pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  87.             if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_mnolev==((pOt_INTEGER)(0)))) {
  88.               goto pOt__LoopLabel_1;
  89.             }
  90.             pOt_head=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_dsc);
  91.           }
  92.         pOt__LoopLabel_1:;
  93.         } else if(( (*pOt_x).pOt_mnolev>pOt_level_COCT)) {
  94.           pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xCL],&pOt__str_td[0x1]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  95.         }
  96.       }
  97.     }
  98.   }
  99.  
  100. pOt__Epilogue:;
  101.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  102. }
  103.  
  104.  
  105.  
  106.  
  107. extern void pOt_CObjName_COCN
  108. #if pOt__ANSI_C
  109.   (struct pOt__tag_3_COCT *pOt_x, pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  110. #else
  111.   (pOt_x, pOt_pos, pOt_nextpos)
  112.   struct pOt__tag_3_COCT *pOt_x;
  113.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  114.  
  115. #endif
  116. {
  117.   pOt_BOOLEAN pOt_viaref;
  118.   struct {void*next;} pOt__gc_ptrs;
  119.   pOt__gc_ptrs.next = pOt__gc_root;
  120.  
  121.   (*pOt_nextpos)=(pOt_INTEGER)(pOt_pos);
  122.   pOt_viaref=(((((*pOt_x).pOt_mode==1))&&(((*pOt_x).pOt_mnolev>((pOt_INTEGER)(0)))))&&(((*pOt_x).pOt_mnolev!=pOt_level_COCT)));
  123.   if(pOt_viaref) {
  124.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x20L],&pOt__str_td[0x2]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  125.   }
  126.   pOt_CObjBaseName_COCN((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  127.   if(pOt_viaref) {
  128.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x28L],&pOt__str_td[0x1]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  129.   }
  130.  
  131. pOt__Epilogue:;
  132.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  133. }
  134.  
  135.  
  136.  
  137.  
  138. extern void pOt_CRetName_COCN
  139. #if pOt__ANSI_C
  140.   (pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  141. #else
  142.   (pOt_pos, pOt_nextpos)
  143.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  144.  
  145. #endif
  146. {
  147.   struct {void*next;} pOt__gc_ptrs;
  148.   pOt__gc_ptrs.next = pOt__gc_root;
  149.  
  150.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x30L],&pOt__str_td[0xB]))),(pOt_INTEGER)(pOt_pos),&(*pOt_nextpos));
  151.  
  152. pOt__Epilogue:;
  153.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  154. }
  155.  
  156.  
  157. struct pOt__tag_0_COCN {
  158.   pOt__ArrTypDsc *td;
  159.   pOt_CHAR arr[0x5L];
  160. } ;
  161. static pOt__ArrTypDsc pOt__td_0_COCN= {
  162.   1,
  163.   0x5L, sizeof(pOt_CHAR)
  164. };
  165.  
  166.  
  167. extern void pOt_CTDName_COCN
  168. #if pOt__ANSI_C
  169.   (pOt_Struct_COCT pOt_typ, pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  170. #else
  171.   (pOt_typ, pOt_pos, pOt_nextpos)
  172.   pOt_Struct_COCT pOt_typ;
  173.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  174.  
  175. #endif
  176. {
  177.   pOt_Object_COCT pOt_head;
  178.   struct pOt__tag_0_COCN pOt_s;
  179.   struct {void *next, *vars[0x3];} pOt__gc_ptrs;
  180.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  181.   pOt__gc_ptrs.next = pOt__gc_root;
  182.   pOt__gc_strs.next = &pOt__gc_ptrs;
  183.   pOt__gc_ptrs.vars[0x2]=pOt_NIL;
  184.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  185.   pOt__gc_ptrs.vars[0x1]=&pOt_typ;
  186.   pOt__gc_ptrs.vars[0x0]=&pOt_head;
  187.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  188.   pOt_head=pOt_NIL;
  189.   pOt__init_var((pOt__TypDsc**)&pOt_s,(pOt__TypDsc*)&pOt__td_0_COCN);
  190.  
  191.   (*pOt_nextpos)=(pOt_INTEGER)(pOt_pos);
  192.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x40L],&pOt__str_td[0x8]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  193.   pOt_FromLInt_Strings((pOt_LONGINT)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_descr),16,(pOt__ArrTypDsc**)&pOt_s);
  194.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_s),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  195.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xCL],&pOt__str_td[0x1]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  196.   if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_mno==((pOt_INTEGER)(0)))) {
  197.     pOt_head=(struct pOt__tag_1_COCT*)(pOt_topScope_COCT);
  198.     for(;;) {
  199.       if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_mnolev!=((pOt_INTEGER)(0)))); else break;
  200.       pOt_head=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_dsc);
  201.     }
  202.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  203.   } else {
  204.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_GlbMod_COCT.arr[pOt__inxchk(__FILE__,__LINE__,0x40, (pOt_INTEGER)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_mno),(pOt_LONGINT)(1),5))]))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  205.   }
  206.  
  207. pOt__Epilogue:;
  208.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  209. }
  210.  
  211.  
  212. struct pOt__tag_1_COCN {
  213.   pOt__ArrTypDsc *td;
  214.   pOt_CHAR arr[0x5L];
  215. } ;
  216. static pOt__ArrTypDsc pOt__td_1_COCN= {
  217.   1,
  218.   0x5L, sizeof(pOt_CHAR)
  219. };
  220.  
  221.  
  222. extern void pOt_CTagName_COCN
  223. #if pOt__ANSI_C
  224.   (pOt_Struct_COCT pOt_typ, pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  225. #else
  226.   (pOt_typ, pOt_pos, pOt_nextpos)
  227.   pOt_Struct_COCT pOt_typ;
  228.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  229.  
  230. #endif
  231. {
  232.   pOt_Object_COCT pOt_head;
  233.   struct pOt__tag_1_COCN pOt_s;
  234.   struct {void *next, *vars[0x3];} pOt__gc_ptrs;
  235.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  236.   pOt__gc_ptrs.next = pOt__gc_root;
  237.   pOt__gc_strs.next = &pOt__gc_ptrs;
  238.   pOt__gc_ptrs.vars[0x2]=pOt_NIL;
  239.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  240.   pOt__gc_ptrs.vars[0x1]=&pOt_typ;
  241.   pOt__gc_ptrs.vars[0x0]=&pOt_head;
  242.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  243.   pOt_head=pOt_NIL;
  244.   pOt__init_var((pOt__TypDsc**)&pOt_s,(pOt__TypDsc*)&pOt__td_1_COCN);
  245.  
  246.   (*pOt_nextpos)=(pOt_INTEGER)(pOt_pos);
  247.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x50L],&pOt__str_td[0x10]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  248.   pOt_FromLInt_Strings((pOt_LONGINT)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_descr),16,(pOt__ArrTypDsc**)&pOt_s);
  249.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_s),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  250.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xCL],&pOt__str_td[0x1]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  251.   if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_mno==((pOt_INTEGER)(0)))) {
  252.     pOt_head=(struct pOt__tag_1_COCT*)(pOt_topScope_COCT);
  253.     for(;;) {
  254.       if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_mnolev!=((pOt_INTEGER)(0)))); else break;
  255.       pOt_head=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_dsc);
  256.     }
  257.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_head))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  258.   } else {
  259.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_GlbMod_COCT.arr[pOt__inxchk(__FILE__,__LINE__,0x40, (pOt_INTEGER)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_mno),(pOt_LONGINT)(1),5))]))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  260.   }
  261.  
  262. pOt__Epilogue:;
  263.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  264. }
  265.  
  266.  
  267.  
  268.  
  269. extern void pOt_CTDenoter_COCN
  270. #if pOt__ANSI_C
  271.   (pOt_Struct_COCT pOt_typ, pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  272. #else
  273.   (pOt_typ, pOt_pos, pOt_nextpos)
  274.   pOt_Struct_COCT pOt_typ;
  275.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  276.  
  277. #endif
  278. {
  279.   struct pOt__tag_3_COCT pOt_y;
  280.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  281.   struct {void *next, *vars[0x2];} pOt__gc_strs;
  282.   pOt__gc_ptrs.next = pOt__gc_root;
  283.   pOt__gc_strs.next = &pOt__gc_ptrs;
  284.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  285.   pOt__gc_strs.vars[0x1]=pOt_NIL;
  286.   pOt__gc_ptrs.vars[0x0]=&pOt_typ;
  287.   pOt__gc_strs.vars[0x0]=&pOt_y;
  288.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  289.   pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
  290.  
  291.   (*pOt_nextpos)=(pOt_INTEGER)(pOt_pos);
  292.   switch((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_form) {
  293.   case 0:
  294.   break;
  295.   case 2:
  296.   case 3:
  297.   case 4:
  298.   case 5:
  299.   case 6:
  300.   case 7:
  301.   case 8:
  302.   case 9:
  303.     pOt_y.pOt_mode=13;
  304.     pOt_y.pOt_typ=(struct pOt__tag_2_COCT*)(pOt_typ);
  305.     pOt_y.pOt_obj=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_strobj);
  306.     if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_mno>((pOt_INTEGER)(0)))) {
  307.       pOt_y.pOt_mnolev=(pOt_INTEGER)(-(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_mno);
  308.     } else {
  309.       pOt_FindObj_COCT((struct pOt__tag_1_COCT*)(pOt_y.pOt_obj),&pOt_y.pOt_mnolev);
  310.     }
  311.     pOt_CObjName_COCN((struct pOt__tag_3_COCT*)&pOt_y,(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  312.   break;
  313.   case 10:
  314.   case 11:
  315.   break;
  316.   case 12:
  317.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x68L],&pOt__str_td[0x4]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  318.   break;
  319.   case 13:
  320.     pOt_CTDenoter_COCN((struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_BaseTyp),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  321.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x74L],&pOt__str_td[0x1]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  322.   break;
  323.   case 14:
  324.     pOt_CTDenoter_COCN((struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_BaseTyp),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  325.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x7CL],&pOt__str_td[0x5]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  326.   break;
  327.   case 16:
  328.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x88L],&pOt__str_td[0x10]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  329.   break;
  330.   case 15:
  331.   case 17:
  332.     pOt_CTagName_COCN((struct pOt__tag_2_COCT*)(pOt_typ),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  333.   break;
  334.   default:;
  335.     pOt__halt(__FILE__,__LINE__,0x10);
  336.   }
  337.  
  338. pOt__Epilogue:;
  339.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  340. }
  341.  
  342.  
  343.  
  344.  
  345. extern void pOt_CTSize_COCN
  346. #if pOt__ANSI_C
  347.   (pOt_Struct_COCT pOt_typ, pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  348. #else
  349.   (pOt_typ, pOt_pos, pOt_nextpos)
  350.   pOt_Struct_COCT pOt_typ;
  351.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  352.  
  353. #endif
  354. {
  355.   struct pOt__tag_3_COCT pOt_y;
  356.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  357.   struct {void *next, *vars[0x2];} pOt__gc_strs;
  358.   pOt__gc_ptrs.next = pOt__gc_root;
  359.   pOt__gc_strs.next = &pOt__gc_ptrs;
  360.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  361.   pOt__gc_strs.vars[0x1]=pOt_NIL;
  362.   pOt__gc_ptrs.vars[0x0]=&pOt_typ;
  363.   pOt__gc_strs.vars[0x0]=&pOt_y;
  364.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  365.   pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
  366.  
  367.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xA0L],&pOt__str_td[0x7]))),(pOt_INTEGER)(pOt_pos),&(*pOt_nextpos));
  368.   pOt_CTDenoter_COCN((struct pOt__tag_2_COCT*)(pOt_typ),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  369.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x28L],&pOt__str_td[0x1]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  370.  
  371. pOt__Epilogue:;
  372.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  373. }
  374.  
  375.  
  376.  
  377.  
  378. extern void pOt_CBodyName_COCN
  379. #if pOt__ANSI_C
  380.   (pOt_Object_COCT pOt_obj, pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  381. #else
  382.   (pOt_obj, pOt_pos, pOt_nextpos)
  383.   pOt_Object_COCT pOt_obj;
  384.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  385.  
  386. #endif
  387. {
  388.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  389.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  390.   pOt__gc_ptrs.next = pOt__gc_root;
  391.   pOt__gc_strs.next = &pOt__gc_ptrs;
  392.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  393.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  394.   pOt__gc_ptrs.vars[0x0]=&pOt_obj;
  395.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  396.  
  397.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x4]))),(pOt_INTEGER)(pOt_pos),&(*pOt_nextpos));
  398.   if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mnolev==((pOt_INTEGER)(0)))) {
  399.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  400.   } else {
  401.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_GlbMod_COCT.arr[pOt__inxchk(__FILE__,__LINE__,0x40, (pOt_INTEGER)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mnolev),(pOt_LONGINT)(1),5))]))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  402.   }
  403.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xACL],&pOt__str_td[0x6]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  404.  
  405. pOt__Epilogue:;
  406.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  407. }
  408.  
  409.  
  410.  
  411.  
  412. extern void pOt_CBodyFlagName_COCN
  413. #if pOt__ANSI_C
  414.   (pOt_Object_COCT pOt_obj, pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  415. #else
  416.   (pOt_obj, pOt_pos, pOt_nextpos)
  417.   pOt_Object_COCT pOt_obj;
  418.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  419.  
  420. #endif
  421. {
  422.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  423.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  424.   pOt__gc_ptrs.next = pOt__gc_root;
  425.   pOt__gc_strs.next = &pOt__gc_ptrs;
  426.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  427.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  428.   pOt__gc_ptrs.vars[0x0]=&pOt_obj;
  429.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  430.  
  431.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x4]))),(pOt_INTEGER)(pOt_pos),&(*pOt_nextpos));
  432.   if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mnolev==((pOt_INTEGER)(0)))) {
  433.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  434.   } else {
  435.     pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_GlbMod_COCT.arr[pOt__inxchk(__FILE__,__LINE__,0x40, (pOt_INTEGER)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mnolev),(pOt_LONGINT)(1),5))]))).pOt_name),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  436.   }
  437.   pOt_Prepend_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xB8L],&pOt__str_td[0x8]))),(pOt_INTEGER)((*pOt_nextpos)),&(*pOt_nextpos));
  438.  
  439. pOt__Epilogue:;
  440.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  441. }
  442.  
  443. void pOt_COCN__body()
  444. {
  445.   static int pOt_COCN__loaded=0;
  446.   if(!pOt_COCN__loaded){
  447.     pOt_COCN__loaded=1;
  448.  
  449.     pOt_Strings__body();
  450.     pOt_Reals__body();
  451.     pOt_COCT__body();
  452.     pOt_COCQ__body();
  453.  
  454.     pOt__gc_ptrs.next=pOt__gc_root;
  455.     pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  456.  
  457.  
  458.  
  459.   pOt__Epilogue:;
  460.   }
  461. }
  462.