Beispiel #1
0
static int Cyc_RenameTemps_rename_visit_f2(struct Cyc_RenameTemps_Env*env,struct Cyc_Absyn_Stmt*s){struct Cyc_Absyn_Stmt*_T0;int*_T1;unsigned _T2;struct Cyc_RenameTemps_Env*_T3;struct Cyc_Absyn_Decl*_T4;int*_T5;unsigned _T6;struct Cyc_Absyn_Vardecl*_T7;struct _tuple0*_T8;int _T9;struct Cyc_RenameTemps_Env*_TA;int _TB;int _TC;struct Cyc_RenameTemps_Env*_TD;struct Cyc_Dict_Dict(*_TE)(struct Cyc_Dict_Dict,struct _tuple0*,void*);struct Cyc_Dict_Dict(*_TF)(struct Cyc_Dict_Dict,void*,void*);struct Cyc_RenameTemps_Env*_T10;struct Cyc_Dict_Dict _T11;struct Cyc_Absyn_Vardecl*_T12;struct _tuple0*_T13;void*_T14;struct Cyc_Absyn_Vardecl*_T15;struct Cyc_Absyn_Decl*_T16;struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*_T17;struct Cyc_Absyn_Vardecl*_T18;struct Cyc_Absyn_Vardecl*_T19;struct Cyc_Absyn_Exp*_T1A;unsigned _T1B;struct Cyc_RenameTemps_Env*_T1C;struct Cyc_Absyn_Vardecl*_T1D;struct Cyc_Absyn_Exp*_T1E;struct Cyc_RenameTemps_Env*_T1F;struct Cyc_Absyn_Fndecl*_T20;struct Cyc_Absyn_Stmt*_T21;struct Cyc_Warn_String_Warn_Warg_struct _T22;int(*_T23)(struct _fat_ptr);void*(*_T24)(struct _fat_ptr);struct _fat_ptr _T25;struct Cyc_Absyn_Stmt*_T26;int*_T27;int _T28;void(*_T29)(int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Exp*),int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*),struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*);void(*_T2A)(int(*)(void*,struct Cyc_Absyn_Exp*),int(*)(void*,struct Cyc_Absyn_Stmt*),void*,struct Cyc_Absyn_Stmt*);struct Cyc_RenameTemps_Env*_T2B;struct Cyc_Absyn_Stmt*_T2C;struct Cyc_RenameTemps_Env*_T2D;struct Cyc_Absyn_Stmt*_T2E;int*_T2F;unsigned _T30;_T0=s;{
void*_T31=_T0->r;struct Cyc_Absyn_Stmt*_T32;struct Cyc_Absyn_Stmt*_T33;struct Cyc_Absyn_Decl*_T34;_T1=(int*)_T31;_T2=*_T1;switch(_T2){case 12:{struct Cyc_Absyn_Decl_s_Absyn_Raw_stmt_struct*_T35=(struct Cyc_Absyn_Decl_s_Absyn_Raw_stmt_struct*)_T31;_T34=_T35->f1;_T33=_T35->f2;}{struct Cyc_Absyn_Decl*d=_T34;struct Cyc_Absyn_Stmt*s1=_T33;_T3=env;{
# 80
struct Cyc_RenameTemps_Env old_env=*_T3;
_TL10: if(1)goto _TL11;else{goto _TL12;}
_TL11: _T4=d;{void*_T35=_T4->r;struct Cyc_Absyn_Fndecl*_T36;struct Cyc_Absyn_Vardecl*_T37;_T5=(int*)_T35;_T6=*_T5;switch(_T6){case 0:{struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*_T38=(struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*)_T35;_T37=_T38->f1;}{struct Cyc_Absyn_Vardecl*vd=_T37;_T7=vd;_T8=_T7->name;_T9=
# 84
Cyc_RenameTemps_is_temp_var(_T8);if(!_T9)goto _TL14;_TA=env;_TB=_TA->next_num;
_TA->next_num=_TB + 1;_TC=_TB;{void*v=Cyc_RenameTemps_local_temp_var(_TC);_TD=env;_TF=Cyc_Dict_insert;{
struct Cyc_Dict_Dict(*_T38)(struct Cyc_Dict_Dict,struct _tuple0*,void*)=(struct Cyc_Dict_Dict(*)(struct Cyc_Dict_Dict,struct _tuple0*,void*))_TF;_TE=_T38;}_T10=env;_T11=_T10->d;_T12=vd;_T13=_T12->name;_T14=v;_TD->d=_TE(_T11,_T13,_T14);_T15=vd;{
struct Cyc_Absyn_Vardecl vd2=*_T15;
vd2.name=Cyc_Absyn_binding2qvar(v);_T16=d;{struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*_T38=_cycalloc(sizeof(struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct));_T38->tag=0;{struct Cyc_Absyn_Vardecl*_T39=_cycalloc(sizeof(struct Cyc_Absyn_Vardecl));
*_T39=vd2;_T18=(struct Cyc_Absyn_Vardecl*)_T39;}_T38->f1=_T18;_T17=(struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*)_T38;}_T16->r=(void*)_T17;}}goto _TL15;_TL14: _TL15: _T19=vd;_T1A=_T19->initializer;_T1B=(unsigned)_T1A;
# 92
if(!_T1B)goto _TL16;_T1C=env;_T1D=vd;_T1E=_T1D->initializer;
Cyc_RenameTemps_rename_exp(_T1C,_T1E);goto _TL17;_TL16: _TL17: goto _LL7;}case 1:{struct Cyc_Absyn_Fn_d_Absyn_Raw_decl_struct*_T38=(struct Cyc_Absyn_Fn_d_Absyn_Raw_decl_struct*)_T35;_T36=_T38->f1;}{struct Cyc_Absyn_Fndecl*fd=_T36;_T1F=env;_T20=fd;_T21=_T20->body;
# 97
Cyc_RenameTemps_rename_stmt(_T1F,_T21);goto _LL7;}default:{struct Cyc_Warn_String_Warn_Warg_struct _T38;_T38.tag=0;
_T38.f1=_tag_fat("RenameTemps: local decl not a var or function",sizeof(char),46U);_T22=_T38;}{struct Cyc_Warn_String_Warn_Warg_struct _T38=_T22;void*_T39[1];_T39[0]=& _T38;_T24=Cyc_Warn_impos2;{int(*_T3A)(struct _fat_ptr)=(int(*)(struct _fat_ptr))_T24;_T23=_T3A;}_T25=_tag_fat(_T39,sizeof(void*),1);_T23(_T25);}}_LL7:;}_T26=s1;{
# 100
void*_T35=_T26->r;struct Cyc_Absyn_Stmt*_T36;struct Cyc_Absyn_Decl*_T37;_T27=(int*)_T35;_T28=*_T27;if(_T28!=12)goto _TL18;{struct Cyc_Absyn_Decl_s_Absyn_Raw_stmt_struct*_T38=(struct Cyc_Absyn_Decl_s_Absyn_Raw_stmt_struct*)_T35;_T37=_T38->f1;_T36=_T38->f2;}{struct Cyc_Absyn_Decl*d2=_T37;struct Cyc_Absyn_Stmt*s2=_T36;
d=d2;s1=s2;goto _TL10;}_TL18: _T2A=Cyc_Absyn_visit_stmt;{
# 103
void(*_T38)(int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Exp*),int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*),struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*)=(void(*)(int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Exp*),int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*),struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*))_T2A;_T29=_T38;}_T2B=env;_T2C=s1;_T29(Cyc_RenameTemps_rename_visit_f1,Cyc_RenameTemps_rename_visit_f2,_T2B,_T2C);_T2D=env;
*_T2D=old_env;
return 0;;}goto _TL10;_TL12:;}}case 2:{struct Cyc_Absyn_Seq_s_Absyn_Raw_stmt_struct*_T35=(struct Cyc_Absyn_Seq_s_Absyn_Raw_stmt_struct*)_T31;_T33=_T35->f1;_T32=_T35->f2;}{struct Cyc_Absyn_Stmt*s1=_T33;struct Cyc_Absyn_Stmt*s2=_T32;
# 109
_TL1A: if(1)goto _TL1B;else{goto _TL1C;}
_TL1B: Cyc_RenameTemps_rename_stmt(env,s1);
LOOP2: _T2E=s2;{
void*_T35=_T2E->r;struct Cyc_Absyn_Stmt*_T36;struct Cyc_Absyn_Stmt*_T37;_T2F=(int*)_T35;_T30=*_T2F;switch(_T30){case 2:{struct Cyc_Absyn_Seq_s_Absyn_Raw_stmt_struct*_T38=(struct Cyc_Absyn_Seq_s_Absyn_Raw_stmt_struct*)_T35;_T37=_T38->f1;_T36=_T38->f2;}{struct Cyc_Absyn_Stmt*s3=_T37;struct Cyc_Absyn_Stmt*s4=_T36;
# 114
s1=s3;s2=s4;goto _TL1A;}case 13:{struct Cyc_Absyn_Label_s_Absyn_Raw_stmt_struct*_T38=(struct Cyc_Absyn_Label_s_Absyn_Raw_stmt_struct*)_T35;_T37=_T38->f2;}{struct Cyc_Absyn_Stmt*s3=_T37;
# 116
s2=s3;goto LOOP2;}default:
 Cyc_RenameTemps_rename_stmt(env,s2);return 0;};}goto _TL1A;_TL1C:;}default:
