Annotation of parser3/src/include/pa_request.h, revision 1.10

1.1       paf         1: /*
1.10    ! paf         2:   $Id: pa_request.h,v 1.9 2001/02/22 13:33:24 paf Exp $
1.1       paf         3: */
                      4: 
                      5: #ifndef PA_REQUEST_H
                      6: #define PA_REQUEST_H
                      7: 
                      8: #include "pa_pool.h"
1.4       paf         9: #include "pa_exception.h"
1.5       paf        10: #include "pa_hash.h"
1.7       paf        11: #include "pa_wcontext.h"
1.6       paf        12: #include "pa_value.h"
1.7       paf        13: #include "pa_stack.h"
                     14: 
                     15: #define MAIN_METHOD_NAME "main"
1.10    ! paf        16: #define SELF_NAME "self"
1.7       paf        17: 
                     18: #ifndef NO_STRING_ORIGIN
                     19: #      define COMPILE_PARAMS char *source, char *file
                     20: #      define COMPILE(source, file) real_compile(source, file)
                     21: #else
                     22: #      define COMPILE_PARAMS char *source
                     23: #      define COMPILE(source, file) real_compile(source)
                     24: #endif
1.4       paf        25: 
                     26: class Local_request_exception;
1.1       paf        27: 
1.7       paf        28: class Request : public Pooled {
1.1       paf        29: public:
                     30:        
1.7       paf        31:        Request(Pool& apool) : Pooled(apool),
                     32:                stack(apool),
1.6       paf        33:                fclasses(apool)
                     34:                {
1.5       paf        35:        }
1.3       paf        36:        ~Request() {}
1.1       paf        37: 
1.7       paf        38:        // global classes
1.6       paf        39:        Hash& classes() { return fclasses; }
                     40: 
                     41:        // core request processing
                     42:        void core();
                     43: 
1.7       paf        44: private: // core data
1.6       paf        45: 
                     46:        // classes
                     47:        Hash fclasses;
                     48: 
                     49:        // contexts
                     50:        Value *root, *self, *rcontext;
                     51:        WContext *wcontext;
                     52:        
1.7       paf        53:        // execution stack
                     54:        Stack stack;
                     55: 
                     56: private: // core.C
                     57: 
1.6       paf        58:        Array& load_and_compile_RUN();
                     59:        VClass *construct_class(String& name, Array& compiled_methods);
1.7       paf        60:        char *execute_MAIN(VClass *class_RUN);
                     61: 
                     62: private: // compile.C
                     63: 
                     64:        Array& real_compile(COMPILE_PARAMS);
                     65: 
                     66: private: // execute.C
                     67: 
                     68:        void execute(Array& ops);
1.9       paf        69: 
                     70:        Value *get_element();
1.4       paf        71: 
                     72: };
                     73: 
1.7       paf        74: // core func
                     75: void core();
1.1       paf        76: 
                     77: #endif

E-mail: