diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2011-12-21 02:27:51 -0700 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2011-12-21 02:27:51 -0700 |
| commit | da250b9833e9561a996d11058130e8b7eca2369e (patch) | |
| tree | cc1598a22411ae91a44c793ab25abf0a4efc2be8 /src | |
| parent | df412b348f10ee46830e6e117b4bb0dd3b6b057b (diff) | |
| download | stage-da250b9833e9561a996d11058130e8b7eca2369e.tar.gz stage-da250b9833e9561a996d11058130e8b7eca2369e.tar.bz2 stage-da250b9833e9561a996d11058130e8b7eca2369e.tar.xz stage-da250b9833e9561a996d11058130e8b7eca2369e.zip | |
Game environment is coming together.
Diffstat (limited to 'src')
| -rw-r--r-- | src/astnode.h | 18 | ||||
| -rw-r--r-- | src/environment.cpp | 0 | ||||
| -rw-r--r-- | src/environment.h | 0 | ||||
| -rw-r--r-- | src/function.cpp | 10 | ||||
| -rw-r--r-- | src/function.h | 17 | ||||
| -rw-r--r-- | src/scope.cpp | 10 | ||||
| -rw-r--r-- | src/scope.h | 16 | ||||
| -rw-r--r-- | src/situation.cpp | 0 | ||||
| -rw-r--r-- | src/situation.h | 0 | ||||
| -rw-r--r-- | src/userfunction.cpp | 21 | ||||
| -rw-r--r-- | src/userfunction.h | 21 | ||||
| -rw-r--r-- | src/variable.h | 4 |
12 files changed, 116 insertions, 1 deletions
diff --git a/src/astnode.h b/src/astnode.h index 3344ca2..a345a56 100644 --- a/src/astnode.h +++ b/src/astnode.h | |||
| @@ -9,6 +9,24 @@ public: | |||
| 9 | AstNode(); | 9 | AstNode(); |
| 10 | virtual ~AstNode(); | 10 | virtual ~AstNode(); |
| 11 | 11 | ||
| 12 | enum Type | ||
| 13 | { | ||
| 14 | tValue = 0x01000000, | ||
| 15 | tBranch = 0x02000000, | ||
| 16 | tScope = 0x02000001, | ||
| 17 | tIf = 0x02000002, | ||
| 18 | tElse = 0x02000003, | ||
| 19 | tNot = 0x00000004, | ||
| 20 | tComp = 0x02000005, | ||
| 21 | tCompGt = 0x02000006, | ||
| 22 | tCompLt = 0x02000007, | ||
| 23 | tCompGtEq = 0x02000008, | ||
| 24 | tCompLtEq = 0x02000009, | ||
| 25 | tStore = 0x0200000A, | ||
| 26 | tAnd = 0x0200000B, | ||
| 27 | tOr = 0x0200000C, | ||
| 28 | }; | ||
| 29 | |||
| 12 | private: | 30 | private: |
| 13 | }; | 31 | }; |
| 14 | 32 | ||
diff --git a/src/environment.cpp b/src/environment.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/environment.cpp | |||
diff --git a/src/environment.h b/src/environment.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/environment.h | |||
diff --git a/src/function.cpp b/src/function.cpp new file mode 100644 index 0000000..e89a06f --- /dev/null +++ b/src/function.cpp | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | #include "function.h" | ||
| 2 | |||
| 3 | Function::Function() | ||
| 4 | { | ||
| 5 | } | ||
| 6 | |||
| 7 | Function::~Function() | ||
| 8 | { | ||
| 9 | } | ||
| 10 | |||
diff --git a/src/function.h b/src/function.h new file mode 100644 index 0000000..1191129 --- /dev/null +++ b/src/function.h | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #ifndef FUNCTION_H | ||
| 2 | #define FUNCTION_H | ||
| 3 | |||
| 4 | #include <bu/string.h> | ||
| 5 | #include "variable.h" | ||
| 6 | |||
| 7 | class Function | ||
| 8 | { | ||
| 9 | public: | ||
| 10 | Function(); | ||
| 11 | virtual ~Function(); | ||
| 12 | |||
| 13 | virtual Bu::String getName() const=0; | ||
| 14 | virtual Variable call( const VariableList &lParams )=0; | ||
| 15 | }; | ||
| 16 | |||
| 17 | #endif | ||
diff --git a/src/scope.cpp b/src/scope.cpp new file mode 100644 index 0000000..45d4484 --- /dev/null +++ b/src/scope.cpp | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | #include "scope.h" | ||
| 2 | |||
| 3 | Scope::Scope() | ||
| 4 | { | ||
| 5 | } | ||
| 6 | |||
| 7 | Scope::~Scope() | ||
| 8 | { | ||
| 9 | } | ||
| 10 | |||
diff --git a/src/scope.h b/src/scope.h new file mode 100644 index 0000000..84797f0 --- /dev/null +++ b/src/scope.h | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | #ifndef SCOPE_H | ||
| 2 | #define SCOPE_H | ||
| 3 | |||
| 4 | #include "variable.h" | ||
| 5 | |||
| 6 | class Scope | ||
| 7 | { | ||
| 8 | public: | ||
| 9 | Scope(); | ||
| 10 | virtual ~Scope(); | ||
| 11 | |||
| 12 | private: | ||
| 13 | VariableHash hVars; | ||
| 14 | }; | ||
| 15 | |||
| 16 | #endif | ||
diff --git a/src/situation.cpp b/src/situation.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/situation.cpp | |||
diff --git a/src/situation.h b/src/situation.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/situation.h | |||
diff --git a/src/userfunction.cpp b/src/userfunction.cpp new file mode 100644 index 0000000..3bdd973 --- /dev/null +++ b/src/userfunction.cpp | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | #include "userfunction.h" | ||
| 2 | |||
| 3 | UserFunction::UserFunction( const Bu::String &sName, const AstNode &anRoot ) : | ||
| 4 | sName( sName ) | ||
| 5 | { | ||
| 6 | } | ||
| 7 | |||
| 8 | UserFunction::~UserFunction() | ||
| 9 | { | ||
| 10 | } | ||
| 11 | |||
| 12 | Bu::String UserFunction::getName() const | ||
| 13 | { | ||
| 14 | return sName; | ||
| 15 | } | ||
| 16 | |||
| 17 | Variable UserFunction::call( const VariableList &lParams ) | ||
| 18 | { | ||
| 19 | return Variable( Variable::tNull ); | ||
| 20 | } | ||
| 21 | |||
diff --git a/src/userfunction.h b/src/userfunction.h new file mode 100644 index 0000000..67b96cc --- /dev/null +++ b/src/userfunction.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | #ifndef USER_FUNCTION_H | ||
| 2 | #define USER_FUNCTION_H | ||
| 3 | |||
| 4 | #include "function.h" | ||
| 5 | |||
| 6 | class AstNode; | ||
| 7 | |||
| 8 | class UserFunction : public Function | ||
| 9 | { | ||
| 10 | public: | ||
| 11 | UserFunction( const Bu::String &sName, const AstNode &anRoot ); | ||
| 12 | virtual ~UserFunction(); | ||
| 13 | |||
| 14 | virtual Bu::String getName() const; | ||
| 15 | virtual Variable call( const VariableList &lParams ); | ||
| 16 | |||
| 17 | private: | ||
| 18 | Bu::String sName; | ||
| 19 | }; | ||
| 20 | |||
| 21 | #endif | ||
diff --git a/src/variable.h b/src/variable.h index 67f35c8..c728718 100644 --- a/src/variable.h +++ b/src/variable.h | |||
| @@ -76,7 +76,9 @@ namespace Bu | |||
| 76 | { | 76 | { |
| 77 | template<> uint32_t __calcHashCode<Variable>( const Variable &k ); | 77 | template<> uint32_t __calcHashCode<Variable>( const Variable &k ); |
| 78 | template<> bool __cmpHashKeys<Variable>( const Variable &a, const Variable &b ); | 78 | template<> bool __cmpHashKeys<Variable>( const Variable &a, const Variable &b ); |
| 79 | } | 79 | }; |
| 80 | 80 | ||
| 81 | typedef Bu::List<Variable> VariableList; | ||
| 82 | typedef Bu::Hash<Bu::String, Variable> VariableHash; | ||
| 81 | 83 | ||
| 82 | #endif | 84 | #endif |
