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

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

E-mail: