Beispiel #1
0
void Cyc_Array_iter2_c(void (* f)(void *,void *,void *),void * env,struct _fat_ptr x,
		       struct _fat_ptr y) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  int _T2;
  unsigned int _T3;
  struct _fat_ptr _T4;
  unsigned int _T5;
  struct Cyc_Array_Array_mismatch_exn_struct * _T6;
  struct Cyc_Array_Array_mismatch_exn_struct * _T7;
  void * _T8;
  struct _fat_ptr _T9;
  unsigned char * _TA;
  void * * _TB;
  void * * _TC;
  int _TD;
  void * _TE;
  struct _fat_ptr _TF;
  unsigned char * _T10;
  void * * _T11;
  void * * _T12;
  int _T13;
  void * _T14;
  _T0 = x;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int sx = (int)_T1;
    _T2 = sx;
    _T3 = (unsigned int)_T2;
    _T4 = y;
    _T5 = _get_fat_size(_T4,sizeof(void *));
    if (_T3 == _T5) { goto _TL8B;
    }
    _T6 = &Cyc_Array_Array_mismatch_val;
    _T7 = (struct Cyc_Array_Array_mismatch_exn_struct *)_T6;
    _throw(_T7);
    goto _TL8C;
    _TL8B: _TL8C: { int i = 0;
      _TL90: if (i < sx) { goto _TL8E;
      }else { goto _TL8F;
      }
      _TL8E: _T8 = env;
      _T9 = x;
      _TA = _T9.curr;
      _TB = (void * *)_TA;
      _TC = _check_null(_TB);
      _TD = i;
      _TE = _TC[_TD];
      _TF = y;
      _T10 = _TF.curr;
      _T11 = (void * *)_T10;
      _T12 = _check_null(_T11);
      _T13 = i;
      _T14 = _T12[_T13];
      f(_T8,_TE,_T14);
      i = i + 1;
      goto _TL90;
      _TL8F: ;
    }
  }
}
Beispiel #2
0
struct Cyc_APQ_T * Cyc_APQ_mul(struct Cyc_APQ_T * p,struct Cyc_APQ_T * q) {
    struct Cyc_APQ_T * _T0;
    struct Cyc_AP_T * _T1;
    struct Cyc_APQ_T * _T2;
    struct Cyc_AP_T * _T3;
    struct Cyc_AP_T * _T4;
    struct Cyc_APQ_T * _T5;
    struct Cyc_AP_T * _T6;
    struct Cyc_APQ_T * _T7;
    struct Cyc_AP_T * _T8;
    struct Cyc_AP_T * _T9;
    struct Cyc_APQ_T * _TA;
    _T0 = _check_null(p);
    _T1 = _T0->n;
    _T2 = _check_null(q);
    _T3 = _T2->n;
    _T4 = Cyc_AP_mul(_T1,_T3);
    _T5 = p;
    _T6 = _T5->d;
    _T7 = q;
    _T8 = _T7->d;
    _T9 = Cyc_AP_mul(_T6,_T8);
    _TA = Cyc_APQ_fromAP(_T4,_T9);
    return _TA;
}
Beispiel #3
0
void Cyc_Array_iter2(void (* f)(void *,void *),struct _fat_ptr x,struct _fat_ptr y) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  int _T2;
  unsigned int _T3;
  struct _fat_ptr _T4;
  unsigned int _T5;
  struct Cyc_Array_Array_mismatch_exn_struct * _T6;
  struct Cyc_Array_Array_mismatch_exn_struct * _T7;
  struct _fat_ptr _T8;
  unsigned char * _T9;
  void * * _TA;
  void * * _TB;
  int _TC;
  void * _TD;
  struct _fat_ptr _TE;
  unsigned char * _TF;
  void * * _T10;
  void * * _T11;
  int _T12;
  void * _T13;
  _T0 = x;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int sx = (int)_T1;
    _T2 = sx;
    _T3 = (unsigned int)_T2;
    _T4 = y;
    _T5 = _get_fat_size(_T4,sizeof(void *));
    if (_T3 == _T5) { goto _TL85;
    }
    _T6 = &Cyc_Array_Array_mismatch_val;
    _T7 = (struct Cyc_Array_Array_mismatch_exn_struct *)_T6;
    _throw(_T7);
    goto _TL86;
    _TL85: _TL86: { int i = 0;
      _TL8A: if (i < sx) { goto _TL88;
      }else { goto _TL89;
      }
      _TL88: _T8 = x;
      _T9 = _T8.curr;
      _TA = (void * *)_T9;
      _TB = _check_null(_TA);
      _TC = i;
      _TD = _TB[_TC];
      _TE = y;
      _TF = _TE.curr;
      _T10 = (void * *)_TF;
      _T11 = _check_null(_T10);
      _T12 = i;
      _T13 = _T11[_T12];
      f(_TD,_T13);
      i = i + 1;
      goto _TL8A;
      _TL89: ;
    }
  }
}
Beispiel #4
0
static struct Cyc_List_List*Cyc_Set_imp_delete_b(int(*cmp)(void*,void*),struct Cyc_List_List*n,void*elt,void**ret){struct Cyc_List_List*_T0;void*_T1;void*_T2;int _T3;struct Cyc_List_List*_T4;struct Cyc_List_List*_T5;struct Cyc_List_List*_T6;struct Cyc_List_List*_T7;void*_T8;void*_T9;int _TA;struct Cyc_List_List*_TB;struct Cyc_List_List*_TC;struct Cyc_List_List*_TD;struct Cyc_List_List*_TE;void**_TF;struct Cyc_List_List*_T10;struct Cyc_List_List*_T11;_T0=
_check_null(n);_T1=_T0->hd;_T2=elt;_T3=cmp(_T1,_T2);if(_T3!=0)goto _TL44;_T4=n;_T5=_T4->tl;return _T5;_TL44: {
# 235
struct Cyc_List_List*prev=n;struct Cyc_List_List*res=n;_T6=n;
n=_T6->tl;
_TL46: if(n!=0)goto _TL49;else{goto _TL48;}_TL49: _T7=n;_T8=_T7->hd;_T9=elt;_TA=cmp(_T8,_T9);if(_TA!=0)goto _TL47;else{goto _TL48;}
_TL47: _TB=_check_null(prev);prev=_TB->tl;_TC=n;
n=_TC->tl;goto _TL46;_TL48: _TD=
# 241
_check_null(prev);_TE=_check_null(n);_TD->tl=_TE->tl;_TF=ret;_T10=n;
*_TF=_T10->hd;_T11=res;
return _T11;}}
Beispiel #5
0
static struct Cyc_List_List*Cyc_Set_delete_b(int(*cmp)(void*,void*),struct Cyc_List_List*n,void*elt){struct Cyc_List_List*_T0;void*_T1;void*_T2;int _T3;struct Cyc_List_List*_T4;struct Cyc_List_List*_T5;struct Cyc_List_List*_T6;struct Cyc_List_List*_T7;struct Cyc_List_List*_T8;struct Cyc_List_List*_T9;struct Cyc_List_List*_TA;void*_TB;void*_TC;int _TD;struct Cyc_List_List*_TE;struct Cyc_List_List*_TF;struct Cyc_List_List*_T10;struct Cyc_List_List*_T11;struct Cyc_List_List*_T12;struct Cyc_List_List*_T13;struct Cyc_List_List*_T14;struct Cyc_List_List*_T15;_T0=
_check_null(n);_T1=_T0->hd;_T2=elt;_T3=cmp(_T1,_T2);if(_T3!=0)goto _TL3C;_T4=n;_T5=_T4->tl;return _T5;_TL3C: {
# 209
struct Cyc_List_List*result;result=_cycalloc(sizeof(struct Cyc_List_List));_T6=result;_T7=n;_T6->hd=_T7->hd;_T8=result;_T8->tl=0;{
struct Cyc_List_List*prev=result;_T9=n;
n=_T9->tl;
_TL3E: if(n!=0)goto _TL41;else{goto _TL40;}_TL41: _TA=n;_TB=_TA->hd;_TC=elt;_TD=cmp(_TB,_TC);if(_TD!=0)goto _TL3F;else{goto _TL40;}
_TL3F: _TE=_check_null(prev);{struct Cyc_List_List*_T16=_cycalloc(sizeof(struct Cyc_List_List));_T10=n;_T16->hd=_T10->hd;_T16->tl=0;_TF=(struct Cyc_List_List*)_T16;}_TE->tl=_TF;_T11=prev;
prev=_T11->tl;_T12=n;
n=_T12->tl;goto _TL3E;_TL40: _T13=
# 217
_check_null(prev);_T14=_check_null(n);_T13->tl=_T14->tl;_T15=result;
return _T15;}}}
Beispiel #6
0
struct Cyc_APQ_T * Cyc_APQ_sub(struct Cyc_APQ_T * p,struct Cyc_APQ_T * q) {
    struct Cyc_APQ_T * _T0;
    struct Cyc_AP_T * _T1;
    struct Cyc_APQ_T * _T2;
    struct Cyc_AP_T * _T3;
    struct Cyc_AP_T * _T4;
    struct Cyc_APQ_T * _T5;
    struct Cyc_AP_T * _T6;
    struct Cyc_AP_T * _T7;
    struct Cyc_APQ_T * _T8;
    struct Cyc_AP_T * _T9;
    struct Cyc_APQ_T * _TA;
    struct Cyc_AP_T * _TB;
    struct Cyc_AP_T * _TC;
    struct Cyc_AP_T * _TD;
    struct Cyc_APQ_T * _TE;
    struct Cyc_AP_T * _TF;
    struct Cyc_AP_T * _T10;
    struct Cyc_AP_T * _T11;
    struct Cyc_AP_T * _T12;
    struct Cyc_AP_T * _T13;
    struct Cyc_APQ_T * _T14;
    _T0 = _check_null(p);
    _T1 = _T0->d;
    _T2 = _check_null(q);
    _T3 = _T2->d;
    {   struct Cyc_AP_T * d = Cyc_AP_lcm(_T1,_T3);
        _T4 = d;
        _T5 = p;
        _T6 = _T5->d;
        {   struct Cyc_AP_T * px = Cyc_AP_div(_T4,_T6);
            _T7 = d;
            _T8 = q;
            _T9 = _T8->d;
            {   struct Cyc_AP_T * qx = Cyc_AP_div(_T7,_T9);
                _TA = p;
                _TB = _TA->n;
                _TC = px;
                _TD = Cyc_AP_mul(_TB,_TC);
                _TE = q;
                _TF = _TE->n;
                _T10 = qx;
                _T11 = Cyc_AP_mul(_TF,_T10);
                _T12 = Cyc_AP_sub(_TD,_T11);
                _T13 = d;
                _T14 = Cyc_APQ_fromAP(_T12,_T13);
                return _T14;
            }
        }
    }
}
Beispiel #7
0
static struct Cyc_List_List*Cyc_Set_imp_insert_b(struct _RegionHandle*rgn,int(*cmp)(void*,void*),struct Cyc_List_List*n,void*elt){struct Cyc_List_List*_T0;struct _RegionHandle*_T1;void*_T2;struct Cyc_List_List*_T3;void*_T4;struct Cyc_List_List*_T5;struct _RegionHandle*_T6;struct Cyc_List_List*_T7;struct Cyc_List_List*_T8;void*_T9;void*_TA;int _TB;struct Cyc_List_List*_TC;struct Cyc_List_List*_TD;struct Cyc_List_List*_TE;struct Cyc_List_List*_TF;struct _RegionHandle*_T10;struct Cyc_List_List*_T11;
# 111
if(n!=0)goto _TL14;_T1=rgn;{struct Cyc_List_List*_T12=_region_malloc(_T1,0U,sizeof(struct Cyc_List_List));
_T12->hd=elt;_T12->tl=0;_T0=(struct Cyc_List_List*)_T12;}return _T0;_TL14: _T2=elt;_T3=n;_T4=_T3->hd;{
int i=cmp(_T2,_T4);
if(i >= 0)goto _TL16;_T6=rgn;{struct Cyc_List_List*_T12=_region_malloc(_T6,0U,sizeof(struct Cyc_List_List));
_T12->hd=elt;_T12->tl=n;_T5=(struct Cyc_List_List*)_T12;}return _T5;_TL16: {
struct Cyc_List_List*prev=n;struct Cyc_List_List*res=n;_T7=n;
n=_T7->tl;
_TL18: if(n!=0)goto _TL1B;else{goto _TL1A;}_TL1B: _T8=n;_T9=_T8->hd;_TA=elt;i=cmp(_T9,_TA);_TB=i;if(_TB < 0)goto _TL19;else{goto _TL1A;}
_TL19: _TC=_check_null(prev);prev=_TC->tl;_TD=n;
n=_TD->tl;goto _TL18;_TL1A: _TE=
# 122
_check_null(prev);_T10=rgn;{struct Cyc_List_List*_T12=_region_malloc(_T10,0U,sizeof(struct Cyc_List_List));_T12->hd=elt;_T12->tl=n;_TF=(struct Cyc_List_List*)_T12;}_TE->tl=_TF;_T11=res;
return _T11;}}}
Beispiel #8
0
struct Cyc_APQ_T * Cyc_APQ_div(struct Cyc_APQ_T * p,struct Cyc_APQ_T * q) {
    struct Cyc_APQ_T * _T0;
    struct Cyc_AP_T * _T1;
    struct Cyc_AP_T * _T2;
    int _T3;
    struct Cyc_Invalid_argument_exn_struct * _T4;
    void * _T5;
    struct Cyc_APQ_T * _T6;
    struct Cyc_AP_T * _T7;
    struct Cyc_APQ_T * _T8;
    struct Cyc_AP_T * _T9;
    struct Cyc_AP_T * _TA;
    struct Cyc_APQ_T * _TB;
    struct Cyc_AP_T * _TC;
    struct Cyc_APQ_T * _TD;
    struct Cyc_AP_T * _TE;
    struct Cyc_AP_T * _TF;
    struct Cyc_APQ_T * _T10;
    _T0 = _check_null(q);
    _T1 = _T0->n;
    _T2 = Cyc_AP_zero;
    _T3 = Cyc_AP_cmp(_T1,_T2);
    if (_T3 != 0) {
        goto _TL10;
    }
    {   struct Cyc_Invalid_argument_exn_struct * _T11 = _cycalloc(sizeof(struct Cyc_Invalid_argument_exn_struct));
        _T11->tag = Cyc_Invalid_argument;
        _T11->f1 = _tag_fat("APQ_div: divide by zero",sizeof(char),24U);
        _T4 = (struct Cyc_Invalid_argument_exn_struct *)_T11;
    }
    _T5 = (void *)_T4;
    _throw(_T5);
    goto _TL11;
_TL10:
_TL11:
    _T6 = _check_null(p);
    _T7 = _T6->n;
    _T8 = q;
    _T9 = _T8->d;
    _TA = Cyc_AP_mul(_T7,_T9);
    _TB = p;
    _TC = _TB->d;
    _TD = q;
    _TE = _TD->n;
    _TF = Cyc_AP_mul(_TC,_TE);
    _T10 = Cyc_APQ_fromAP(_TA,_TF);
    return _T10;
}
Beispiel #9
0
long Cyc_Array_exists_c(long (* pred)(void *,void *),void * env,struct _fat_ptr x) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  void * _T2;
  struct _fat_ptr _T3;
  unsigned char * _T4;
  void * * _T5;
  void * * _T6;
  int _T7;
  void * _T8;
  long _T9;
  _T0 = x;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int sx = (int)_T1;
    { int i = 0;
      _TLBF: if (i < sx) { goto _TLBD;
      }else { goto _TLBE;
      }
      _TLBD: _T2 = env;
      _T3 = x;
      _T4 = _T3.curr;
      _T5 = (void * *)_T4;
      _T6 = _check_null(_T5);
      _T7 = i;
      _T8 = _T6[_T7];
      _T9 = pred(_T2,_T8);
      if (! _T9) { goto _TLC0;
      }
      return 1;
      _TLC0: i = i + 1;
      goto _TLBF;
      _TLBE: ;
    }return 0;
  }
}
Beispiel #10
0
long Cyc_Array_exists(long (* pred)(void *),struct _fat_ptr x) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  struct _fat_ptr _T2;
  unsigned char * _T3;
  void * * _T4;
  void * * _T5;
  int _T6;
  void * _T7;
  long _T8;
  _T0 = x;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int sx = (int)_T1;
    { int i = 0;
      _TLB9: if (i < sx) { goto _TLB7;
      }else { goto _TLB8;
      }
      _TLB7: _T2 = x;
      _T3 = _T2.curr;
      _T4 = (void * *)_T3;
      _T5 = _check_null(_T4);
      _T6 = i;
      _T7 = _T5[_T6];
      _T8 = pred(_T7);
      if (! _T8) { goto _TLBA;
      }
      return 1;
      _TLBA: i = i + 1;
      goto _TLB9;
      _TLB8: ;
    }return 0;
  }
}
Beispiel #11
0
long Cyc_Array_forall(long (* pred)(void *),struct _fat_ptr x) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  struct _fat_ptr _T2;
  unsigned char * _T3;
  void * * _T4;
  void * * _T5;
  int _T6;
  void * _T7;
  long _T8;
  _T0 = x;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int sx = (int)_T1;
    { int i = 0;
      _TLAB: if (i < sx) { goto _TLA9;
      }else { goto _TLAA;
      }
      _TLA9: _T2 = x;
      _T3 = _T2.curr;
      _T4 = (void * *)_T3;
      _T5 = _check_null(_T4);
      _T6 = i;
      _T7 = _T5[_T6];
      _T8 = pred(_T7);
      if (_T8) { goto _TLAC;
      }else { goto _TLAE;
      }
      _TLAE: return 0;
      _TLAC: i = i + 1;
      goto _TLAB;
      _TLAA: ;
    }return 1;
  }
}
Beispiel #12
0
void * Cyc_Array_fold_right(void * (* f)(void *,void *),struct _fat_ptr x,
			    void * accum) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  unsigned int _T2;
  struct _fat_ptr _T3;
  unsigned char * _T4;
  void * * _T5;
  void * * _T6;
  int _T7;
  void * _T8;
  void * _T9;
  void * _TA;
  _T0 = x;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  _T2 = _T1 - 1U;
  { int i = (int)_T2;
    _TL9C: if (i >= 0) { goto _TL9A;
    }else { goto _TL9B;
    }
    _TL9A: _T3 = x;
    _T4 = _T3.curr;
    _T5 = (void * *)_T4;
    _T6 = _check_null(_T5);
    _T7 = i;
    _T8 = _T6[_T7];
    _T9 = accum;
    accum = f(_T8,_T9);
    i = i + -1;
    goto _TL9C;
    _TL9B: ;
  }_TA = accum;
  return _TA;
}
Beispiel #13
0
void Cyc_Array_iter_c(void (* f)(void *,void *),void * env,struct _fat_ptr x) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  void * _T2;
  struct _fat_ptr _T3;
  unsigned char * _T4;
  void * * _T5;
  void * * _T6;
  int _T7;
  void * _T8;
  _T0 = x;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int sx = (int)_T1;
    int i = 0;
    _TL78: if (i < sx) { goto _TL76;
    }else { goto _TL77;
    }
    _TL76: _T2 = env;
    _T3 = x;
    _T4 = _T3.curr;
    _T5 = (void * *)_T4;
    _T6 = _check_null(_T5);
    _T7 = i;
    _T8 = _T6[_T7];
    f(_T2,_T8);
    i = i + 1;
    goto _TL78;
    _TL77: ;
  }
}
Beispiel #14
0
void Cyc_Array_iter(void (* f)(void *),struct _fat_ptr x) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  struct _fat_ptr _T2;
  unsigned char * _T3;
  void * * _T4;
  void * * _T5;
  int _T6;
  void * _T7;
  _T0 = x;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int sx = (int)_T1;
    int i = 0;
    _TL74: if (i < sx) { goto _TL72;
    }else { goto _TL73;
    }
    _TL72: _T2 = x;
    _T3 = _T2.curr;
    _T4 = (void * *)_T3;
    _T5 = _check_null(_T4);
    _T6 = i;
    _T7 = _T5[_T6];
    f(_T7);
    i = i + 1;
    goto _TL74;
    _TL73: ;
  }
}
Beispiel #15
0
struct Cyc_Set_Set*Cyc_Set_intersect(struct Cyc_Set_Set*s1,struct Cyc_Set_Set*s2){struct Cyc_Set_Set*_T0;struct Cyc_Set_Set*_T1;struct Cyc_Set_Set*_T2;struct Cyc_Set_Set*_T3;struct Cyc_Set_Set*_T4;struct Cyc_Set_Set*_T5;struct Cyc_List_List*_T6;void*_T7;struct Cyc_List_List*_T8;void*_T9;struct Cyc_List_List*_TA;struct Cyc_List_List*_TB;struct Cyc_List_List*_TC;struct Cyc_List_List*_TD;struct Cyc_List_List*_TE;struct Cyc_List_List*_TF;struct Cyc_List_List*_T10;struct Cyc_List_List*_T11;struct Cyc_List_List*_T12;struct Cyc_List_List*_T13;struct Cyc_Set_Set*_T14;
if(s1!=s2)goto _TL54;_T0=s1;
return _T0;_TL54: _T1=s1;{
int(*comp)(void*,void*)=_T1->cmp;_T2=s1;{
struct Cyc_List_List*x1=_T2->nodes;_T3=s2;{
struct Cyc_List_List*x2=_T3->nodes;
struct Cyc_List_List*result=0;struct Cyc_List_List*prev=0;
int card=0;
if(x1!=0)goto _TL56;_T4=s1;
return _T4;_TL56:
 if(x2!=0)goto _TL58;_T5=s2;
return _T5;_TL58:
# 295
 _TL5A: if(x1!=0)goto _TL5D;else{goto _TL5C;}_TL5D: if(x2!=0)goto _TL5B;else{goto _TL5C;}
_TL5B: _T6=x1;_T7=_T6->hd;_T8=x2;_T9=_T8->hd;{int i=comp(_T7,_T9);
if(i!=0)goto _TL5E;
if(result!=0)goto _TL60;{struct Cyc_List_List*_T15=_cycalloc(sizeof(struct Cyc_List_List));_TB=x1;
_T15->hd=_TB->hd;_T15->tl=0;_TA=(struct Cyc_List_List*)_T15;}result=_TA;
prev=result;goto _TL61;
# 302
_TL60: _TC=_check_null(prev);{struct Cyc_List_List*_T15=_cycalloc(sizeof(struct Cyc_List_List));_TE=x1;_T15->hd=_TE->hd;_T15->tl=0;_TD=(struct Cyc_List_List*)_T15;}_TC->tl=_TD;_TF=prev;
prev=_TF->tl;_TL61:
# 305
 card=card + 1;_T10=x1;
x1=_T10->tl;_T11=x2;
x2=_T11->tl;goto _TL5F;
_TL5E: if(i >= 0)goto _TL62;_T12=x1;
x1=_T12->tl;goto _TL63;
# 311
_TL62: _T13=x2;x2=_T13->tl;_TL63: _TL5F:;}goto _TL5A;_TL5C:{struct Cyc_Set_Set*_T15=_cycalloc(sizeof(struct Cyc_Set_Set));
# 314
_T15->cmp=comp;_T15->cardinality=card;_T15->nodes=result;_T14=(struct Cyc_Set_Set*)_T15;}return _T14;}}}}
Beispiel #16
0
long Cyc_Array_mem(int (* compare)(void *,void *),struct _fat_ptr l,void * x) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  struct _fat_ptr _T2;
  unsigned char * _T3;
  void * * _T4;
  void * * _T5;
  int _T6;
  void * _T7;
  void * _T8;
  int _T9;
  _T0 = l;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int s = (int)_T1;
    { int i = 0;
      _TLD9: if (i < s) { goto _TLD7;
      }else { goto _TLD8;
      }
      _TLD7: _T2 = l;
      _T3 = _T2.curr;
      _T4 = (void * *)_T3;
      _T5 = _check_null(_T4);
      _T6 = i;
      _T7 = _T5[_T6];
      _T8 = x;
      _T9 = compare(_T7,_T8);
      if (0 != _T9) { goto _TLDA;
      }
      return 1;
      _TLDA: i = i + 1;
      goto _TLD9;
      _TLD8: ;
    }return 0;
  }
}
Beispiel #17
0
void * Cyc_Array_fold_left(void * (* f)(void *,void *),void * accum,struct _fat_ptr x) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  void * _T2;
  struct _fat_ptr _T3;
  unsigned char * _T4;
  void * * _T5;
  void * * _T6;
  int _T7;
  void * _T8;
  void * _T9;
  _T0 = x;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int sx = (int)_T1;
    { int i = 0;
      _TL94: if (i < sx) { goto _TL92;
      }else { goto _TL93;
      }
      _TL92: _T2 = accum;
      _T3 = x;
      _T4 = _T3.curr;
      _T5 = (void * *)_T4;
      _T6 = _check_null(_T5);
      _T7 = i;
      _T8 = _T6[_T7];
      accum = f(_T2,_T8);
      i = i + 1;
      goto _TL94;
      _TL93: ;
    }_T9 = accum;
    return _T9;
  }
}
Beispiel #18
0
void Cyc_Queue_remove(struct Cyc_Queue_Queue * q,void * v) {
  struct Cyc_Queue_Queue * _T0;
  struct Cyc_List_List * _T1;
  void * _T2;
  void * _T3;
  struct Cyc_Queue_Queue * _T4;
  struct Cyc_Queue_Queue * _T5;
  struct Cyc_List_List * _T6;
  struct Cyc_List_List * _T7;
  struct Cyc_Queue_Queue * _T8;
  struct Cyc_List_List * _T9;
  struct Cyc_List_List * _TA;
  struct Cyc_List_List * _TB;
  struct Cyc_Queue_Queue * _TC;
  struct Cyc_List_List * _TD;
  struct Cyc_List_List * _TE;
  struct Cyc_Queue_Queue * _TF;
  struct Cyc_List_List * _T10;
  struct Cyc_List_List * x;
  struct Cyc_List_List * y;
  _T0 = q;
  x = _T0->front;
  y = 0;
  _TL11: if (x != 0) { goto _TLF;
  }else { goto _TL10;
  }
  _TLF: _T1 = x;
  _T2 = _T1->hd;
  _T3 = v;
  if (_T2 != _T3) { goto _TL12;
  }
  _T4 = q;
  _T4->len = _T4->len + -1;
  _T5 = q;
  _T6 = _T5->front;
  _T7 = x;
  if (_T6 != _T7) { goto _TL14;
  }
  _T8 = q;
  _T9 = x;
  _T8->front = _T9->tl;
  goto _TL15;
  _TL14: _TA = _check_null(y);
  _TB = x;
  _TA->tl = _TB->tl;
  _TL15: _TC = q;
  _TD = _TC->rear;
  _TE = x;
  if (_TD != _TE) { goto _TL16;
  }
  _TF = q;
  _TF->rear = y;
  goto _TL17;
  _TL16: _TL17: goto _TL10;
  _TL12: y = x;
  _T10 = x;
  x = _T10->tl;
  goto _TL11;
  _TL10: ;
}
Beispiel #19
0
long Cyc_Array_memq(struct _fat_ptr l,void * x) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  struct _fat_ptr _T2;
  unsigned char * _T3;
  void * * _T4;
  void * * _T5;
  int _T6;
  void * _T7;
  void * _T8;
  _T0 = l;
  _T1 = _get_fat_size(_T0,sizeof(void *));
  { int s = (int)_T1;
    { int i = 0;
      _TLD3: if (i < s) { goto _TLD1;
      }else { goto _TLD2;
      }
      _TLD1: _T2 = l;
      _T3 = _T2.curr;
      _T4 = (void * *)_T3;
      _T5 = _check_null(_T4);
      _T6 = i;
      _T7 = _T5[_T6];
      _T8 = x;
      if (_T7 != _T8) { goto _TLD4;
      }
      return 1;
      _TLD4: i = i + 1;
      goto _TLD3;
      _TLD2: ;
    }return 0;
  }
}
Beispiel #20
0
static struct Cyc_List_List*Cyc_Set_insert_b(struct _RegionHandle*rgn,int(*cmp)(void*,void*),struct Cyc_List_List*n,void*elt){struct Cyc_List_List*_T0;struct _RegionHandle*_T1;void*_T2;struct Cyc_List_List*_T3;void*_T4;struct Cyc_List_List*_T5;struct _RegionHandle*_T6;struct _RegionHandle*_T7;struct Cyc_List_List*_T8;struct Cyc_List_List*_T9;struct Cyc_List_List*_TA;struct Cyc_List_List*_TB;struct Cyc_List_List*_TC;void*_TD;void*_TE;int _TF;struct Cyc_List_List*_T10;struct Cyc_List_List*_T11;struct _RegionHandle*_T12;struct Cyc_List_List*_T13;struct Cyc_List_List*_T14;struct Cyc_List_List*_T15;struct Cyc_List_List*_T16;struct Cyc_List_List*_T17;struct _RegionHandle*_T18;struct Cyc_List_List*_T19;
# 77
if(n!=0)goto _TL8;_T1=rgn;{struct Cyc_List_List*_T1A=_region_malloc(_T1,0U,sizeof(struct Cyc_List_List));
_T1A->hd=elt;_T1A->tl=0;_T0=(struct Cyc_List_List*)_T1A;}return _T0;_TL8: _T2=elt;_T3=n;_T4=_T3->hd;{
int i=cmp(_T2,_T4);
if(i >= 0)goto _TLA;_T6=rgn;{struct Cyc_List_List*_T1A=_region_malloc(_T6,0U,sizeof(struct Cyc_List_List));
_T1A->hd=elt;_T1A->tl=n;_T5=(struct Cyc_List_List*)_T1A;}return _T5;_TLA: {
struct Cyc_List_List*result;_T7=rgn;result=_region_malloc(_T7,0U,sizeof(struct Cyc_List_List));_T8=result;_T9=n;_T8->hd=_T9->hd;_TA=result;_TA->tl=0;{
struct Cyc_List_List*prev=result;_TB=n;
n=_TB->tl;
_TLC: if(n!=0)goto _TLF;else{goto _TLE;}_TLF: _TC=n;_TD=_TC->hd;_TE=elt;i=cmp(_TD,_TE);_TF=i;if(_TF < 0)goto _TLD;else{goto _TLE;}
_TLD: _T10=_check_null(prev);_T12=rgn;{struct Cyc_List_List*_T1A=_region_malloc(_T12,0U,sizeof(struct Cyc_List_List));_T13=n;_T1A->hd=_T13->hd;_T1A->tl=0;_T11=(struct Cyc_List_List*)_T1A;}_T10->tl=_T11;_T14=prev;
prev=_T14->tl;_T15=n;
n=_T15->tl;goto _TLC;_TLE: _T16=
# 90
_check_null(prev);_T18=rgn;{struct Cyc_List_List*_T1A=_region_malloc(_T18,0U,sizeof(struct Cyc_List_List));_T1A->hd=elt;_T1A->tl=n;_T17=(struct Cyc_List_List*)_T1A;}_T16->tl=_T17;_T19=result;
return _T19;}}}}
Beispiel #21
0
static void*Cyc_RenameTemps_local_temp_var(int i){void**_T0;int _T1;char*_T2;void**_T3;void*_T4;void**_T5;int _T6;struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*_T7;struct _tuple0*_T8;struct _fat_ptr*_T9;struct _fat_ptr _TA;struct Cyc_Int_pa_PrintArg_struct _TB;int _TC;struct _fat_ptr _TD;struct _fat_ptr _TE;void**_TF;int _T10;void*_T11;void*_T12;struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*_T13;struct _tuple0*_T14;struct _fat_ptr*_T15;struct _fat_ptr _T16;struct Cyc_Int_pa_PrintArg_struct _T17;int _T18;struct _fat_ptr _T19;struct _fat_ptr _T1A;void*_T1B;
static void*memo_arr[256U]={};
if(i >= 256)goto _TL2;_T0=memo_arr;_T1=i;_T2=_check_known_subscript_notnull(_T0,256U,sizeof(void*),_T1);_T3=(void**)_T2;_T4=*_T3;
if(_T4!=0)goto _TL4;_T5=memo_arr;_T6=i;{struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*_T1C=_cycalloc(sizeof(struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct));_T1C->tag=0;{struct _tuple0*_T1D=_cycalloc(sizeof(struct _tuple0));
_T1D->f0=Cyc_Absyn_Loc_n();{struct _fat_ptr*_T1E=_cycalloc(sizeof(struct _fat_ptr));{struct Cyc_Int_pa_PrintArg_struct _T1F;_T1F.tag=1;_TC=i;_T1F.f1=(unsigned)_TC;_TB=_T1F;}{struct Cyc_Int_pa_PrintArg_struct _T1F=_TB;void*_T20[1];_T20[0]=& _T1F;_TD=_tag_fat("_T%X",sizeof(char),5U);_TE=_tag_fat(_T20,sizeof(void*),1);_TA=Cyc_aprintf(_TD,_TE);}*_T1E=_TA;_T9=(struct _fat_ptr*)_T1E;}_T1D->f1=_T9;_T8=(struct _tuple0*)_T1D;}_T1C->f1=_T8;_T7=(struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*)_T1C;}_T5[_T6]=(void*)_T7;goto _TL5;_TL4: _TL5: _TF=memo_arr;_T10=i;_T11=_TF[_T10];_T12=
_check_null(_T11);return _T12;_TL2:{struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*_T1C=_cycalloc(sizeof(struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct));_T1C->tag=0;{struct _tuple0*_T1D=_cycalloc(sizeof(struct _tuple0));
# 51
_T1D->f0=Cyc_Absyn_Loc_n();{struct _fat_ptr*_T1E=_cycalloc(sizeof(struct _fat_ptr));{struct Cyc_Int_pa_PrintArg_struct _T1F;_T1F.tag=1;_T18=i;_T1F.f1=(unsigned)_T18;_T17=_T1F;}{struct Cyc_Int_pa_PrintArg_struct _T1F=_T17;void*_T20[1];_T20[0]=& _T1F;_T19=_tag_fat("_T%X",sizeof(char),5U);_T1A=_tag_fat(_T20,sizeof(void*),1);_T16=Cyc_aprintf(_T19,_T1A);}*_T1E=_T16;_T15=(struct _fat_ptr*)_T1E;}_T1D->f1=_T15;_T14=(struct _tuple0*)_T1D;}_T1C->f1=_T14;_T13=(struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*)_T1C;}_T1B=(void*)_T13;return _T1B;}
Beispiel #22
0
int Cyc_XP_fromstr(int n,struct _fat_ptr z,const char*str,int base){const char*_T0;unsigned _T1;int(*_T2)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_T3)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _T4;struct _fat_ptr _T5;int(*_T6)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_T7)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _T8;struct _fat_ptr _T9;const char*_TA;char _TB;int _TC;const char*_TD;char _TE;int _TF;int _T10;const char*_T11;int _T12;const char*_T13;char _T14;int _T15;const char*_T16;char _T17;int _T18;int _T19;char*_T1A;const char*_T1B;char _T1C;int _T1D;int _T1E;char*_T1F;char*_T20;char _T21;int _T22;int _T23;const char*_T24;char _T25;int _T26;const char*_T27;char _T28;int _T29;int _T2A;char*_T2B;const char*_T2C;char _T2D;int _T2E;int _T2F;char*_T30;char*_T31;char _T32;int _T33;int _T34;int _T35;int _T36;struct _fat_ptr _T37;struct _fat_ptr _T38;char*_T39;const char*_T3A;char _T3B;int _T3C;int _T3D;char*_T3E;char*_T3F;char _T40;int _T41;const char*_T42;int _T43;int _T44;
# 249
const char*p=str;_T0=p;_T1=(unsigned)_T0;
if(!_T1)goto _TL97;goto _TL98;_TL97: _T3=Cyc___assert_fail;{int(*_T45)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_T3;_T2=_T45;}_T4=_tag_fat("p",sizeof(char),2U);_T5=_tag_fat("xp.cyc",sizeof(char),7U);_T2(_T4,_T5,250U);_TL98:
 if(base < 2)goto _TL99;if(base > 36)goto _TL99;goto _TL9A;_TL99: _T7=Cyc___assert_fail;{int(*_T45)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_T7;_T6=_T45;}_T8=_tag_fat("base >= 2 && base <= 36",sizeof(char),24U);_T9=_tag_fat("xp.cyc",sizeof(char),7U);_T6(_T8,_T9,251U);_TL9A:
 _TL9B: _TA=_check_null(p);_TB=*_TA;_TC=(int)_TB;if(_TC)goto _TL9E;else{goto _TL9D;}_TL9E: _TD=p;_TE=*_TD;_TF=(int)_TE;_T10=isspace(_TF);if(_T10)goto _TL9C;else{goto _TL9D;}
_TL9C:{const char**_T45=& p;_T11=*_T45;_T12=*_T11;if(_T12==0)goto _TL9F;*_T45=*_T45 + 1;goto _TLA0;_TL9F: _throw_arraybounds();_TLA0:;}goto _TL9B;_TL9D: _T13=p;_T14=*_T13;_T15=(int)_T14;
if(!_T15)goto _TLA1;_T16=p;_T17=*_T16;_T18=(int)_T17;_T19=isalnum(_T18);if(!_T19)goto _TLA1;_T1A=Cyc_map;_T1B=p;_T1C=*_T1B;_T1D=(int)_T1C;_T1E=_T1D - 48;_T1F=_check_known_subscript_notnull(_T1A,75U,sizeof(char),_T1E);_T20=(char*)_T1F;_T21=*_T20;_T22=(int)_T21;_T23=base;if(_T22 >= _T23)goto _TLA1;{
int carry;
_TLA6: _T24=_check_null(p);_T25=*_T24;_T26=(int)_T25;if(_T26)goto _TLA8;else{goto _TLA5;}_TLA8: _T27=p;_T28=*_T27;_T29=(int)_T28;_T2A=isalnum(_T29);if(_T2A)goto _TLA7;else{goto _TLA5;}_TLA7: _T2B=Cyc_map;_T2C=p;_T2D=*_T2C;_T2E=(int)_T2D;_T2F=_T2E - 48;_T30=_check_known_subscript_notnull(_T2B,75U,sizeof(char),_T2F);_T31=(char*)_T30;_T32=*_T31;_T33=(int)_T32;_T34=base;if(_T33 < _T34)goto _TLA4;else{goto _TLA5;}
_TLA4: carry=Cyc_XP_product(n,z,z,base);_T35=carry;
if(!_T35)goto _TLA9;goto _TLA5;_TLA9: _T36=n;_T37=z;_T38=z;_T39=Cyc_map;_T3A=p;_T3B=*_T3A;_T3C=(int)_T3B;_T3D=_T3C - 48;_T3E=_check_known_subscript_notnull(_T39,75U,sizeof(char),_T3D);_T3F=(char*)_T3E;_T40=*_T3F;_T41=(int)_T40;
# 260
Cyc_XP_sum(_T36,_T37,_T38,_T41);{const char**_T45=& p;_T42=*_T45;_T43=*_T42;if(_T43==0)goto _TLAB;*_T45=*_T45 + 1;goto _TLAC;_TLAB: _throw_arraybounds();_TLAC:;}goto _TLA6;_TLA5: _T44=carry;
# 262
return _T44;}
# 264
_TLA1: return 0;}
Beispiel #23
0
struct Cyc_Set_Set*Cyc_Set_from_list(int(*comp)(void*,void*),struct Cyc_List_List*x){int(*_T0)(void*,void*);struct Cyc_List_List*_T1;struct Cyc_List_List*_T2;struct Cyc_List_List*_T3;struct Cyc_List_List*_T4;void*_T5;struct Cyc_List_List*_T6;struct Cyc_List_List*_T7;void*_T8;int _T9;struct Cyc_List_List*_TA;struct Cyc_List_List*_TB;struct Cyc_List_List*_TC;struct Cyc_List_List*_TD;struct Cyc_List_List*_TE;struct Cyc_Set_Set*_TF;_T0=comp;_T1=x;{
struct Cyc_List_List*z=Cyc_List_merge_sort(_T0,_T1);{
# 320
struct Cyc_List_List*y=z;_TL67: if(y!=0)goto _TL65;else{goto _TL66;}
_TL65: _T2=y;_T3=_T2->tl;if(_T3==0)goto _TL68;_T4=y;_T5=_T4->hd;_T6=y;_T7=_T6->tl;_T8=_T7->hd;_T9=comp(_T5,_T8);if(_T9!=0)goto _TL68;_TA=y;_TB=y;_TC=_TB->tl;_TD=
_check_null(_TC);_TA->tl=_TD->tl;goto _TL69;_TL68: _TL69: _TE=y;
# 320
y=_TE->tl;goto _TL67;_TL66:;}{struct Cyc_Set_Set*_T10=_cycalloc(sizeof(struct Cyc_Set_Set));
# 323
_T10->cmp=comp;_T10->cardinality=Cyc_List_length(z);_T10->nodes=z;_TF=(struct Cyc_Set_Set*)_T10;}return _TF;}}
Beispiel #24
0
int Cyc_Hashtable_hash_string(struct _fat_ptr s) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  unsigned int _T2;
  int _T3;
  unsigned int _T4;
  int _T5;
  struct _fat_ptr _T6;
  unsigned char * _T7;
  const char * _T8;
  const char * _T9;
  unsigned int _TA;
  int _TB;
  char _TC;
  int _TD;
  char _TE;
  int _TF;
  int _T10;
  int ans = 0;
  _T0 = s;
  _T1 = _get_fat_size(_T0,sizeof(char));
  { int sz = (int)_T1;
    int shift = 0;
    { unsigned int i = 0U;
      _TL2D: _T2 = i;
      _T3 = sz;
      _T4 = (unsigned int)_T3;
      if (_T2 < _T4) { goto _TL2B;
      }else { goto _TL2C;
      }
      _TL2B: _T5 = ans;
      _T6 = s;
      _T7 = _T6.curr;
      _T8 = (const char *)_T7;
      _T9 = _check_null(_T8);
      _TA = i;
      _TB = (int)_TA;
      _TC = _T9[_TB];
      _TD = shift;
      _TE = _TC << _TD;
      _TF = (int)_TE;
      ans = _T5 ^ _TF;
      shift = shift + 8;
      if (shift != 32) { goto _TL2E;
      }
      shift = 0;
      goto _TL2F;
      _TL2E: _TL2F: i = i + 1;
      goto _TL2D;
      _TL2C: ;
    }_T10 = ans;
    return _T10;
  }
}
Beispiel #25
0
struct Cyc_APQ_T*Cyc_reduce(struct Cyc_APQ_T*q){struct Cyc_APQ_T*_T0;struct Cyc_AP_T*_T1;struct Cyc_AP_T*_T2;int _T3;struct Cyc_APQ_T*_T4;struct Cyc_APQ_T*_T5;struct Cyc_AP_T*_T6;struct Cyc_APQ_T*_T7;struct Cyc_APQ_T*_T8;struct Cyc_AP_T*_T9;struct Cyc_APQ_T*_TA;struct Cyc_AP_T*_TB;struct Cyc_AP_T*_TC;struct Cyc_APQ_T*_TD;struct Cyc_AP_T*_TE;int _TF;struct Cyc_APQ_T*_T10;void*_T11;struct Cyc_APQ_T*_T12;struct Cyc_APQ_T*_T13;struct Cyc_AP_T*_T14;struct Cyc_AP_T*_T15;struct Cyc_APQ_T*_T16;struct Cyc_APQ_T*_T17;struct Cyc_AP_T*_T18;struct Cyc_AP_T*_T19;struct Cyc_APQ_T*_T1A;_T0=
_check_null(q);_T1=_T0->d;_T2=Cyc_AP_zero;_T3=Cyc_AP_cmp(_T1,_T2);if(_T3 >= 0)goto _TL0;_T4=q;_T5=q;_T6=_T5->d;
_T4->d=Cyc_AP_neg(_T6);_T7=q;_T8=q;_T9=_T8->n;
_T7->n=Cyc_AP_neg(_T9);goto _TL1;_TL0: _TL1: _TA=q;_TB=_TA->n;_TC=
# 18
Cyc_AP_abs(_TB);_TD=q;_TE=_TD->d;{struct Cyc_AP_T*gcd=Cyc_AP_gcd(_TC,_TE);_TF=
Cyc_AP_cmp(gcd,Cyc_AP_one);if(_TF!=0)goto _TL2;_T10=q;
return _T10;_TL2: _T11=_cycalloc(sizeof(struct Cyc_APQ_T));{
struct Cyc_APQ_T*newq=(struct Cyc_APQ_T*)_T11;_T12=newq;_T13=q;_T14=_T13->n;_T15=gcd;
_T12->n=Cyc_AP_div(_T14,_T15);_T16=newq;_T17=q;_T18=_T17->d;_T19=gcd;
_T16->d=Cyc_AP_div(_T18,_T19);_T1A=newq;
return _T1A;}}}
Beispiel #26
0
void Cyc_Hashtable_iter_c(void (* f)(void *,void *,void *),struct Cyc_Hashtable_Table * t,
			  void * env) {
  struct Cyc_Hashtable_Table * _T0;
  struct _fat_ptr _T1;
  struct _fat_ptr _T2;
  unsigned char * _T3;
  struct Cyc_Hashtable_Bucket * _T4;
  struct Cyc_Hashtable_Bucket * _T5;
  unsigned int _T6;
  int _T7;
  struct Cyc_Hashtable_Bucket _T8;
  struct Cyc_Hashtable_Cell * _T9;
  void * _TA;
  struct Cyc_Hashtable_Cell * _TB;
  void * _TC;
  void * _TD;
  struct Cyc_Hashtable_Cell * _TE;
  _T0 = t;
  { struct _fat_ptr odata = _T0->tab;
    _T1 = odata;
    { unsigned int osize = _get_fat_size(_T1,sizeof(struct Cyc_Hashtable_Bucket));
      unsigned int i = 0U;
      _TL4E: if (i < osize) { goto _TL4C;
      }else { goto _TL4D;
      }
      _TL4C: _T2 = odata;
      _T3 = _T2.curr;
      _T4 = (struct Cyc_Hashtable_Bucket *)_T3;
      _T5 = _check_null(_T4);
      _T6 = i;
      _T7 = (int)_T6;
      _T8 = _T5[_T7];
      { struct Cyc_Hashtable_Cell * iter = _T8.cells;
	_TL52: if (iter != 0) { goto _TL50;
	}else { goto _TL51;
	}
	_TL50: _T9 = iter;
	_TA = _T9->key;
	_TB = iter;
	_TC = _TB->value;
	_TD = env;
	f(_TA,_TC,_TD);
	_TE = iter;
	iter = _TE->next;
	goto _TL52;
	_TL51: ;
      }i = i + 1;
      goto _TL4E;
      _TL4D: ;
    }
  }
}
Beispiel #27
0
struct _fat_ptr Cyc_Filename_chop_extension(struct _fat_ptr filename) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  unsigned int _T2;
  struct _fat_ptr _T3;
  unsigned char * _T4;
  const char * _T5;
  const char * _T6;
  int _T7;
  char _T8;
  int _T9;
  struct Cyc_Core_Invalid_argument_exn_struct * _TA;
  void * _TB;
  struct _fat_ptr _TC;
  int _TD;
  unsigned long _TE;
  struct _fat_ptr _TF;
  _T0 = filename;
  _T1 = _get_fat_size(_T0,sizeof(char));
  _T2 = _T1 - 1U;
  { int i = (int)_T2;
    _TL0: if (i >= 0) { goto _TL3;
    }else { goto _TL2;
    }
    _TL3: _T3 = filename;
    _T4 = _T3.curr;
    _T5 = (const char *)_T4;
    _T6 = _check_null(_T5);
    _T7 = i;
    _T8 = _T6[_T7];
    _T9 = (int)_T8;
    if (_T9 != 46) { goto _TL1;
    }else { goto _TL2;
    }
    _TL1: i = i + -1;
    goto _TL0;
    _TL2: if (i >= 0) { goto _TL4;
    }
    { struct Cyc_Core_Invalid_argument_exn_struct * _T10 = _cycalloc(sizeof(struct Cyc_Core_Invalid_argument_exn_struct));
      _T10->tag = Cyc_Core_Invalid_argument;
      _T10->f1 = _tag_fat("chop_extension",sizeof(char),15U);
      _TA = (struct Cyc_Core_Invalid_argument_exn_struct *)_T10;
    }_TB = (void *)_TA;
    _throw(_TB);
    goto _TL5;
    _TL4: _TL5: _TC = filename;
    _TD = i;
    _TE = (unsigned long)_TD;
    _TF = Cyc_substring(_TC,0,_TE);
    return _TF;
  }
}
Beispiel #28
0
void * Cyc_Queue_noalias_take(struct Cyc_Queue_Queue * q,void * null_elem) {
  struct Cyc_Queue_Queue * _T0;
  struct Cyc_List_List * _T1;
  struct Cyc_Queue_Empty_exn_struct * _T2;
  struct Cyc_Queue_Empty_exn_struct * _T3;
  struct Cyc_Queue_Queue * _T4;
  struct Cyc_List_List * _T5;
  struct Cyc_Queue_Queue * _T6;
  struct Cyc_List_List * _T7;
  struct Cyc_Queue_Queue * _T8;
  struct Cyc_Queue_Queue * _T9;
  struct Cyc_List_List * _TA;
  struct Cyc_List_List * _TB;
  struct Cyc_Queue_Queue * _TC;
  struct Cyc_List_List * _TD;
  struct Cyc_Queue_Queue * _TE;
  struct Cyc_Queue_Queue * _TF;
  void * _T10;
  _T0 = q;
  _T1 = _T0->front;
  if (_T1 != 0) { goto _TL8;
  }
  _T2 = &Cyc_Queue_Empty_val;
  _T3 = (struct Cyc_Queue_Empty_exn_struct *)_T2;
  _throw(_T3);
  goto _TL9;
  _TL8: _TL9: { void * _T11 = null_elem;
    _T4 = q;
    _T5 = _T4->front;
    { void * _T12 = _T5->hd;
      null_elem = _T12;
      _T6 = q;
      _T7 = _T6->front;
      _T7->hd = _T11;
    }
  }_T8 = q;
  _T9 = q;
  _TA = _T9->front;
  _TB = _check_null(_TA);
  _T8->front = _TB->tl;
  _TC = q;
  _TD = _TC->front;
  if (_TD != 0) { goto _TLA;
  }
  _TE = q;
  _TE->rear = 0;
  goto _TLB;
  _TLA: _TLB: _TF = q;
  _TF->len = _TF->len + -1;
  _T10 = null_elem;
  return _T10;
}
Beispiel #29
0
struct _fat_ptr Cyc_Filename_basename(struct _fat_ptr filename) {
  struct _fat_ptr _T0;
  unsigned int _T1;
  unsigned int _T2;
  struct _fat_ptr _T3;
  unsigned char * _T4;
  const char * _T5;
  const char * _T6;
  int _T7;
  char _T8;
  int _T9;
  struct _fat_ptr _TA;
  int _TB;
  struct _fat_ptr _TC;
  unsigned int _TD;
  int _TE;
  unsigned int _TF;
  unsigned int _T10;
  struct _fat_ptr _T11;
  _T0 = filename;
  _T1 = _get_fat_size(_T0,sizeof(char));
  _T2 = _T1 - 1U;
  { int i = (int)_T2;
    _TLC: if (i >= 0) { goto _TLF;
    }else { goto _TLE;
    }
    _TLF: _T3 = filename;
    _T4 = _T3.curr;
    _T5 = (const char *)_T4;
    _T6 = _check_null(_T5);
    _T7 = i;
    _T8 = _T6[_T7];
    _T9 = (int)_T8;
    if (_T9 != 47) { goto _TLD;
    }else { goto _TLE;
    }
    _TLD: i = i + -1;
    goto _TLC;
    _TLE: _TA = filename;
    _TB = i + 1;
    _TC = filename;
    _TD = _get_fat_size(_TC,sizeof(char));
    _TE = i + 1;
    _TF = (unsigned int)_TE;
    _T10 = _TD - _TF;
    _T11 = Cyc_substring(_TA,_TB,_T10);
    return _T11;
  }
}
Beispiel #30
0
void Cyc_Hashtable_iter(void (* f)(void *,void *),struct Cyc_Hashtable_Table * t) {
  struct Cyc_Hashtable_Table * _T0;
  struct _fat_ptr _T1;
  struct _fat_ptr _T2;
  unsigned char * _T3;
  struct Cyc_Hashtable_Bucket * _T4;
  struct Cyc_Hashtable_Bucket * _T5;
  unsigned int _T6;
  int _T7;
  struct Cyc_Hashtable_Bucket _T8;
  struct Cyc_Hashtable_Cell * _T9;
  void * _TA;
  struct Cyc_Hashtable_Cell * _TB;
  void * _TC;
  struct Cyc_Hashtable_Cell * _TD;
  _T0 = t;
  { struct _fat_ptr odata = _T0->tab;
    _T1 = odata;
    { unsigned int osize = _get_fat_size(_T1,sizeof(struct Cyc_Hashtable_Bucket));
      unsigned int i = 0U;
      _TL46: if (i < osize) { goto _TL44;
      }else { goto _TL45;
      }
      _TL44: _T2 = odata;
      _T3 = _T2.curr;
      _T4 = (struct Cyc_Hashtable_Bucket *)_T3;
      _T5 = _check_null(_T4);
      _T6 = i;
      _T7 = (int)_T6;
      _T8 = _T5[_T7];
      { struct Cyc_Hashtable_Cell * iter = _T8.cells;
	_TL4A: if (iter != 0) { goto _TL48;
	}else { goto _TL49;
	}
	_TL48: _T9 = iter;
	_TA = _T9->key;
	_TB = iter;
	_TC = _TB->value;
	f(_TA,_TC);
	_TD = iter;
	iter = _TD->next;
	goto _TL4A;
	_TL49: ;
      }i = i + 1;
      goto _TL46;
      _TL45: ;
    }
  }
}