--- parser3/src/main/execute.C 2002/10/31 16:35:33 1.291 +++ parser3/src/main/execute.C 2002/11/20 13:37:23 1.293 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char* IDENT_EXECUTE_C="$Date: 2002/10/31 16:35:33 $"; +static const char* IDENT_EXECUTE_C="$Date: 2002/11/20 13:37:23 $"; #include "pa_opcode.h" #include "pa_array.h" @@ -123,6 +123,11 @@ void Request::execute(const Array& ops) Array_iter i(ops); while(i.has_next()) { + if(interrupted()) + throw Exception("parser.interrupted", + 0, + "execution stopped"); + Operation op; op.cast=i.next(); #ifdef DEBUG_EXECUTE @@ -824,7 +829,10 @@ void Request::execute(const Array& ops) } } -/// @todo cache|prepare junctions +/** + @todo cache|prepare junctions + @bug ^superbase:method would dynamically call ^base:method if there is any +*/ Value *Request::get_element(const String *& remember_name, bool can_call_operator) { const String& name=POP_NAME(); remember_name=&name; Value *ncontext=POP();