# 120
 return 1;};}}
Beispiel #2
0
void Cyc_Xarray_add(struct Cyc_Xarray_Xarray * xarr,void * a) {
  struct Cyc_Xarray_Xarray * _T0;
  int _T1;
  unsigned int _T2;
  struct Cyc_Xarray_Xarray * _T3;
  struct _fat_ptr _T4;
  unsigned int _T5;
  struct Cyc_Xarray_Xarray * _T6;
  int _T7;
  struct Cyc_Xarray_Xarray * _T8;
  void * * _T9;
  void * * _TA;
  unsigned int _TB;
  unsigned int _TC;
  unsigned int _TD;
  struct _fat_ptr _TE;
  struct Cyc_Xarray_Xarray * _TF;
  int _T10;
  int _T11;
  void * * _T12;
  unsigned int _T13;
  unsigned int _T14;
  unsigned int _T15;
  struct Cyc_Xarray_Xarray * _T16;
  struct _fat_ptr _T17;
  unsigned char * _T18;
  void * * _T19;
  void * * _T1A;
  int _T1B;
  struct Cyc_Xarray_Xarray * _T1C;
  int _T1D;
  struct _fat_ptr _T1E;
  int _T1F;
  unsigned char * _T20;
  void * * _T21;
  struct Cyc_Xarray_Xarray * _T22;
  struct _fat_ptr _T23;
  int _T24;
  unsigned char * _T25;
  void * * _T26;
  struct Cyc_Xarray_Xarray * _T27;
  struct Cyc_Xarray_Xarray * _T28;
  void (* _T29)(void * *);
  void (* _T2A)(void *);
  struct _fat_ptr _T2B;
  unsigned char * _T2C;
  void * * _T2D;
  struct Cyc_Xarray_Xarray * _T2E;
  struct _fat_ptr _T2F;
  struct Cyc_Xarray_Xarray * _T30;
  int _T31;
  int _T32;
  unsigned char * _T33;
  void * * _T34;
  _T0 = xarr;
  _T1 = _T0->num_elmts;
  _T2 = (unsigned int)_T1;
  _T3 = xarr;
  _T4 = _T3->elmts;
  _T5 = _get_fat_size(_T4,sizeof(void *));
  if (_T2 != _T5) { goto _TL10;
  }
  _T6 = xarr;
  _T7 = _T6->num_elmts;
  if (_T7 != 0) { goto _TL12;
  }
  _T8 = xarr;
  { unsigned int _T35 = 10U;
    _TB = Cyc_Core_unique_qual;
    _TC = _check_times(_T35,sizeof(void *));
    { void * * _T36 = _aqual_malloc(_TB,_TC);
      { unsigned int _T37 = _T35;
	unsigned int i;
	i = 0;
	_TL17: if (i < _T37) { goto _TL15;
	}else { goto _TL16;
	}
	_TL15: _TD = i;
	_T36[_TD] = a;
	i = i + 1;
	goto _TL17;
	_TL16: ;
      }_TA = (void * *)_T36;
    }_T9 = _TA;
  }_T8->elmts = _tag_fat(_T9,sizeof(void *),10U);
  goto _TL13;
  _TL12: _TF = xarr;
  _T10 = _TF->num_elmts;
  _T11 = _T10 * 2;
  { unsigned int _T35 = (unsigned int)_T11;
    _T13 = Cyc_Core_unique_qual;
    _T14 = _check_times(_T35,sizeof(void *));
    { void * * _T36 = _aqual_malloc(_T13,_T14);
      { unsigned int _T37 = _T35;
	unsigned int i;
	i = 0;
	_TL1B: if (i < _T37) { goto _TL19;
	}else { goto _TL1A;
	}
	_TL19: _T15 = i;
	_T16 = xarr;
	_T17 = _T16->elmts;
	_T18 = _T17.curr;
	_T19 = (void * *)_T18;
	_T1A = _check_null(_T19);
	_T36[_T15] = _T1A[0];
	i = i + 1;
	goto _TL1B;
	_TL1A: ;
      }_T12 = (void * *)_T36;
    }_TE = _tag_fat(_T12,sizeof(void *),_T35);
  }{ struct _fat_ptr newarr = _TE;
    { int i = 1;
      _TL1F: _T1B = i;
      _T1C = xarr;
      _T1D = _T1C->num_elmts;
      if (_T1B < _T1D) { goto _TL1D;
      }else { goto _TL1E;
      }
      _TL1D: _T1E = newarr;
      _T1F = i;
      _T20 = _check_fat_subscript(_T1E,sizeof(void *),_T1F);
      _T21 = (void * *)_T20;
      _T22 = xarr;
      _T23 = _T22->elmts;
      _T24 = i;
      _T25 = _check_fat_subscript(_T23,sizeof(void *),_T24);
      _T26 = (void * *)_T25;
      *_T21 = *_T26;
      i = i + 1;
      goto _TL1F;
      _TL1E: ;
    }_T27 = xarr;
    { struct _fat_ptr _T35 = _T27->elmts;
      struct _fat_ptr _T36 = newarr;
      _T28 = xarr;
      _T28->elmts = _T36;
      newarr = _T35;
    }_T2A = Cyc_Core_ufree;
    { void (* _T35)(void * *) = (void (*)(void * *))_T2A;
      _T29 = _T35;
    }_T2B = newarr;
    _T2C = _untag_fat_ptr_check_bound(_T2B,sizeof(void *),1U);
    _T2D = (void * *)_T2C;
    _T29(_T2D);
  }_TL13: goto _TL11;
  _TL10: _TL11: _T2E = xarr;
  _T2F = _T2E->elmts;
  _T30 = xarr;
  _T31 = _T30->num_elmts;
  _T30->num_elmts = _T31 + 1;
  _T32 = _T31;
  _T33 = _check_fat_subscript(_T2F,sizeof(void *),_T32);
  _T34 = (void * *)_T33;
  *_T34 = a;
}