summaryrefslogtreecommitdiff
path: root/src/Grasp/Monad.hs
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2014-12-08 11:59:40 +1100
committerJed Barber <jjbarber@y7mail.com>2014-12-08 11:59:40 +1100
commit9ea7bf952aa62038cf36c1a4eabd62d1dc0ad051 (patch)
treeb7af109c773f2adf65eb045e25aeac1b74238418 /src/Grasp/Monad.hs
parentedba51f6c1c0ab27fe078500cc0f3f3106816c62 (diff)
Stack instructions added
Diffstat (limited to 'src/Grasp/Monad.hs')
-rw-r--r--src/Grasp/Monad.hs14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/Grasp/Monad.hs b/src/Grasp/Monad.hs
index 86de9a2..0bab4c8 100644
--- a/src/Grasp/Monad.hs
+++ b/src/Grasp/Monad.hs
@@ -13,7 +13,7 @@ module Grasp.Monad (
peekIP,
nextIP,
- nodesOut, edgesOut,
+ nodesOut, edgesOut, edgesIn,
reLabel,
nodesWithName,
subGraph,
@@ -331,6 +331,18 @@ edgesOut n = do
+edgesIn :: GNode -> GraspM [GEdge]
+edgesIn n = do
+ (gr, ips, fh) <- State.get
+ curNode <- peekIP
+
+ let ein = Graph.inn gr (GN.toNode (Maybe.fromJust curNode))
+ result = map GE.mk ein
+
+ if (Maybe.isNothing curNode) then return [] else return result
+
+
+
reLabel :: Instruction -> GNode -> GraspM ()
reLabel i n = do
(gr, ips, fh) <- State.get