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: