summaryrefslogtreecommitdiffhomepage
path: root/flowgraph/node.h
diff options
context:
space:
mode:
authorRoland Reichwein <mail@reichwein.it>2020-11-14 22:06:10 +0100
committerRoland Reichwein <mail@reichwein.it>2020-11-14 22:06:10 +0100
commit9e7f4c9d43b310c280cd6432cd4150411f4b914e (patch)
treec7be57a91602c228f05ff1cab2f186dcc6635733 /flowgraph/node.h
parent009e450626194299ee4b5ccb8463ac64e127fde6 (diff)
Added system tests
Diffstat (limited to 'flowgraph/node.h')
-rw-r--r--flowgraph/node.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/flowgraph/node.h b/flowgraph/node.h
index 9ae5479..98c684d 100644
--- a/flowgraph/node.h
+++ b/flowgraph/node.h
@@ -43,8 +43,8 @@ namespace FlowGraph {
};
Data MakeConstantInt(int i);
- Data MakeLocalPointer(const std::string& name);
- Data MakeLocalSize(const std::string& name);
+ Data MakeLocalPointer(FlowGraph::LocalScope& scope, const std::string& name);
+ Data MakeLocalSize(FlowGraph::LocalScope& scope, const std::string& name);
Data MakeTemporaryInt(LocalScope& scope);
class MemCopy: public Node
@@ -114,7 +114,8 @@ namespace FlowGraph {
{
Increment,
Decrement,
- Negate
+ Negate,
+ Store // just take Data as-is to store it at destination
};
class UnaryOperation: public Node
@@ -159,4 +160,21 @@ namespace FlowGraph {
BinaryOperationType m_type;
};
+ // Open a new scope, with stack frame
+ class CreateScopeOp: public Node
+ {
+ public:
+ CreateScopeOp() {}
+ LocalScope& scope();
+ private:
+ LocalScope m_scope;
+ };
+
+ // Close current scope, closing stack frame
+ class DestroyScopeOp: public Node
+ {
+ public:
+ DestroyScopeOp() {}
+ };
+
} // namespace FlowGraph