#include "chdecl.h"
void CH_pshell_parseproc(current, sched, cop)
#define ARGUMENTS 8
#include "chhead.h"
select: switch (SELECTOR) {
    case 0: goto c0;
    case 1: goto cb2;
    case 2: goto c3;
    case 3: goto c18;
    case 4: goto c46;
    case 5: goto c97;
    case 6: goto c100;
    case 7: goto c117;
    case 8: goto c121;
    case 9: goto c127;
    case 10: goto c146;
    case 11: goto c149;
    case 12: goto c154;
    case 13: goto c170;
    case 14: goto c176;
    case 15: goto c178;
    case 16: goto c190;
    case 17: goto c198;
    case 18: goto c223;
    case 19: goto c226;
    case 20: goto c228;  }
c0:
/* block , 0 */
  if((ch_returncode = che_block(QUAL(0),sched)) != Normal)
     goto ch_raise_exception;
/* block , 1 */
  if((ch_returncode = che_block(QUAL(1),sched)) != Normal)
     goto ch_raise_exception;
  current->ip = 1;
cb2:
/* receive 3 0 */
  if ((ch_returncode = che_receive(DEF(3),DEF(0),sched)) != Normal)
     goto ch_raise_exception;
  return;
c3:
/* chs_lit 4 , "" */
  if( !chs_lit(DEF(4),"") ) goto ch_depletion;
/* chs_lit 5 , "" */
  if( !chs_lit(DEF(5),"") ) goto ch_depletion;
/* new_table 6 , 2 */
  if ((ch_returncode = che_new_table(DEF(6),QUAL(2),sched)) != Normal) 
     goto ch_raise_exception;
/* enum_lit 7 , 0 */
  REF(7).value.enumeration = 0;
  REF(7).tsdr = & dr_enumeration;
/* chs_lit 8 , "pshell" */
  if( !chs_lit(DEF(8),"pshell") ) goto ch_depletion;
/* insert 6 8 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(8),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* chs_lit 9 , "|<>;&" */
  if( !chs_lit(DEF(9),"|<>;&") ) goto ch_depletion;
/* privatize 3.0 */
  if (REF(3)DOT(0).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(3)DOT(0))) != Normal)
       goto ch_raise_exception;
/* lookup_at 10 3.0 =(0) */
  if ( !((ch_t = REF(3)DOT(0).value.table)->size) ) goto ch_notfound;
  (*(REF(10).tsdr)->finalize)(REF(10).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(10).value,0);
  REF(10).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 11 3.0 =(0) */
  if ((ch_returncode = remove_at_func(DEF(11),DEF(3)DOT(0),0)) != Normal)
     goto ch_raise_exception;
c18:
/* noop */
  
/* equal . 7 =(4) , 178 */
  if ( REF(7).value.enumeration == 4 ) goto c178;
/* case 12 11 */
  REF(12).value.enumeration = REF(11).value.variant->info.variant_case;
  REF(12).tsdr = & dr_enumeration;
/* notequal . 12 =(1) , 28 */
  if ( REF(12).value.enumeration != 1 ) goto c28;
/* reveal 11 , 1 */
  if (1 != REF(11).value.variant->info.variant_case) goto ch_case_error;
/* copy 13 11.0 */
  REF(13) = REF(11)DOT(0);
/* branch , 31 */
   goto c31;
c28:
/* ordenum_lit 13 , 32 */
  REF(13).value.ord_enum = 32;
  REF(13).tsdr = & dr_ord_enumeration;
c31:
/* noop */
  
/* equal . 7 =(3) , 41 */
  if ( REF(7).value.enumeration == 3 ) goto c41;
/* equal . 7 =(2) , 100 */
  if ( REF(7).value.enumeration == 2 ) goto c100;
/* equal . 7 =(1) , 127 */
  if ( REF(7).value.enumeration == 1 ) goto c127;
/* equal . 7 =(0) , 154 */
  if ( REF(7).value.enumeration == 0 ) goto c154;
/* branch , 176 */
   goto c176;
c41:
/* case 14 11 */
  REF(14).value.enumeration = REF(11).value.variant->info.variant_case;
  REF(14).tsdr = & dr_enumeration;
/* equal 15 14 =(1) */
  REF(15).value.boolean = (REF(14).value.enumeration == 1);
  REF(15).tsdr = & dr_boolean;
