module.h
Go to the documentation of this file.
00001 #ifndef MODULE_H_
00002 #define MODULE_H_
00003 
00004 #include "variable.h"
00005 #include<vector>
00006 #include<string>
00007 #include<iostream>
00008 #include<fstream>
00009 using namespace std;
00010 
00011 class Parameter
00012 {
00013     public:
00014         string name;
00015         string type;
00016         string obj;
00017 
00018         Parameter(istream &in);
00019         virtual ~Parameter();
00020 };
00021 
00022 class Module
00023 {
00024     private:
00025         void extractNameAndLib(const string &name);
00026     public:
00027         string name;
00028         string lib;
00029         vector<Parameter> params;
00030 
00031         Module(istream &in);
00032         void generate_cpp_input(ostream &outfile) const;
00033         virtual ~Module();
00034 };
00035 
00036 class ConditionModule: public Module
00037 {
00038     public:
00039         Variable *var;
00040 
00041         ConditionModule(istream &in, const vector<Variable*> &variables);
00042         void generate_cpp_input(ostream &outfile) const;
00043 };
00044 
00045 class EffectModule: public Module
00046 {
00047     public:
00048         string name;
00049         vector<Variable*> writtenVars;
00050 
00051         EffectModule(istream &in, const vector<Variable*> &variables);
00052         void generate_cpp_input(ostream &outfile) const;
00053 };
00054 
00055 class Translate
00056 {
00057     public:
00058         string name;
00059         vector<string> params;
00060         Variable *var;
00061         Translate(istream &in, vector<Variable*> variables);
00062         void generate_cpp_input(ostream &outfile) const;
00063         virtual ~Translate();
00064 };
00065 
00066 class TranslatePredicate: public Translate
00067 {
00068     public:
00069         int value;
00070         TranslatePredicate(istream &in, vector<Variable*> variables);
00071         void generate_cpp_input(ostream &outfile) const;
00072 };
00073 
00074 class TranslateFunction: public Translate
00075 {
00076     public:
00077         TranslateFunction(istream &in, vector<Variable*> variables);
00078         void generate_cpp_input(ostream &outfile) const;
00079 };
00080 
00081 #endif /* MODULE_H_ */


tfd_modules
Author(s): Maintained by Christian Dornhege (see AUTHORS file).
autogenerated on Mon Oct 6 2014 07:52:06