Esempio n. 1
0
void Cyc_save_reductions() {
  struct _fat_ptr _T0;
  unsigned char * _T1;
  short * _T2;
  struct _fat_ptr _T3;
  unsigned char * _T4;
  short * _T5;
  struct _fat_ptr _T6;
  struct _fat_ptr _T7;
  unsigned char * _T8;
  short * _T9;
  short _TA;
  int _TB;
  unsigned char * _TC;
  short * _TD;
  short _TE;
  struct _fat_ptr _TF;
  int _T10;
  int _T11;
  unsigned char * _T12;
  short * _T13;
  int _T14;
  struct _fat_ptr * _T15;
  int _T16;
  void * _T17;
  struct Cyc_reductions_tag * _T18;
  struct Cyc_reductions_tag * _T19;
  struct Cyc_core_tag * _T1A;
  struct Cyc_reductions_tag * _T1B;
  int _T1C;
  struct Cyc_reductions_tag * _T1D;
  struct _fat_ptr _T1E;
  int _T1F;
  short * _T20;
  unsigned int _T21;
  unsigned int _T22;
  struct Cyc_reductions_tag * _T23;
  struct _fat_ptr _T24;
  int _T25;
  struct _fat_ptr _T26;
  unsigned char * _T27;
  short * _T28;
  struct _fat_ptr _T29;
  unsigned char * _T2A;
  short * _T2B;
  struct _fat_ptr * _T2C;
  struct _fat_ptr _T2D;
  unsigned char * _T2E;
  short * _T2F;
  struct _fat_ptr * _T30;
  struct _fat_ptr _T31;
  unsigned char * _T32;
  short * _T33;
  struct Cyc_reductions_tag * _T34;
  unsigned int _T35;
  struct Cyc_reductions_tag * _T36;
  struct _fat_ptr isp;
  struct _fat_ptr rp1;
  struct _fat_ptr rp2;
  int item;
  int count;
  struct Cyc_reductions_tag * p;
  struct _fat_ptr rend;
  count = 0;
  isp = Cyc_itemset;
  _TL6C: _T0 = isp;
  _T1 = _T0.curr;
  _T2 = (short *)_T1;
  _T3 = Cyc_itemsetend;
  _T4 = _T3.curr;
  _T5 = (short *)_T4;
  if (_T2 < _T5) { goto _TL6A;
  }else { goto _TL6B;
  }
  _TL6A: _T6 = Cyc_ritem;
  _T7 = isp;
  _T8 = _check_fat_subscript(_T7,sizeof(short),0U);
  _T9 = (short *)_T8;
  _TA = *_T9;
  _TB = (int)_TA;
  _TC = _check_fat_subscript(_T6,sizeof(short),_TB);
  _TD = (short *)_TC;
  _TE = *_TD;
  item = (int)_TE;
  if (item >= 0) { goto _TL6D;
  }
  _TF = Cyc_redset;
  _T10 = count;
  count = _T10 + 1;
  _T11 = _T10;
  _T12 = _check_fat_subscript(_TF,sizeof(short),_T11);
  _T13 = (short *)_T12;
  _T14 = - item;
  *_T13 = (short)_T14;
  goto _TL6E;
  _TL6D: _TL6E: _T15 = &isp;
  _fat_ptr_inplace_plus(_T15,sizeof(short),1);
  goto _TL6C;
  _TL6B: _T16 = count;
  if (! _T16) { goto _TL6F;
  }
  _T17 = _cycalloc(sizeof(struct Cyc_reductions_tag));
  p = (struct Cyc_reductions_tag *)_T17;
  _T18 = p;
  _T18->next = 0;
  _T19 = p;
  _T1A = _check_null(Cyc_this_state);
  _T19->number = _T1A->number;
  _T1B = p;
  _T1C = count;
  _T1B->nreds = (short)_T1C;
  _T1D = p;
  _T1F = count;
  { unsigned int _T37 = (unsigned int)_T1F;
    _T21 = _check_times(_T37,sizeof(short));
    { short * _T38 = _cycalloc_atomic(_T21);
      { unsigned int _T39 = _T37;
	unsigned int _new2_cyclone;
	_new2_cyclone = 0;
	_TL74: if (_new2_cyclone < _T39) { goto _TL72;
	}else { goto _TL73;
	}
	_TL72: _T22 = _new2_cyclone;
	_T38[_T22] = 0;
	_new2_cyclone = _new2_cyclone + 1;
	goto _TL74;
	_TL73: ;
      }_T20 = (short *)_T38;
    }_T1E = _tag_fat(_T20,sizeof(short),_T37);
  }_T1D->rules = _T1E;
  rp1 = Cyc_redset;
  _T23 = p;
  rp2 = _T23->rules;
  _T24 = rp1;
  _T25 = count;
  rend = _fat_ptr_plus(_T24,sizeof(short),_T25);
  _TL75: _T26 = rp1;
  _T27 = _T26.curr;
  _T28 = (short *)_T27;
  _T29 = rend;
  _T2A = _T29.curr;
  _T2B = (short *)_T2A;
  if (_T28 < _T2B) { goto _TL76;
  }else { goto _TL77;
  }
  _TL76: _T2C = &rp2;
  _T2D = _fat_ptr_inplace_plus_post(_T2C,sizeof(short),1);
  _T2E = _check_fat_subscript(_T2D,sizeof(short),0U);
  _T2F = (short *)_T2E;
  _T30 = &rp1;
  _T31 = _fat_ptr_inplace_plus_post(_T30,sizeof(short),1);
  _T32 = _check_fat_subscript(_T31,sizeof(short),0U);
  _T33 = (short *)_T32;
  *_T2F = *_T33;
  goto _TL75;
  _TL77: _T34 = Cyc_last_reduction;
  _T35 = (unsigned int)_T34;
  if (! _T35) { goto _TL78;
  }
  _T36 = Cyc_last_reduction;
  _T36->next = p;
  Cyc_last_reduction = p;
  goto _TL79;
  _TL78: Cyc_first_reduction = p;
  Cyc_last_reduction = p;
  _TL79: goto _TL70;
  _TL6F: _TL70: ;
}
Esempio n. 2
0
struct Cyc_APQ_T*Cyc_APQ_fromstr(struct _fat_ptr str,int base){void*_T0;struct _fat_ptr _T1;unsigned char*_T2;const char*_T3;char _T4;int _T5;struct _fat_ptr _T6;unsigned char*_T7;const char*_T8;char _T9;int _TA;struct _fat_ptr*_TB;struct Cyc_APQ_T*_TC;struct _fat_ptr _TD;unsigned char*_TE;const char*_TF;int _T10;struct _fat_ptr _T11;unsigned char*_T12;const char*_T13;char _T14;int _T15;struct _fat_ptr _T16;struct _fat_ptr _T17;unsigned char*_T18;const char*_T19;int _T1A;int _T1B;struct Cyc_APQ_T*_T1C;struct Cyc_Invalid_argument_exn_struct*_T1D;void*_T1E;struct Cyc_APQ_T*_T1F;struct Cyc_APQ_T*_T20;_T0=_cycalloc(sizeof(struct Cyc_APQ_T));{
struct Cyc_APQ_T*q=(struct Cyc_APQ_T*)_T0;
struct _fat_ptr s=str;
_TL6: _T1=s;_T2=_check_fat_subscript(_T1,sizeof(char),0U);_T3=(const char*)_T2;_T4=*_T3;_T5=(int)_T4;if(_T5)goto _TL9;else{goto _TL8;}_TL9: _T6=s;_T7=_T6.curr;_T8=(const char*)_T7;_T9=*_T8;_TA=(int)_T9;if(_TA!=47)goto _TL7;else{goto _TL8;}_TL7: _TB=& s;_fat_ptr_inplace_plus(_TB,sizeof(char),1);goto _TL6;_TL8: _TC=q;_TD=str;_TE=_untag_fat_ptr_check_bound(_TD,sizeof(char),1U);_TF=(const char*)_TE;_T10=base;
_TC->n=Cyc_AP_fromstr(_TF,_T10);_T11=s;_T12=_T11.curr;_T13=(const char*)_T12;_T14=*_T13;_T15=(int)_T14;
if(!_T15)goto _TLA;_T16=s;_T17=
_fat_ptr_plus(_T16,sizeof(char),1);_T18=_untag_fat_ptr_check_bound(_T17,sizeof(char),1U);_T19=(const char*)_T18;_T1A=base;{struct Cyc_AP_T*d=Cyc_AP_fromstr(_T19,_T1A);_T1B=
Cyc_AP_cmp(d,Cyc_AP_zero);if(!_T1B)goto _TLC;_T1C=q;
_T1C->d=d;goto _TLD;
_TLC:{struct Cyc_Invalid_argument_exn_struct*_T21=_cycalloc(sizeof(struct Cyc_Invalid_argument_exn_struct));_T21->tag=Cyc_Invalid_argument;_T21->f1=_tag_fat("APQ_fromstr: malformed string",sizeof(char),30U);_T1D=(struct Cyc_Invalid_argument_exn_struct*)_T21;}_T1E=(void*)_T1D;_throw(_T1E);_TLD:;}goto _TLB;
# 54
_TLA: _T1F=q;_T1F->d=Cyc_AP_one;_TLB: _T20=
Cyc_reduce(q);return _T20;}}
Esempio n. 3
0
void Cyc_RTC(struct _fat_ptr R,int n) {
  int _T0;
  int _T1;
  int _T2;
  unsigned int _T3;
  unsigned int _T4;
  struct _fat_ptr _T5;
  int _T6;
  unsigned int _T7;
  unsigned int _T8;
  int _T9;
  struct _fat_ptr _TA;
  unsigned char * _TB;
  unsigned int * _TC;
  struct _fat_ptr _TD;
  unsigned char * _TE;
  unsigned int * _TF;
  struct _fat_ptr _T10;
  unsigned char * _T11;
  unsigned int * _T12;
  unsigned int _T13;
  struct _fat_ptr * _T14;
  struct _fat_ptr _T15;
  int _T16;
  unsigned int _T17;
  unsigned int _T18;
  int _T19;
  register int rowsize;
  register unsigned int mask;
  struct _fat_ptr rp;
  struct _fat_ptr relend;
  Cyc_TC(R,n);
  _T0 = n + 32;
  _T1 = _T0 - 1;
  _T2 = _T1 / 32;
  _T3 = (unsigned int)_T2;
  _T4 = _T3 * sizeof(unsigned int);
  rowsize = (int)_T4;
  _T5 = R;
  _T6 = n * rowsize;
  _T7 = (unsigned int)_T6;
  _T8 = _T7 / sizeof(unsigned int);
  _T9 = (int)_T8;
  relend = _fat_ptr_plus(_T5,sizeof(unsigned int),_T9);
  mask = 1U;
  rp = R;
  _TLD: _TA = rp;
  _TB = _TA.curr;
  _TC = (unsigned int *)_TB;
  _TD = relend;
  _TE = _TD.curr;
  _TF = (unsigned int *)_TE;
  if (_TC < _TF) { goto _TLE;
  }else { goto _TLF;
  }
  _TLE: _T10 = rp;
  _T11 = _check_fat_subscript(_T10,sizeof(unsigned int),0U);
  _T12 = (unsigned int *)_T11;
  _T13 = mask;
  *_T12 = *_T12 | _T13;
  mask = mask << 1U;
  if (mask != 0U) { goto _TL10;
  }
  mask = 1U;
  _T14 = &rp;
  _fat_ptr_inplace_plus(_T14,sizeof(unsigned int),1);
  goto _TL11;
  _TL10: _TL11: _T15 = rp;
  _T16 = rowsize;
  _T17 = (unsigned int)_T16;
  _T18 = _T17 / sizeof(unsigned int);
  _T19 = (int)_T18;
  rp = _fat_ptr_plus(_T15,sizeof(unsigned int),_T19);
  goto _TLD;
  _TLF: ;
}
Esempio n. 4
0
void Cyc_set_nullable() {
  struct _fat_ptr _T0;
  int _T1;
  unsigned int _T2;
  char * _T3;
  unsigned int _T4;
  unsigned int _T5;
  struct _fat_ptr _T6;
  int _T7;
  struct _fat_ptr _T8;
  int _T9;
  short * _TA;
  unsigned int _TB;
  unsigned int _TC;
  struct _fat_ptr _TD;
  int _TE;
  short * _TF;
  unsigned int _T10;
  unsigned int _T11;
  struct _fat_ptr _T12;
  int _T13;
  struct Cyc_shorts_tag * * _T14;
  unsigned int _T15;
  unsigned int _T16;
  struct _fat_ptr _T17;
  int _T18;
  struct _fat_ptr _T19;
  int _T1A;
  int _T1B;
  struct Cyc_shorts_tag * _T1C;
  unsigned int _T1D;
  unsigned int _T1E;
  unsigned int _T1F;
  struct _fat_ptr _T20;
  unsigned char * _T21;
  short * _T22;
  short _T23;
  int _T24;
  struct _fat_ptr _T25;
  unsigned char * _T26;
  short * _T27;
  short _T28;
  int _T29;
  struct _fat_ptr _T2A;
  struct _fat_ptr * _T2B;
  struct _fat_ptr _T2C;
  unsigned char * _T2D;
  short * _T2E;
  short _T2F;
  short _T30;
  int _T31;
  unsigned char * _T32;
  short * _T33;
  short _T34;
  struct _fat_ptr _T35;
  int _T36;
  unsigned char * _T37;
  char * _T38;
  char _T39;
  int _T3A;
  struct _fat_ptr _T3B;
  int _T3C;
  unsigned char * _T3D;
  char * _T3E;
  unsigned int _T3F;
  unsigned char * _T40;
  char * _T41;
  struct _fat_ptr * _T42;
  struct _fat_ptr _T43;
  unsigned char * _T44;
  short * _T45;
  int _T46;
  struct _fat_ptr * _T47;
  struct _fat_ptr _T48;
  unsigned char * _T49;
  short * _T4A;
  short _T4B;
  struct _fat_ptr * _T4C;
  struct _fat_ptr _T4D;
  unsigned char * _T4E;
  short * _T4F;
  short _T50;
  char _T51;
  int _T52;
  struct _fat_ptr * _T53;
  struct _fat_ptr _T54;
  unsigned char * _T55;
  short * _T56;
  short _T57;
  struct _fat_ptr _T58;
  int _T59;
  unsigned char * _T5A;
  short * _T5B;
  struct _fat_ptr _T5C;
  unsigned char * _T5D;
  struct Cyc_shorts_tag * _T5E;
  struct _fat_ptr _T5F;
  int _T60;
  unsigned char * _T61;
  struct Cyc_shorts_tag * * _T62;
  struct _fat_ptr _T63;
  unsigned char * _T64;
  struct Cyc_shorts_tag * _T65;
  int _T66;
  struct _fat_ptr _T67;
  unsigned char * _T68;
  struct Cyc_shorts_tag * * _T69;
  int _T6A;
  struct _fat_ptr _T6B;
  unsigned char * _T6C;
  struct _fat_ptr * _T6D;
  struct _fat_ptr * _T6E;
  struct _fat_ptr _T6F;
  unsigned char * _T70;
  short * _T71;
  short _T72;
  struct _fat_ptr _T73;
  unsigned char * _T74;
  short * _T75;
  struct _fat_ptr _T76;
  unsigned char * _T77;
  short * _T78;
  struct _fat_ptr _T79;
  struct _fat_ptr * _T7A;
  struct _fat_ptr _T7B;
  unsigned char * _T7C;
  short * _T7D;
  short _T7E;
  int _T7F;
  unsigned char * _T80;
  struct Cyc_shorts_tag * * _T81;
  struct Cyc_shorts_tag * _T82;
  struct _fat_ptr _T83;
  unsigned char * _T84;
  unsigned int _T85;
  struct _fat_ptr _T86;
  unsigned char * _T87;
  struct Cyc_shorts_tag * _T88;
  short _T89;
  struct _fat_ptr _T8A;
  unsigned char * _T8B;
  struct Cyc_shorts_tag * _T8C;
  struct Cyc_shorts_tag * _T8D;
  struct _fat_ptr _T8E;
  int _T8F;
  unsigned char * _T90;
  short * _T91;
  short _T92;
  int _T93;
  struct _fat_ptr _T94;
  int _T95;
  unsigned char * _T96;
  short * _T97;
  short _T98;
  struct _fat_ptr _T99;
  int _T9A;
  unsigned char * _T9B;
  char * _T9C;
  char _T9D;
  int _T9E;
  struct _fat_ptr _T9F;
  int _TA0;
  unsigned char * _TA1;
  char * _TA2;
  unsigned int _TA3;
  unsigned char * _TA4;
  char * _TA5;
  struct _fat_ptr * _TA6;
  struct _fat_ptr _TA7;
  unsigned char * _TA8;
  short * _TA9;
  int _TAA;
  struct _fat_ptr _TAB;
  int _TAC;
  struct _fat_ptr r;
  struct _fat_ptr s1;
  struct _fat_ptr s2;
  register int ruleno;
  register int symbol;
  struct _fat_ptr p;
  struct _fat_ptr squeue;
  struct _fat_ptr rcount;
  struct _fat_ptr rsets;
  struct _fat_ptr relts;
  char any_tokens;
  struct _fat_ptr r1;
  _T1 = Cyc_nvars;
  _T2 = (unsigned int)_T1;
  { unsigned int _TAD = _T2 + 1U;
    _T4 = _check_times(_TAD,sizeof(char));
    { char * _TAE = _cycalloc_atomic(_T4);
      { unsigned int _TAF = _TAD;
	unsigned int i;
	i = 0;
	_TL3: if (i < _TAF) { goto _TL1;
	}else { goto _TL2;
	}
	_TL1: _T5 = i;
	_TAE[_T5] = '\000';
	i = i + 1;
	goto _TL3;
	_TL2: _TAE[_TAF] = 0;
      }_T3 = (char *)_TAE;
    }_T0 = _tag_fat(_T3,sizeof(char),_TAD);
  }{ struct _fat_ptr temp_string = _T0;
    _T6 = temp_string;
    _T7 = - Cyc_ntokens;
    Cyc_nullable = _fat_ptr_plus(_T6,sizeof(char),_T7);
    _T9 = Cyc_nvars;
    { unsigned int _TAD = (unsigned int)_T9;
      _TB = _check_times(_TAD,sizeof(short));
      { short * _TAE = _cycalloc_atomic(_TB);
	{ unsigned int _TAF = _TAD;
	  unsigned int _new2_cyclone;
	  _new2_cyclone = 0;
	  _TL7: if (_new2_cyclone < _TAF) { goto _TL5;
	  }else { goto _TL6;
	  }
	  _TL5: _TC = _new2_cyclone;
	  _TAE[_TC] = 0;
	  _new2_cyclone = _new2_cyclone + 1;
	  goto _TL7;
	  _TL6: ;
	}_TA = (short *)_TAE;
      }_T8 = _tag_fat(_TA,sizeof(short),_TAD);
    }squeue = _T8;
    s2 = squeue;
    s1 = s2;
    _TE = Cyc_nrules + 1;
    { unsigned int _TAD = (unsigned int)_TE;
      _T10 = _check_times(_TAD,sizeof(short));
      { short * _TAE = _cycalloc_atomic(_T10);
	{ unsigned int _TAF = _TAD;
	  unsigned int _new2_cyclone;
	  _new2_cyclone = 0;
	  _TLB: if (_new2_cyclone < _TAF) { goto _TL9;
	  }else { goto _TLA;
	  }
	  _TL9: _T11 = _new2_cyclone;
	  _TAE[_T11] = 0;
	  _new2_cyclone = _new2_cyclone + 1;
	  goto _TLB;
	  _TLA: ;
	}_TF = (short *)_TAE;
      }_TD = _tag_fat(_TF,sizeof(short),_TAD);
    }rcount = _TD;
    _T13 = Cyc_nvars;
    { unsigned int _TAD = (unsigned int)_T13;
      _T15 = _check_times(_TAD,sizeof(struct Cyc_shorts_tag *));
      { struct Cyc_shorts_tag * * _TAE = _cycalloc(_T15);
	{ unsigned int _TAF = _TAD;
	  unsigned int _new2p_cyclone;
	  _new2p_cyclone = 0;
	  _TLF: if (_new2p_cyclone < _TAF) { goto _TLD;
	  }else { goto _TLE;
	  }
	  _TLD: _T16 = _new2p_cyclone;
	  _TAE[_T16] = 0;
	  _new2p_cyclone = _new2p_cyclone + 1;
	  goto _TLF;
	  _TLE: ;
	}_T14 = (struct Cyc_shorts_tag * *)_TAE;
      }_T12 = _tag_fat(_T14,sizeof(struct Cyc_shorts_tag *),_TAD);
    }_T17 = _T12;
    _T18 = - Cyc_ntokens;
    rsets = _fat_ptr_plus(_T17,sizeof(struct Cyc_shorts_tag *),_T18);
    _T1A = Cyc_nitems + Cyc_nvars;
    _T1B = _T1A + 1;
    { unsigned int _TAD = (unsigned int)_T1B;
      _T1D = _check_times(_TAD,sizeof(struct Cyc_shorts_tag));
      { struct Cyc_shorts_tag * _TAE = _cycalloc(_T1D);
	{ unsigned int _TAF = _TAD;
	  unsigned int _temp_;
	  _temp_ = 0;
	  _TL13: if (_temp_ < _TAF) { goto _TL11;
	  }else { goto _TL12;
	  }
	  _TL11: _T1E = _temp_;
	  (_TAE[_T1E]).next = 0;
	  _T1F = _temp_;
	  (_TAE[_T1F]).value = 0;
	  _temp_ = _temp_ + 1;
	  goto _TL13;
	  _TL12: ;
	}_T1C = (struct Cyc_shorts_tag *)_TAE;
      }_T19 = _tag_fat(_T1C,sizeof(struct Cyc_shorts_tag),_TAD);
    }relts = _T19;
    p = relts;
    r = Cyc_ritem;
    _TL14: _T20 = r;
    _T21 = _check_fat_subscript(_T20,sizeof(short),0U);
    _T22 = (short *)_T21;
    _T23 = *_T22;
    _T24 = (int)_T23;
    if (_T24) { goto _TL15;
    }else { goto _TL16;
    }
    _TL15: _T25 = r;
    _T26 = _T25.curr;
    _T27 = (short *)_T26;
    _T28 = *_T27;
    _T29 = (int)_T28;
    if (_T29 >= 0) { goto _TL17;
    }
    _T2A = Cyc_rlhs;
    _T2B = &r;
    _T2C = _fat_ptr_inplace_plus_post(_T2B,sizeof(short),1);
    _T2D = _T2C.curr;
    _T2E = (short *)_T2D;
    _T2F = *_T2E;
    _T30 = - _T2F;
    _T31 = (int)_T30;
    _T32 = _check_fat_subscript(_T2A,sizeof(short),_T31);
    _T33 = (short *)_T32;
    _T34 = *_T33;
    symbol = (int)_T34;
    if (symbol < 0) { goto _TL19;
    }
    _T35 = Cyc_nullable;
    _T36 = symbol;
    _T37 = _check_fat_subscript(_T35,sizeof(char),_T36);
    _T38 = (char *)_T37;
    _T39 = *_T38;
    _T3A = (int)_T39;
    if (_T3A) { goto _TL19;
    }else { goto _TL1B;
    }
    _TL1B: _T3B = Cyc_nullable;
    _T3C = symbol;
    { struct _fat_ptr _TAD = _fat_ptr_plus(_T3B,sizeof(char),_T3C);
      _T3D = _TAD.curr;
      _T3E = (char *)_T3D;
      { char _TAE = *_T3E;
	char _TAF = '\001';
	_T3F = _get_fat_size(_TAD,sizeof(char));
	if (_T3F != 1U) { goto _TL1C;
	}
	if (_TAE != 0) { goto _TL1C;
	}
	if (_TAF == 0) { goto _TL1C;
	}
	_throw_arraybounds();
	goto _TL1D;
	_TL1C: _TL1D: _T40 = _TAD.curr;
	_T41 = (char *)_T40;
	*_T41 = _TAF;
      }
    }_T42 = &s2;
    _T43 = _fat_ptr_inplace_plus_post(_T42,sizeof(short),1);
    _T44 = _check_fat_subscript(_T43,sizeof(short),0U);
    _T45 = (short *)_T44;
    _T46 = symbol;
    *_T45 = (short)_T46;
    goto _TL1A;
    _TL19: _TL1A: goto _TL18;
    _TL17: r1 = r;
    any_tokens = '\000';
    _T47 = &r;
    _T48 = _fat_ptr_inplace_plus_post(_T47,sizeof(short),1);
    _T49 = _T48.curr;
    _T4A = (short *)_T49;
    _T4B = *_T4A;
    symbol = (int)_T4B;
    _TL21: if (symbol > 0) { goto _TL1F;
    }else { goto _TL20;
    }
    _TL1F: if (symbol >= Cyc_ntokens) { goto _TL22;
    }
    any_tokens = '\001';
    goto _TL23;
    _TL22: _TL23: _T4C = &r;
    _T4D = _fat_ptr_inplace_plus_post(_T4C,sizeof(short),1);
    _T4E = _check_fat_subscript(_T4D,sizeof(short),0U);
    _T4F = (short *)_T4E;
    _T50 = *_T4F;
    symbol = (int)_T50;
    goto _TL21;
    _TL20: _T51 = any_tokens;
    _T52 = (int)_T51;
    if (_T52) { goto _TL24;
    }else { goto _TL26;
    }
    _TL26: ruleno = - symbol;
    r = r1;
    _T53 = &r;
    _T54 = _fat_ptr_inplace_plus_post(_T53,sizeof(short),1);
    _T55 = _T54.curr;
    _T56 = (short *)_T55;
    _T57 = *_T56;
    symbol = (int)_T57;
    _TL2A: if (symbol > 0) { goto _TL28;
    }else { goto _TL29;
    }
    _TL28: _T58 = rcount;
    _T59 = ruleno;
    _T5A = _check_fat_subscript(_T58,sizeof(short),_T59);
    _T5B = (short *)_T5A;
    *_T5B = *_T5B + 1;
    _T5C = p;
    _T5D = _check_fat_subscript(_T5C,sizeof(struct Cyc_shorts_tag),0U);
    _T5E = (struct Cyc_shorts_tag *)_T5D;
    _T5F = rsets;
    _T60 = symbol;
    _T61 = _check_fat_subscript(_T5F,sizeof(struct Cyc_shorts_tag *),_T60);
    _T62 = (struct Cyc_shorts_tag * *)_T61;
    _T5E->next = *_T62;
    _T63 = p;
    _T64 = _T63.curr;
    _T65 = (struct Cyc_shorts_tag *)_T64;
    _T66 = ruleno;
    _T65->value = (short)_T66;
    _T67 = rsets;
    _T68 = _T67.curr;
    _T69 = (struct Cyc_shorts_tag * *)_T68;
    _T6A = symbol;
    _T6B = p;
    _T6C = _untag_fat_ptr(_T6B,sizeof(struct Cyc_shorts_tag),1U);
    _T69[_T6A] = (struct Cyc_shorts_tag *)_T6C;
    _T6D = &p;
    _fat_ptr_inplace_plus(_T6D,sizeof(struct Cyc_shorts_tag),1);
    _T6E = &r;
    _T6F = _fat_ptr_inplace_plus_post(_T6E,sizeof(short),1);
    _T70 = _check_fat_subscript(_T6F,sizeof(short),0U);
    _T71 = (short *)_T70;
    _T72 = *_T71;
    symbol = (int)_T72;
    goto _TL2A;
    _TL29: goto _TL25;
    _TL24: _TL25: _TL18: goto _TL14;
    _TL16: _TL2B: _T73 = s1;
    _T74 = _T73.curr;
    _T75 = (short *)_T74;
    _T76 = s2;
    _T77 = _T76.curr;
    _T78 = (short *)_T77;
    if (_T75 < _T78) { goto _TL2C;
    }else { goto _TL2D;
    }
    _TL2C: _T79 = rsets;
    _T7A = &s1;
    _T7B = _fat_ptr_inplace_plus_post(_T7A,sizeof(short),1);
    _T7C = _check_fat_subscript(_T7B,sizeof(short),0U);
    _T7D = (short *)_T7C;
    _T7E = *_T7D;
    _T7F = (int)_T7E;
    _T80 = _check_fat_subscript(_T79,sizeof(struct Cyc_shorts_tag *),_T7F);
    _T81 = (struct Cyc_shorts_tag * *)_T80;
    _T82 = *_T81;
    p = _tag_fat(_T82,sizeof(struct Cyc_shorts_tag),1U);
    _TL2E: _T83 = p;
    _T84 = _T83.curr;
    _T85 = (unsigned int)_T84;
    if (_T85) { goto _TL2F;
    }else { goto _TL30;
    }
    _TL2F: _T86 = p;
    _T87 = _check_fat_subscript(_T86,sizeof(struct Cyc_shorts_tag),0U);
    _T88 = (struct Cyc_shorts_tag *)_T87;
    _T89 = _T88->value;
    ruleno = (int)_T89;
    _T8A = p;
    _T8B = _T8A.curr;
    _T8C = (struct Cyc_shorts_tag *)_T8B;
    _T8D = _T8C->next;
    p = _tag_fat(_T8D,sizeof(struct Cyc_shorts_tag),1U);
    _T8E = rcount;
    _T8F = ruleno;
    _T90 = _check_fat_subscript(_T8E,sizeof(short),_T8F);
    _T91 = (short *)_T90;
    *_T91 = *_T91 + -1;
    _T92 = *_T91;
    _T93 = (int)_T92;
    if (_T93 != 0) { goto _TL31;
    }
    _T94 = Cyc_rlhs;
    _T95 = ruleno;
    _T96 = _check_fat_subscript(_T94,sizeof(short),_T95);
    _T97 = (short *)_T96;
    _T98 = *_T97;
    symbol = (int)_T98;
    if (symbol < 0) { goto _TL33;
    }
    _T99 = Cyc_nullable;
    _T9A = symbol;
    _T9B = _check_fat_subscript(_T99,sizeof(char),_T9A);
    _T9C = (char *)_T9B;
    _T9D = *_T9C;
    _T9E = (int)_T9D;
    if (_T9E) { goto _TL33;
    }else { goto _TL35;
    }
    _TL35: _T9F = Cyc_nullable;
    _TA0 = symbol;
    { struct _fat_ptr _TAD = _fat_ptr_plus(_T9F,sizeof(char),_TA0);
      _TA1 = _TAD.curr;
      _TA2 = (char *)_TA1;
      { char _TAE = *_TA2;
	char _TAF = '\001';
	_TA3 = _get_fat_size(_TAD,sizeof(char));
	if (_TA3 != 1U) { goto _TL36;
	}
	if (_TAE != 0) { goto _TL36;
	}
	if (_TAF == 0) { goto _TL36;
	}
	_throw_arraybounds();
	goto _TL37;
	_TL36: _TL37: _TA4 = _TAD.curr;
	_TA5 = (char *)_TA4;
	*_TA5 = _TAF;
      }
    }_TA6 = &s2;
    _TA7 = _fat_ptr_inplace_plus_post(_TA6,sizeof(short),1);
    _TA8 = _check_fat_subscript(_TA7,sizeof(short),0U);
    _TA9 = (short *)_TA8;
    _TAA = symbol;
    *_TA9 = (short)_TAA;
    goto _TL34;
    _TL33: _TL34: goto _TL32;
    _TL31: _TL32: goto _TL2E;
    _TL30: goto _TL2B;
    _TL2D: squeue = _tag_fat(0,0,0);
    rcount = _tag_fat(0,0,0);
    _TAB = rsets;
    _TAC = Cyc_ntokens;
    rsets = _fat_ptr_plus(_TAB,sizeof(struct Cyc_shorts_tag *),_TAC);
    rsets = _tag_fat(0,0,0);
    relts = _tag_fat(0,0,0);
  }
}
Esempio n. 5
0
void Cyc_TC(struct _fat_ptr R,int n) {
  int _T0;
  int _T1;
  int _T2;
  unsigned int _T3;
  unsigned int _T4;
  struct _fat_ptr _T5;
  int _T6;
  unsigned int _T7;
  unsigned int _T8;
  int _T9;
  struct _fat_ptr _TA;
  unsigned char * _TB;
  unsigned int * _TC;
  struct _fat_ptr _TD;
  unsigned char * _TE;
  unsigned int * _TF;
  struct _fat_ptr _T10;
  unsigned char * _T11;
  unsigned int * _T12;
  struct _fat_ptr _T13;
  unsigned char * _T14;
  unsigned int * _T15;
  struct _fat_ptr _T16;
  unsigned char * _T17;
  unsigned int * _T18;
  unsigned int _T19;
  unsigned int _T1A;
  unsigned int _T1B;
  int _T1C;
  struct _fat_ptr _T1D;
  int _T1E;
  int _T1F;
  int _T20;
  struct _fat_ptr _T21;
  unsigned char * _T22;
  unsigned int * _T23;
  struct _fat_ptr _T24;
  unsigned char * _T25;
  unsigned int * _T26;
  struct _fat_ptr * _T27;
  struct _fat_ptr _T28;
  unsigned char * _T29;
  unsigned int * _T2A;
  struct _fat_ptr * _T2B;
  struct _fat_ptr _T2C;
  unsigned char * _T2D;
  unsigned int * _T2E;
  unsigned int _T2F;
  struct _fat_ptr _T30;
  int _T31;
  unsigned int _T32;
  unsigned int _T33;
  int _T34;
  struct _fat_ptr _T35;
  int _T36;
  unsigned int _T37;
  unsigned int _T38;
  int _T39;
  struct _fat_ptr * _T3A;
  struct _fat_ptr _T3B;
  int _T3C;
  unsigned int _T3D;
  unsigned int _T3E;
  int _T3F;
  register int rowsize;
  register unsigned int mask;
  struct _fat_ptr rowj;
  struct _fat_ptr rp;
  struct _fat_ptr rend;
  struct _fat_ptr ccol;
  struct _fat_ptr relend;
  struct _fat_ptr cword;
  struct _fat_ptr rowi;
  _T0 = n + 32;
  _T1 = _T0 - 1;
  _T2 = _T1 / 32;
  _T3 = (unsigned int)_T2;
  _T4 = _T3 * sizeof(unsigned int);
  rowsize = (int)_T4;
  _T5 = R;
  _T6 = n * rowsize;
  _T7 = (unsigned int)_T6;
  _T8 = _T7 / sizeof(unsigned int);
  _T9 = (int)_T8;
  relend = _fat_ptr_plus(_T5,sizeof(unsigned int),_T9);
  cword = R;
  mask = 1U;
  rowi = R;
  _TL0: _TA = rowi;
  _TB = _TA.curr;
  _TC = (unsigned int *)_TB;
  _TD = relend;
  _TE = _TD.curr;
  _TF = (unsigned int *)_TE;
  if (_TC < _TF) { goto _TL1;
  }else { goto _TL2;
  }
  _TL1: ccol = cword;
  rowj = R;
  _TL3: _T10 = rowj;
  _T11 = _T10.curr;
  _T12 = (unsigned int *)_T11;
  _T13 = relend;
  _T14 = _T13.curr;
  _T15 = (unsigned int *)_T14;
  if (_T12 < _T15) { goto _TL4;
  }else { goto _TL5;
  }
  _TL4: _T16 = ccol;
  _T17 = _check_fat_subscript(_T16,sizeof(unsigned int),0U);
  _T18 = (unsigned int *)_T17;
  _T19 = *_T18;
  _T1A = mask;
  _T1B = _T19 & _T1A;
  _T1C = (int)_T1B;
  if (! _T1C) { goto _TL6;
  }
  rp = rowi;
  _T1D = rowj;
  _T1E = rowsize;
  _T1F = (int)sizeof(unsigned int);
  _T20 = _T1E / _T1F;
  rend = _fat_ptr_plus(_T1D,sizeof(unsigned int),_T20);
  _TL8: _T21 = rowj;
  _T22 = _T21.curr;
  _T23 = (unsigned int *)_T22;
  _T24 = rend;
  _T25 = _T24.curr;
  _T26 = (unsigned int *)_T25;
  if (_T23 < _T26) { goto _TL9;
  }else { goto _TLA;
  }
  _TL9: _T27 = &rowj;
  _T28 = _fat_ptr_inplace_plus_post(_T27,sizeof(unsigned int),1);
  _T29 = _check_fat_subscript(_T28,sizeof(unsigned int),0U);
  _T2A = (unsigned int *)_T29;
  _T2B = &rp;
  _T2C = _fat_ptr_inplace_plus_post(_T2B,sizeof(unsigned int),1);
  _T2D = _check_fat_subscript(_T2C,sizeof(unsigned int),0U);
  _T2E = (unsigned int *)_T2D;
  _T2F = *_T2E;
  *_T2A = *_T2A | _T2F;
  goto _TL8;
  _TLA: goto _TL7;
  _TL6: _T30 = rowj;
  _T31 = rowsize;
  _T32 = (unsigned int)_T31;
  _T33 = _T32 / sizeof(unsigned int);
  _T34 = (int)_T33;
  rowj = _fat_ptr_plus(_T30,sizeof(unsigned int),_T34);
  _TL7: _T35 = ccol;
  _T36 = rowsize;
  _T37 = (unsigned int)_T36;
  _T38 = _T37 / sizeof(unsigned int);
  _T39 = (int)_T38;
  ccol = _fat_ptr_plus(_T35,sizeof(unsigned int),_T39);
  goto _TL3;
  _TL5: mask = mask << 1U;
  if (mask != 0U) { goto _TLB;
  }
  mask = 1U;
  _T3A = &cword;
  _fat_ptr_inplace_plus(_T3A,sizeof(unsigned int),1);
  goto _TLC;
  _TLB: _TLC: _T3B = rowi;
  _T3C = rowsize;
  _T3D = (unsigned int)_T3C;
  _T3E = _T3D / sizeof(unsigned int);
  _T3F = (int)_T3E;
  rowi = _fat_ptr_plus(_T3B,sizeof(unsigned int),_T3F);
  goto _TL0;
  _TL2: ;
}