Commit | Line | Data |
---|---|---|
8bd091e3 ST |
1 | #ifndef INCLUDE_MAL_H |
2 | #define INCLUDE_MAL_H | |
3 | ||
4 | #include "Debug.h" | |
5 | #include "RefCountedPtr.h" | |
6 | #include "String.h" | |
7 | #include "Validation.h" | |
8 | ||
9 | #include <vector> | |
10 | ||
11 | class malValue; | |
12 | typedef RefCountedPtr<malValue> malValuePtr; | |
13 | typedef std::vector<malValuePtr> malValueVec; | |
179e8eaf ST |
14 | typedef malValueVec::iterator malValueIter; |
15 | ||
16 | class malEnv; | |
dc9b184b | 17 | typedef RefCountedPtr<malEnv> malEnvPtr; |
8bd091e3 ST |
18 | |
19 | // step*.cpp | |
179e8eaf | 20 | extern malValuePtr APPLY(malValuePtr op, |
494c1608 | 21 | malValueIter argsBegin, malValueIter argsEnd); |
dc9b184b | 22 | extern malValuePtr EVAL(malValuePtr ast, malEnvPtr env); |
cb252845 | 23 | extern malValuePtr readline(const String& prompt); |
dc9b184b ST |
24 | extern String rep(const String& input, malEnvPtr env); |
25 | ||
26 | // Core.cpp | |
27 | extern void installCore(malEnvPtr env); | |
8bd091e3 ST |
28 | |
29 | // Reader.cpp | |
30 | extern malValuePtr readStr(const String& input); | |
31 | ||
32 | #endif // INCLUDE_MAL_H |