aboutsummaryrefslogtreecommitdiff
path: root/ABC/GraphStore.dcl
diff options
context:
space:
mode:
authorCamil Staps2016-07-01 19:37:38 +0200
committerCamil Staps2016-07-01 19:37:38 +0200
commitb3f1e3ff0404a5182b6eed2d88014b4b4fbd69c2 (patch)
treec2dbd5b0a43fffc6119510bdc2f5324aa3a0e3b5 /ABC/GraphStore.dcl
parentAssembler (diff)
Moved to directory, added test program
Diffstat (limited to 'ABC/GraphStore.dcl')
-rw-r--r--ABC/GraphStore.dcl25
1 files changed, 25 insertions, 0 deletions
diff --git a/ABC/GraphStore.dcl b/ABC/GraphStore.dcl
new file mode 100644
index 0000000..108a77e
--- /dev/null
+++ b/ABC/GraphStore.dcl
@@ -0,0 +1,25 @@
+definition module ABC.GraphStore
+
+from StdOverloaded import class toString
+from ABC.Def import ::Arity, ::InstrId, ::Name, ::APEntry, ::DescId, ::NodeId
+from ABC.Nodes import ::Node
+
+:: Desc = Desc APEntry Arity Name
+
+d_ap_entry :: Desc -> InstrId
+d_arity :: Desc -> Arity
+d_name :: Desc -> String
+
+:: DescStore (:== [Desc])
+
+ds_get :: DescId DescStore -> Desc
+ds_init :: [Desc] -> DescStore
+
+:: GraphStore
+
+show_graphstore :: GraphStore DescStore -> String
+
+gs_get :: NodeId GraphStore -> Node
+gs_init :: GraphStore
+gs_newnode :: GraphStore -> (GraphStore, NodeId)
+gs_update :: NodeId (Node -> Node) GraphStore -> GraphStore