Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

execution.h

Go to the documentation of this file.
00001 // execution.h
00002 //
00003 // Copyright (C) 2002, Chris Laurel <claurel@shatters.net>
00004 //
00005 // This program is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 
00010 #ifndef CELSCRIPT_EXECUTION_H_
00011 #define CELSCRIPT_EXECUTION_H_
00012 
00013 #include <celscript/celx.h>
00014 #include <vector>
00015 #include <celscript/environment.h>
00016 
00017 
00018 namespace celx
00019 {
00020 
00021 typedef std::vector<Value> Stack;
00022 
00023 class ExecutionContext
00024 {
00025  public:
00026     ExecutionContext(Environment*);
00027     ~ExecutionContext();
00028 
00029     Environment* getEnvironment();
00030     void runtimeError() {};
00031 
00032     void pushReturnValue(const Value&);
00033     Value popReturnValue();
00034 
00035  private:
00036     Environment* globalEnv;
00037     Stack returnStack;
00038 };
00039 
00040 } // namespace celx
00041 
00042 #endif // CELSCRIPT_EXECUTION_H_

Generated on Sat Jan 14 22:30:27 2006 for Celestia by  doxygen 1.4.1