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: