Implementing cfg for risc

This commit is contained in:
elvis
2024-11-27 20:18:30 +01:00
parent 4e9f08347b
commit 99287d79c5
8 changed files with 554 additions and 37 deletions

View File

@ -5,7 +5,9 @@ module type PrintableType = sig
end
module Node : sig
type t
type t = {
id: int
}
val compare : t -> t -> int
val create : unit -> t
end
@ -20,14 +22,14 @@ module type C = sig
nodes: NodeSet.t;
edges: (Node.t * (Node.t option)) NodeMap.t;
reverseEdges: (Node.t list) NodeMap.t;
inputVal: elt option;
outputVal: elt option;
inputVal: int option;
inputOutputVar: (string * string) option;
initial: Node.t option;
terminal: Node.t option;
content: elt list NodeMap.t
}
val create : unit -> t
val empty : t
val merge : t -> t -> Node.t -> Node.t -> t
val concat : t -> t -> t
val addToLastNode : elt -> t -> t