/* boolean 16 , FALSE */
  REF(16).value.boolean = FALSE;
  REF(16).tsdr = & dr_boolean;
/* initget 17 9 , 0,0 */
  (*(REF(17).tsdr)->finalize)(REF(17).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(17),DEF(9),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c46:
/* get_or_goto 17 9 , 50 */
  if ((ch_returncode = get_selected_object(DEF(17),DEF(9),sched)) != Normal)
     goto c50;
/* notequal . 17 13 , 46 */
  if ( REF(17).value.ord_enum != REF(13).value.ord_enum ) goto c46;
/* boolean 16 , TRUE */
  REF(16).value.boolean = TRUE;
  REF(16).tsdr = & dr_boolean;
c50:
/* endget 17 9 */
  end_selector(DEF(17),DEF(9),sched,GET);
/* and 18 15 16 */
  REF(18).value.boolean = REF(15).value.boolean&REF(16).value.boolean;
  REF(18).tsdr = & dr_boolean;
/* branch_false 18 , 59 */
  if ( !REF(18).value.boolean ) goto c59;
/* copy 19 11 */
  if((ch_returncode = cp_variant(& ch_val, REF(11).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(19).tsdr)->finalize)(REF(19).value,F_DISCARD,sched);
  REF(19).value = ch_val;
  REF(19).tsdr = & dr_variant;
/* insert_at 3.0 19 =(0) */
  if ((ch_returncode = insertfunc(DEF(3)DOT(0),DEF(19),TRUE, 0)) != Normal)
     goto ch_raise_exception;
/* enum_lit 7 , 4 */
  REF(7).value.enumeration = 4;
  REF(7).tsdr = & dr_enumeration;
/* branch , 18 */
   goto c18;
c59:
/* case 20 11 */
  REF(20).value.enumeration = REF(11).value.variant->info.variant_case;
  REF(20).tsdr = & dr_enumeration;
/* equal . 20 =(3) , 70 */
  if ( REF(20).value.enumeration == 3 ) goto c70;
/* equal . 20 =(2) , 74 */
  if ( REF(20).value.enumeration == 2 ) goto c74;
/* equal . 20 =(1) , 78 */
  if ( REF(20).value.enumeration == 1 ) goto c78;
/* equal . 20 =(0) , 84 */
  if ( REF(20).value.enumeration == 0 ) goto c84;
/* branch , 88 */
   goto c88;
c70:
/* reveal 11 , 3 */
  if (3 != REF(11).value.variant->info.variant_case) goto ch_case_error;
/* copy 21 11.0.2 */
  if((ch_returncode = (REF(11)DOT(0)DOT(2).tsdr->copy)(& ch_val, 
    REF(11)DOT(0)DOT(2).value)) != Normal) goto ch_raise_exception;
  (*(REF(21).tsdr)->finalize)(REF(21).value,F_DISCARD,sched);
  REF(21).value = ch_val;
  REF(21).tsdr = datarepmap[REF(11)DOT(0)DOT(2).tsdr->number];
/* insert 6 21 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(21),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 90 */
   goto c90;
c74:
/* reveal 11 , 2 */
  if (2 != REF(11).value.variant->info.variant_case) goto ch_case_error;
/* copy 22 11.0.1 */
  if((ch_returncode = (REF(11)DOT(0)DOT(1).tsdr->copy)(& ch_val, 
    REF(11)DOT(0)DOT(1).value)) != Normal) goto ch_raise_exception;
  (*(REF(22).tsdr)->finalize)(REF(22).value,F_DISCARD,sched);
  REF(22).value = ch_val;
  REF(22).tsdr = datarepmap[REF(11)DOT(0)DOT(1).tsdr->number];
/* insert 6 22 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(22),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 90 */
   goto c90;
c78:
/* reveal 11 , 1 */
  if (1 != REF(11).value.variant->info.variant_case) goto ch_case_error;
/* new_table 23 , 3 */
  if ((ch_returncode = che_new_table(DEF(23),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* copy 24 11.0 */
  if((ch_returncode = (REF(11)DOT(0).tsdr->copy)(& ch_val, REF(11)DOT(0).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(24).tsdr)->finalize)(REF(24).value,F_DISCARD,sched);
  REF(24).value = ch_val;
  REF(24).tsdr = datarepmap[REF(11)DOT(0).tsdr->number];
/* insert 23 24 */
  if ((ch_returncode = insertfunc(DEF(23),DEF(24),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* insert 6 23 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(23),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 90 */
   goto c90;
c84:
/* reveal 11 , 0 */
  if (0 != REF(11).value.variant->info.variant_case) goto ch_case_error;
/* copy 25 11.0 */
  if((ch_returncode = (REF(11)DOT(0).tsdr->copy)(& ch_val, REF(11)DOT(0).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(25).tsdr)->finalize)(REF(25).value,F_DISCARD,sched);
  REF(25).value = ch_val;
  REF(25).tsdr = datarepmap[REF(11)DOT(0).tsdr->number];
/* insert 6 25 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(25),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 90 */
   goto c90;
c88:
/* exit , 4 */
  ch_e = handler_type__exit; ch_val = QUAL(4); goto ch_exception;
c90:
/* block , 5 */
  if((ch_returncode = che_block(QUAL(5),sched)) != Normal)
     goto ch_raise_exception;
/* privatize 3.0 */
  if (REF(3)DOT(0).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(3)DOT(0))) != Normal)
       goto ch_raise_exception;
/* lookup_at 26 3.0 =(0) */
  if ( !((ch_t = REF(3)DOT(0).value.table)->size) ) goto ch_notfound;
  (*(REF(26).tsdr)->finalize)(REF(26).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(26).value,0);
  REF(26).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 11 3.0 =(0) */
  if ((ch_returncode = remove_at_func(DEF(11),DEF(3)DOT(0),0)) != Normal)
     goto ch_raise_exception;
/* endblock */
  che_endblock(sched);
/* branch , 18 */
   goto c18;
c97:
/* enum_lit 7 , 4 */
  REF(7).value.enumeration = 4;
  REF(7).tsdr = & dr_enumeration;
/* branch , 18 */
   goto c18;
c100:
/* case 27 11 */
  REF(27).value.enumeration = REF(11).value.variant->info.variant_case;
  REF(27).tsdr = & dr_enumeration;
/* notequal . 27 =(0) , 121 */
  if ( REF(27).value.enumeration != 0 ) goto c121;
/* reveal 11 , 0 */
  if (0 != REF(11).value.variant->info.variant_case) goto ch_case_error;
/* copy 5 11.0 */
  if((ch_returncode = cp_table(& ch_val, REF(11)DOT(0).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(5).tsdr)->finalize)(REF(5).value,F_DISCARD,sched);
  REF(5).value = ch_val;
  REF(5).tsdr = & dr_table;
/* copy 28 5 */
  if((ch_returncode = cp_table(& ch_val, REF(5).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(28).tsdr)->finalize)(REF(28).value,F_DISCARD,sched);
  REF(28).value = ch_val;
  REF(28).tsdr = & dr_table;
/* insert 6 28 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(28),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* block , 6 */
  if((ch_returncode = che_block(QUAL(6),sched)) != Normal)
     goto ch_raise_exception;
/* privatize 3.0 */
  if (REF(3)DOT(0).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(3)DOT(0))) != Normal)
       goto ch_raise_exception;
/* lookup_at 29 3.0 =(0) */
  if ( !((ch_t = REF(3)DOT(0).value.table)->size) ) goto ch_notfound;
  (*(REF(29).tsdr)->finalize)(REF(29).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(29).value,0);
  REF(29).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 11 3.0 =(0) */
  if ((ch_returncode = remove_at_func(DEF(11),DEF(3)DOT(0),0)) != Normal)
     goto ch_raise_exception;
/* enum_lit 7 , 3 */
  REF(7).value.enumeration = 3;
  REF(7).tsdr = & dr_enumeration;
/* endblock */
  che_endblock(sched);
/* branch , 18 */
   goto c18;
c117:
/* enum_lit 7 , 4 */
  REF(7).value.enumeration = 4;
  REF(7).tsdr = & dr_enumeration;
/* branch , 18 */
   goto c18;
c121:
/* copy 30 11 */
  if((ch_returncode = cp_variant(& ch_val, REF(11).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(30).tsdr)->finalize)(REF(30).value,F_DISCARD,sched);
  REF(30).value = ch_val;
  REF(30).tsdr = & dr_variant;
/* insert_at 3.0 30 =(0) */
  if ((ch_returncode = insertfunc(DEF(3)DOT(0),DEF(30),TRUE, 0)) != Normal)
     goto ch_raise_exception;
/* enum_lit 7 , 4 */
  REF(7).value.enumeration = 4;
  REF(7).tsdr = & dr_enumeration;
/* branch , 18 */
   goto c18;
c127:
/* case 31 11 */
  REF(31).value.enumeration = REF(11).value.variant->info.variant_case;
  REF(31).tsdr = & dr_enumeration;
/* equal 32 31 =(1) */
  REF(32).value.boolean = (REF(31).value.enumeration == 1);
  REF(32).tsdr = & dr_boolean;
/* equal 33 13 =(58) */
  REF(33).value.boolean = (REF(13).value.ord_enum == 58);
  REF(33).tsdr = & dr_boolean;
/* and 34 32 33 */
  REF(34).value.boolean = REF(32).value.boolean&REF(33).value.boolean;
  REF(34).tsdr = & dr_boolean;
/* branch_false 34 , 149 */
  if ( !REF(34).value.boolean ) goto c149;
/* move 4 5 */
  (*(REF(4).tsdr)->finalize)(REF(4).value,F_DISCARD,sched);
  REF(4) = REF(5);
  REF(5).tsdr = & dr_bottom;
/* chs_lit 5 , "" */
  if( !chs_lit(DEF(5),"") ) goto ch_depletion;
/* block , 7 */
  if((ch_returncode = che_block(QUAL(7),sched)) != Normal)
     goto ch_raise_exception;
/* privatize 3.0 */
  if (REF(3)DOT(0).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(3)DOT(0))) != Normal)
       goto ch_raise_exception;
/* lookup_at 35 3.0 =(0) */
  if ( !((ch_t = REF(3)DOT(0).value.table)->size) ) goto ch_notfound;
  (*(REF(35).tsdr)->finalize)(REF(35).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(35).value,0);
  REF(35).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 11 3.0 =(0) */
  if ((ch_returncode = remove_at_func(DEF(11),DEF(3)DOT(0),0)) != Normal)
     goto ch_raise_exception;
/* enum_lit 7 , 2 */
  REF(7).value.enumeration = 2;
  REF(7).tsdr = & dr_enumeration;
/* endblock */
  che_endblock(sched);
/* branch , 18 */
   goto c18;
c146:
/* enum_lit 7 , 4 */
  REF(7).value.enumeration = 4;
  REF(7).tsdr = & dr_enumeration;
/* branch , 18 */
   goto c18;
c149:
/* copy 36 5 */
  if((ch_returncode = cp_table(& ch_val, REF(5).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(36).tsdr)->finalize)(REF(36).value,F_DISCARD,sched);
  REF(36).value = ch_val;
  REF(36).tsdr = & dr_table;
/* insert 6 36 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(36),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* enum_lit 7 , 3 */
  REF(7).value.enumeration = 3;
  REF(7).tsdr = & dr_enumeration;
/* branch , 18 */
   goto c18;
c154:
/* case 37 11 */
  REF(37).value.enumeration = REF(11).value.variant->info.variant_case;
  REF(37).tsdr = & dr_enumeration;
/* equal . 37 =(0) , 159 */
  if ( REF(37).value.enumeration == 0 ) goto c159;
/* exit , 8 */
  ch_e = handler_type__exit; ch_val = QUAL(8); goto ch_exception;
c159:
/* reveal 11 , 0 */
  if (0 != REF(11).value.variant->info.variant_case) goto ch_case_error;
/* copy 5 11.0 */
  if((ch_returncode = cp_table(& ch_val, REF(11)DOT(0).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(5).tsdr)->finalize)(REF(5).value,F_DISCARD,sched);
  REF(5).value = ch_val;
  REF(5).tsdr = & dr_table;
/* block , 9 */
  if((ch_returncode = che_block(QUAL(9),sched)) != Normal)
     goto ch_raise_exception;
/* privatize 3.0 */
  if (REF(3)DOT(0).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(3)DOT(0))) != Normal)
       goto ch_raise_exception;
/* lookup_at 38 3.0 =(0) */
  if ( !((ch_t = REF(3)DOT(0).value.table)->size) ) goto ch_notfound;
  (*(REF(38).tsdr)->finalize)(REF(38).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(38).value,0);
  REF(38).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 11 3.0 =(0) */
  if ((ch_returncode = remove_at_func(DEF(11),DEF(3)DOT(0),0)) != Normal)
     goto ch_raise_exception;
/* enum_lit 7 , 1 */
  REF(7).value.enumeration = 1;
  REF(7).tsdr = & dr_enumeration;
/* endblock */
  che_endblock(sched);
/* branch , 18 */
   goto c18;
c170:
/* copy 39 5 */
  if((ch_returncode = cp_table(& ch_val, REF(5).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(39).tsdr)->finalize)(REF(39).value,F_DISCARD,sched);
  REF(39).value = ch_val;
  REF(39).tsdr = & dr_table;
/* insert 6 39 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(39),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* enum_lit 7 , 4 */
  REF(7).value.enumeration = 4;
  REF(7).tsdr = & dr_enumeration;
/* branch , 18 */
   goto c18;
c176:
/* exit , 4 */
  ch_e = handler_type__exit; ch_val = QUAL(4); goto ch_exception;
c178:
/* chs_lit 40 , "" */
  if( !chs_lit(DEF(40),"") ) goto ch_depletion;
/* equal 41 4 40 */
  REF(41).value.boolean = (eq_table(REF(4).value,REF(40).value));
  REF(41).tsdr = & dr_boolean;
/* discard 40 */
  (*(REF(40).tsdr)->finalize)(REF(40).value,F_DISCARD,sched);
  REF(40).tsdr = & dr_bottom;
/* branch_false 41 , 185 */
  if ( !REF(41).value.boolean ) goto c185;
/* unique 3.3 */
  if ((ch_returncode = che_unique(DEF(3)DOT(3),sched)) != Normal)
     goto ch_raise_exception;
/* branch , 198 */
   goto c198;
c185:
/* block , 10 */
  if((ch_returncode = che_block(QUAL(10),sched)) != Normal)
     goto ch_raise_exception;
/* find 42 3.2 4 , 0 */
  if (findfunc(DEF(42),DEF(3)DOT(2),(
          arguments[0] = DEF(4),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* copy 3.3 42.1 */
  if((ch_returncode = cp_nominal(& ch_val, REF(42)DOT(1).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(3)DOT(3).tsdr)->finalize)(REF(3)DOT(3).value,F_DISCARD,sched);
  REF(3)DOT(3).value = ch_val;
  REF(3)DOT(3).tsdr = & dr_nominal;
/* endblock */
  che_endblock(sched);
/* branch , 198 */
   goto c198;
c190:
/* unique 3.3 */
  if ((ch_returncode = che_unique(DEF(3)DOT(3),sched)) != Normal)
     goto ch_raise_exception;
/* new_record 43 , 3 */
  if ((ch_val.record = new_record(3)) == nil) goto ch_depletion;
  (*(REF(43).tsdr)->finalize)(REF(43).value,F_DISCARD,sched);
  REF(43).value = ch_val; REF(43).tsdr = & dr_record;
/* copy 43.0 4 */
  if((ch_returncode = cp_table(& ch_val, REF(4).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(43)DOT(0).tsdr)->finalize)(REF(43)DOT(0).value,F_DISCARD,sched);
  REF(43)DOT(0).value = ch_val;
  REF(43)DOT(0).tsdr = & dr_table;
/* copy 43.1 3.3 */
  if((ch_returncode = cp_nominal(& ch_val, REF(3)DOT(3).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(43)DOT(1).tsdr)->finalize)(REF(43)DOT(1).value,F_DISCARD,sched);
  REF(43)DOT(1).value = ch_val;
  REF(43)DOT(1).tsdr = & dr_nominal;
/* boolean 43.2 , FALSE */
  REF(43)DOT(2).value.boolean = FALSE;
  REF(43)DOT(2).tsdr = & dr_boolean;
/* insert 3.2 43 */
  if ((ch_returncode = insertfunc(DEF(3)DOT(2),DEF(43),FALSE,0)) != Normal)
     goto ch_raise_exception;
c198:
/* chs_lit 44 , "" */
  if( !chs_lit(DEF(44),"") ) goto ch_depletion;
/* notequal 45 5 44 */
  REF(45).value.boolean = (!eq_table(REF(5).value,REF(44).value));
  REF(45).tsdr = & dr_boolean;
/* discard 44 */
  (*(REF(44).tsdr)->finalize)(REF(44).value,F_DISCARD,sched);
  REF(44).tsdr = & dr_bottom;
/* branch_false 45 , 220 */
  if ( !REF(45).value.boolean ) goto c220;
/* chs_lit 46 , "" */
  if( !chs_lit(DEF(46),"") ) goto ch_depletion;
/* notequal 47 4 46 */
  REF(47).value.boolean = (!eq_table(REF(4).value,REF(46).value));
  REF(47).tsdr = & dr_boolean;
/* discard 46 */
  (*(REF(46).tsdr)->finalize)(REF(46).value,F_DISCARD,sched);
  REF(46).tsdr = & dr_bottom;
/* branch_false 47 , 215 */
  if ( !REF(47).value.boolean ) goto c215;
/* privatize 3.2 */
  if (REF(3)DOT(2).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(3)DOT(2))) != Normal)
       goto ch_raise_exception;
/* find 48 3.2 4 , 0 */
  if (findfunc(DEF(48),DEF(3)DOT(2),(
          arguments[0] = DEF(4),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* fremove 43 48 3.2 , 0 */
  if ((ch_returncode = removefunc(DEF(43),DEF(48),DEF(3)DOT(2),sched,0
    ,NO_TBL,(position *) nil)) != Normal) goto ch_raise_exception;
/* branch_false 43.2 , 212 */
  if ( !REF(43)DOT(2).value.boolean ) goto c212;
/* exit , 8 */
  ch_e = handler_type__exit; ch_val = QUAL(8); goto ch_exception;
c212:
/* boolean 43.2 , TRUE */
  REF(43)DOT(2).value.boolean = TRUE;
  REF(43)DOT(2).tsdr = & dr_boolean;
/* insert 3.2 43 */
  if ((ch_returncode = insertfunc(DEF(3)DOT(2),DEF(43),FALSE,0)) != Normal)
     goto ch_raise_exception;
c215:
/* new_record 49 , 3 */
  if ((ch_val.record = new_record(3)) == nil) goto ch_depletion;
  (*(REF(49).tsdr)->finalize)(REF(49).value,F_DISCARD,sched);
  REF(49).value = ch_val; REF(49).tsdr = & dr_record;
/* copy 49.0 3.3 */
  if((ch_returncode = cp_nominal(& ch_val, REF(3)DOT(3).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(49)DOT(0).tsdr)->finalize)(REF(49)DOT(0).value,F_DISCARD,sched);
  REF(49)DOT(0).value = ch_val;
  REF(49)DOT(0).tsdr = & dr_nominal;
/* copy 49.1 5 */
  if((ch_returncode = cp_table(& ch_val, REF(5).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(49)DOT(1).tsdr)->finalize)(REF(49)DOT(1).value,F_DISCARD,sched);
  REF(49)DOT(1).value = ch_val;
  REF(49)DOT(1).tsdr = & dr_table;
/* copy 49.2 6 */
  if((ch_returncode = cp_table(& ch_val, REF(6).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(49)DOT(2).tsdr)->finalize)(REF(49)DOT(2).value,F_DISCARD,sched);
  REF(49)DOT(2).value = ch_val;
  REF(49)DOT(2).tsdr = & dr_table;
/* insert 3.1 49 */
  if ((ch_returncode = insertfunc(DEF(3)DOT(1),DEF(49),FALSE,0)) != Normal)
     goto ch_raise_exception;
c220:
/* return 3 */
  if (ch_caller = do_return(REF(3).value)) {
    if (ch_caller->type < CProcess) ch_caller->ip++;
      sched->wakeup_proc(sched, ch_caller);}
  else rem_return(REF(3).value);
  REF(3).tsdr = & dr_bottom;
/* endblock */
  che_endblock(sched);
/* branch , 226 */
   goto c226;
c223:
/* discard 43 */
  (*(REF(43).tsdr)->finalize)(REF(43).value,F_DISCARD,sched);
  REF(43).tsdr = & dr_bottom;
/* discard 3.3 */
  (*(REF(3)DOT(3).tsdr)->finalize)(REF(3)DOT(3).value,F_DISCARD,sched);
  REF(3)DOT(3).tsdr = & dr_bottom;
/* return_exception 3 , 11 */
  if (ch_caller = do_return(REF(3).value)) {
    raise_user(QUAL(11),ch_caller); 
    sched->wakeup_proc(sched,ch_caller);}
  else rem_return_exception(DEF(3),QUAL(11));
  REF(3).tsdr = & dr_bottom;
c226:
/* endblock */
  che_endblock(sched);
c228:
/* endprocess */
  che_endprocess(sched); return;
#include "chtail.h"
