Listing 2: The C translation of Listing 1

void *_new(); 
void _delete(); 
void *_vec_new(); 
void _vec_delete();
void exit();

struct Frog
{ 
  int _Frog_MyColor ;
};

struct Frog *_Frog__ctor (/* struct Frog* , int  */);

struct Frog *_Frog__ctor (this , _au0_C )register struct Frog *this ;
int _au0_C ;
{ 
  if (this == 0 )
    this = (struct Frog *)_new ( (long )(sizeof (struct Frog))) ;
  this -> _Frog_MyColor = _au0_C ;
  return this ;
}

int main ()
{ 
  { 
    struct Frog *_au1_pKermit = 0 ;
    _au1_pKermit = (struct Frog *)_Frog__ctor ( (struct Frog *)0 , 2) ;
  }
  exit ( 0 ); 
}