OSDN Git Service

OMakeを利用するように、OMakefileを再度作成。
[simplecms/utakata.git] / src / interpreter.h
1 #ifndef _INTERPRETER_H_
2 #define _INTERPRETER_H_
3
4 namespace utakata {
5
6     namespace intepreter {
7     
8         class Interpreter
9         {
10             // 実際にparserから読出したdatumをprogram statementとして解釈
11             // して実行する。
12             // 内部では、read-eval-print-loop(REPL)が動作しており、末尾
13             // に至るまで繰り返す。
14             // 内部で実行されるevalなどは、実際には外部に存在するものを利用する
15             // のみとなっている。
16             // 環境などの管理は、すべてinterpreter上でのみ行われる。
17             // 現在の環境は、interpreterの内部で保持しているEnvironmentを
18             // トップ環境として、それぞれコンテキストが変化する度に新規のEnvironment
19             // に一つ上の環境がくっつく形を取る。
20             // 利用する上では、parserの制限上、istreamを入力として取る。
21             // また、interpreter内部では、プログラム全体を処理するためのフェーズ管理までを行う。
22             // ライブラリに関しては、その管理を専門に行う処理が別に存在している。
23         public:
24             Interpreter();
25             virtual ~Interpreter();
26         };
27     
28     };
29
30 };
31
32 #endif /* _INTERPRETER_H_ */