194 #define FLAG_EX_PRINTDEPTHLIMIT 0x00010000
195 #define FLAG_EX_PRINTWIDTHLIMIT 0x00020000
196 #define FLAG_EX_FULLPRINTP 0x00040000
197 #define FLAG_EX_CASEIGNOREDP 0x00080000
198 #define FLAG_EX_LOGOPLATFORM 0x00100000
199 #define FLAG_EX_LOGOVERSION 0x00200000
200 #define FLAG_EX_LOGODIALECT 0x00400000
528 printf(
"<VAR> Vars initialized\n");
544 globals =
new_var( name, 0, 0 );
578 for( i = 0; vars[i].
largs>=0; i++, t=
CDR(t) )
665 DEUSE( repeat_chain );
667 if(
REF(last_error)>1 )
REF(last_error)=1;
674 assert(
REF(unbound)==1 );
675 assert(
REF(stopped)==1 );
676 assert(
REF(word_error)==1 );
677 assert(
REF(word_system)==1 );
678 assert(
REF(word_toplevel)==1 );
679 assert(
REF(word_to)==1 );
680 assert(
REF(word_to_syn)==1 );
681 assert(
REF(word_end)==1 );
684 assert(
REF(word_run)==1 );
685 assert(
REF(word_make)==1 );
686 assert(
REF(word_plus)==1 );
687 assert(
REF(last_error)==1 );
707 DEUSE( word_system );
708 DEUSE( word_toplevel );
710 DEUSE( word_to_syn );
715 DEUSE( delayed_free );
721 printf(
"<VAR> Vars finalized\n");
780 printf(
"<ATOM> [%08x] var="STR"\n",(
int)a,
STRING(name));
791 #ifdef DEBUG_RUNTIME_ATOMS
795 dump_atom_address( a );
800 #ifdef DEBUG_COMPILETIME_ATOMS
804 dump_atom_address( a );
829 if(
DESCR2(var) )
return 0;
940 #define DUMP_BUF_SIZE 128
948 for( i=0; i<level; i++ )
outter(
TEXT(
" "), 3 );
1023 #ifdef DEBUG_FIND_VAR
1024 printf(
"<FINDVAR> Search ");
dumpln(name);
1025 printf(
"<FINDVAR> Current var tree ");
dumpln(root);
1030 for( ; parent; parent=
PARENT(parent) )
1032 #ifdef DEBUG_FIND_VAR
1033 printf(
"<FINDVAR> Search it in parent ");
dumpln(
NAME(parent));
1036 #ifdef DEBUG_FIND_VAR
1037 if( a ) { printf(
"<FINDVAR> Found in ");
dumpln(
NAME(parent)); }
1042 #ifdef DEBUG_FIND_VAR
1043 printf(
"<FINDVAR> Search it in parent ");
dumpln(
NAME(globals));
1046 #ifdef DEBUG_FIND_VAR
1047 if( a ) { printf(
"<FINDVAR> Found in ");
dumpln(
NAME(globals)); }
1051 #ifdef DEBUG_FIND_VAR
1052 printf(
"<FINDVAR> Not found\n");
1083 #ifdef DEBUG_FIND_RUNTIME_VAR
1084 printf(
"<FIND_LOCAL_RUNTIME_VAR> Search ");
dumpln(name);
1090 #ifdef DEBUG_FIND_RUNTIME_VAR
1091 if( var ) { printf(
"<FIND_LOCAL_RUNTIME_VAR> Found runtimer ");
dumpln(
NAME(var)); }
1093 if( var )
return var;
1098 #ifdef DEBUG_FIND_RUNTIME_VAR
1099 if( var ) { printf(
"<FIND_LOCAL_RUNTIME_VAR> Found local ");
dumpln(
NAME(var)); }
1101 if( var )
return var;
1103 #ifdef DEBUG_FIND_RUNTIME_VAR
1104 printf(
"<FIND_LOCAL_RUNTIME_VAR> Not found\n");
1142 #ifdef DEBUG_FIND_RUNTIME_VAR
1143 printf(
"<FIND_RUNTIME_VAR> Search ");
dumpln(name);
1152 #ifdef DEBUG_FIND_RUNTIME_VAR
1153 if( var ) { printf(
"<FIND_RUNTIME_VAR> Found runtimer ");
dumpln(
NAME(var)); }
1155 if( var )
return var;
1160 #ifdef DEBUG_FIND_RUNTIME_VAR
1161 if( var ) { printf(
"<FIND_RUNTIME_VAR> Found local ");
dumpln(
NAME(var)); }
1163 if( var )
return var;
1166 if( parent==root )
break;
1169 frame = *((
int*)(frame));
1175 #ifdef DEBUG_FIND_RUNTIME_VAR
1176 if( var ) { printf(
"<FIND_RUNTIME_VAR> Found global ");
dumpln(
NAME(var)); }
1178 if( var )
return var;
1181 #ifdef DEBUG_FIND_RUNTIME_VAR
1182 printf(
"<FIND_RUNTIME_VAR> Not found\n");
1228 if( !a )
return NULL;
1261 assert( IS_VAR(
function) );
1265 assert(
LENGTH(name)>1 );
1274 real_name =
USE( name );
1318 int callee_frame = frame;
1352 *localsp =
new_list( to_var, *localsp );
1374 value = *(
atom_t*)((
char*)callee_frame+
OFFSET(from_var));
1378 value =
VALUE( from_var );
1388 *varptr =
USE( value );
1410 to_var =
USE( from_var );
1438 void copy_var_or_func(
atom_t from_var )
1457 if(
IS_VARIABLE( from_var ) ) copy_var( from_var, to_var );