Beispiel #1
0
cl_object cl_copy_symbol(cl_narg narg, ...)
{
#line 318
// ------------------------------2
#line 318
	const cl_env_ptr the_env = ecl_process_env();
#line 318
	cl_object cp;
#line 318
	cl_object x;
#line 318
	va_list ARGS;
	va_start(ARGS, narg);
	cl_object sym = va_arg(ARGS,cl_object);  
#line 318
// ------------------------------3

#line 320
// ------------------------------4
#line 320
#line 320
	if (ecl_unlikely(narg < 1|| narg > 2)) FEwrong_num_arguments(ecl_make_fixnum(262));
#line 320
	if (narg > 1) {
#line 320
		cp = va_arg(ARGS,cl_object);  
#line 320
	} else {
#line 320
		cp = ECL_NIL;
#line 320
	}
#line 320
	x = ECL_NIL;
#line 320
// ------------------------------5
	if (Null(sym))
		sym = ECL_NIL_SYMBOL;
	x = cl_make_symbol(ecl_symbol_name(sym));
	if (!Null(cp)) {
		x->symbol.dynamic = 0;
		x->symbol.stype = sym->symbol.stype;
		x->symbol.value = sym->symbol.value;
		x->symbol.gfdef = sym->symbol.gfdef;
		x->symbol.plist = cl_copy_list(sym->symbol.plist);
#ifdef ECL_THREADS
		x->symbol.binding = ECL_MISSING_SPECIAL_BINDING;
#endif
		/* FIXME!!! We should also copy the system property list */
	}
	{
#line 334
		#line 334
		cl_object __value0 = x;
#line 334
		the_env->nvalues = 1;
#line 334
		return __value0;
#line 334
	}

}
Beispiel #2
0
/*	optimize speed 3, debug 3, space 0, safety 2                  */
static cl_object L2interleave(cl_object V1, cl_object V2)
{
 cl_object T0;
 struct ecl_ihs_frame ihs;
 const cl_object _ecl_debug_env = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
 {
  {
   static const struct ecl_var_debug_info _ecl_descriptors[]={
   {"COMMON-LISP-USER::LIST1",_ecl_object_loc}
   ,{"COMMON-LISP-USER::LIST2",_ecl_object_loc}};
   const cl_index _ecl_debug_info_raw[]={
   (cl_index)(ECL_NIL),(cl_index)(_ecl_descriptors),(cl_index)(&V1),(cl_index)(&V2)};
   ecl_def_ct_vector(_ecl_debug_env,ecl_aet_index,_ecl_debug_info_raw,4,,);
   ecl_ihs_push(cl_env_copy,&ihs,VV[1],_ecl_debug_env);
TTL:
   {
    cl_object V3;                                 /*  LET4            */
    cl_object V4;                                 /*  LET5            */
    cl_object V5;                                 /*  TEMP            */
    cl_object V6;                                 /*  A               */
    cl_object V7;                                 /*  B               */
    V3 = cl_copy_list(V1);
    V4 = cl_copy_list(V2);
    V5 = ECL_NIL;
    V6 = V3;
    V7 = V4;
    {
     static const struct ecl_var_debug_info _ecl_descriptors[]={
     {"COMMON-LISP-USER::B",_ecl_object_loc}
     ,{"COMMON-LISP-USER::A",_ecl_object_loc}
     ,{"COMMON-LISP-USER::TEMP",_ecl_object_loc}
     ,{"COMMON-LISP-USER::LET5",_ecl_object_loc}
     ,{"COMMON-LISP-USER::LET4",_ecl_object_loc}};
     const cl_index _ecl_debug_info_raw[]={
     (cl_index)(_ecl_debug_env),(cl_index)(_ecl_descriptors),(cl_index)(&V7),(cl_index)(&V6),(cl_index)(&V5),(cl_index)(&V4),(cl_index)(&V3)};
     ecl_def_ct_vector(_ecl_debug_env,ecl_aet_index,_ecl_debug_info_raw,7,,);
     ihs.lex_env = _ecl_debug_env;
L7:;
     if (!(ecl_equal(ECL_NIL,V6))) { goto L9; }
     goto L8;
L9:;
     {
      cl_object V8;
      V8 = V6;
      {
       static const struct ecl_var_debug_info _ecl_descriptors[]={
       {"#:G5",_ecl_object_loc}};
       const cl_index _ecl_debug_info_raw[]={
       (cl_index)(_ecl_debug_env),(cl_index)(_ecl_descriptors),(cl_index)(&V8)};
       ecl_def_ct_vector(_ecl_debug_env,ecl_aet_index,_ecl_debug_info_raw,3,,);
       ihs.lex_env = _ecl_debug_env;
       {
        cl_object V9;
        V9 = ecl_car(V8);
        {
         static const struct ecl_var_debug_info _ecl_descriptors[]={
         {"#:G6",_ecl_object_loc}};
         const cl_index _ecl_debug_info_raw[]={
         (cl_index)(_ecl_debug_env),(cl_index)(_ecl_descriptors),(cl_index)(&V9)};
         ecl_def_ct_vector(_ecl_debug_env,ecl_aet_index,_ecl_debug_info_raw,3,,);
         ihs.lex_env = _ecl_debug_env;
         V8 = ecl_cdr(V8);
         V6 = V8;
         T0 = V9;
        }
        ihs.lex_env = _ecl_debug_env;
       }
      }
      ihs.lex_env = _ecl_debug_env;
     }
     V5 = CONS(T0,V5);
     {
      cl_object V8;
      V8 = V7;
      {
       static const struct ecl_var_debug_info _ecl_descriptors[]={
       {"#:G8",_ecl_object_loc}};
       const cl_index _ecl_debug_info_raw[]={
       (cl_index)(_ecl_debug_env),(cl_index)(_ecl_descriptors),(cl_index)(&V8)};
       ecl_def_ct_vector(_ecl_debug_env,ecl_aet_index,_ecl_debug_info_raw,3,,);
       ihs.lex_env = _ecl_debug_env;
       {
        cl_object V9;
        V9 = ecl_car(V8);
        {
         static const struct ecl_var_debug_info _ecl_descriptors[]={
         {"#:G9",_ecl_object_loc}};
         const cl_index _ecl_debug_info_raw[]={
         (cl_index)(_ecl_debug_env),(cl_index)(_ecl_descriptors),(cl_index)(&V9)};
         ecl_def_ct_vector(_ecl_debug_env,ecl_aet_index,_ecl_debug_info_raw,3,,);
         ihs.lex_env = _ecl_debug_env;
         V8 = ecl_cdr(V8);
         V7 = V8;
         T0 = V9;
        }
        ihs.lex_env = _ecl_debug_env;
       }
      }
      ihs.lex_env = _ecl_debug_env;
     }
     V5 = CONS(T0,V5);
     goto L7;
L8:;
     value0 = cl_reverse(V5);
     ecl_ihs_pop(cl_env_copy);
     return value0;
    }
    ihs.lex_env = _ecl_debug_env;
   }
  }
 }
}