From 9ea7bf952aa62038cf36c1a4eabd62d1dc0ad051 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Mon, 8 Dec 2014 11:59:40 +1100 Subject: Stack instructions added --- src/Grasp/Monad.hs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/Grasp/Monad.hs') 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 -- cgit