--- parser3/src/main/Attic/core.C 2001/03/08 11:27:49 1.43 +++ parser3/src/main/Attic/core.C 2001/03/10 11:18:15 1.49 @@ -1,5 +1,5 @@ /* -$Id: core.C,v 1.43 2001/03/08 11:27:49 paf Exp $ +$Id: core.C,v 1.49 2001/03/10 11:18:15 paf Exp $ */ #include "pa_request.h" @@ -8,24 +8,41 @@ $Id: core.C,v 1.43 2001/03/08 11:27:49 p #include "pa_vclass.h" #include +#include "classes/_root.h" +#include "classes/_env.h" +#include "classes/_string.h" +#include "classes/_double.h" +#include "classes/_int.h" void core() { Pool pool; + initialize_string_class(pool, *(string_class=new(pool) VClass(pool))); + initialize_double_class(pool, *(double_class=new(pool) VClass(pool))); + initialize_int_class(pool, *(int_class=new(pool) VClass(pool))); Request request(pool); request.core(); } Request::Request(Pool& apool) : Pooled(apool), stack(apool), - ROOT_CLASS(apool), + root_class(apool), + env_class(apool), fclasses(apool), - fclasses_array(apool) + fclasses_array(apool), + lang(String::Untaint_lang::HTML_TYPO) { + // root class + initialize_root_class(pool(), root_class); // adding root superclass, // parent of all classes, // operators holder String ROOT(pool()); ROOT.APPEND_CONST(ROOT_NAME); - classes().put(ROOT, &ROOT_CLASS); + classes().put(ROOT, &root_class); + + // env class + initialize_env_class(pool(), env_class); + String ENV(pool()); ENV.APPEND_CONST(ENV_NAME); + classes().put(ENV, &env_class); } void Request::core() { @@ -95,7 +112,7 @@ char *Request::execute_MAIN() { wcontext=NEW WWrapper(pool(), vclass, false /* not constructing */); // execute! - execute(method->code); + execute(*method->parser_code); // return chars return wcontext->get_string()->cstr();