GEGELATI
Loading...
Searching...
No Matches
tpgStackGenerationEngine.h
1
39#ifdef CODE_GENERATION
40
41#ifndef TPG_STACK_GENERATION_ENGINE_H
42#define TPG_STACK_GENERATION_ENGINE_H
43#include "codeGen/tpgGenerationEngine.h"
44
45namespace CodeGen {
63 {
64 protected:
71 virtual void initTpgFile();
72
81 virtual void initHeaderFile();
82
83 public:
96 TPGStackGenerationEngine(const std::string& filename,
97 const TPG::TPGGraph& tpg,
98 const std::string& path = "./");
99
106
114 virtual void generateTPGGraph();
115
129 virtual void generateEdge(const TPG::TPGEdge& edge);
130
141 virtual void generateTeam(const TPG::TPGTeam& team);
142
153 virtual void generateAction(const TPG::TPGAction& action);
154
161 virtual void setRoot(const TPG::TPGVertex& root);
162
169 std::string vertexName(const TPG::TPGVertex& v);
170 };
171} // namespace CodeGen
172
173#endif // TPG_STACK_GENERATION_ENGINE_H
174
175#endif // CODE_GENERATION
Class in charge of generating the C code of a TPGGraph.
Definition tpgGenerationEngine.h:70
Class in charge of generating the C code of a TPGGraph.
Definition tpgStackGenerationEngine.h:63
std::string vertexName(const TPG::TPGVertex &v)
Generate function name depending on the vertex type.
Definition tpgStackGenerationEngine.cpp:222
TPGStackGenerationEngine(const std::string &filename, const TPG::TPGGraph &tpg, const std::string &path="./")
Main constructor of the class.
Definition tpgStackGenerationEngine.cpp:44
virtual void generateTPGGraph()
function that creates the C files required to execute the TPG without gegelati.
Definition tpgStackGenerationEngine.cpp:128
virtual void initHeaderFile()
function printing generic code declaration in the main file header.
Definition tpgStackGenerationEngine.cpp:199
virtual void initTpgFile()
function printing generic code in the main file.
Definition tpgStackGenerationEngine.cpp:146
virtual void generateTeam(const TPG::TPGTeam &team)
Method for generating the code for a team of the graph.
Definition tpgStackGenerationEngine.cpp:83
virtual void setRoot(const TPG::TPGVertex &root)
Define the function pointer root to the vertex given in parameter.
Definition tpgStackGenerationEngine.cpp:121
virtual void generateAction(const TPG::TPGAction &action)
Method for generating a action of the graph.
Definition tpgStackGenerationEngine.cpp:109
virtual void generateEdge(const TPG::TPGEdge &edge)
Method for generating the code for an edge of the graph.
Definition tpgStackGenerationEngine.cpp:58
~TPGStackGenerationEngine()
destructor of the class.
Definition tpgStackGenerationEngine.cpp:51
const TPG::TPGGraph & tpg
Reference to the TPGGraph whose content will be used to fill the maps.
Definition tpgAbstractEngine.h:57
Class representing an Action of a TPGGraph.
Definition tpgAction.h:55
Class representing edges of the Tangled Program Graphs.
Definition tpgEdge.h:54
Class for storing a Tangled-Program-Graph.
Definition tpgGraph.h:58
Definition tpgTeam.h:49
Abstract class representing the vertices of a TPGGraph.
Definition tpgVertex.h:55
Definition programGenerationEngine.h:49