Design Patterns
program_node_builder_interface.h
Go to the documentation of this file.
1 // Based on "Design Patterns: Elements of Reusable Object-Oriented Software"
2 // book by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm
3 //
4 // Created by Bartosz Rachwal. The National Institute of Advanced Industrial Science and Technology, Japan.
5 
6 #ifndef STRUCTURAL_FACADE_PROGRAM_NODE_BUILDER_INTERFACE_H_
7 #define STRUCTURAL_FACADE_PROGRAM_NODE_BUILDER_INTERFACE_H_
8 
10 
11 #include <string>
12 
13 namespace structural
14 {
15 namespace facade
16 {
18 {
19  public:
21 
22  virtual ProgramNodeInterface *NewVariable(std::string& variableName) = 0;
26  virtual ProgramNodeInterface *GetRootNode() const = 0;
27 };
28 }
29 }
30 
31 #endif
32 
Definition: shape_interface.h:11
virtual ProgramNodeInterface * NewReturnStatement(ProgramNodeInterface *value)=0
virtual ProgramNodeInterface * NewVariable(std::string &variableName)=0
virtual ProgramNodeInterface * GetRootNode() const =0
Definition: program_node_builder_interface.h:17
virtual ProgramNodeInterface * NewCondition(ProgramNodeInterface *condition, ProgramNodeInterface *truePart, ProgramNodeInterface *falsePart)=0
virtual ~ProgramNodeBuilderInterface()
Definition: program_node_builder_interface.h:20
virtual ProgramNodeInterface * NewAssignment(ProgramNodeInterface *variable, ProgramNodeInterface *expression)=0
Definition: program_node_interface.h:15