aboutsummaryrefslogtreecommitdiff
path: root/reg.ml
diff options
context:
space:
mode:
authorpacien2018-04-27 12:07:02 +0200
committerpacien2018-04-27 12:07:02 +0200
commit7d05d97c8e51e77f117fc14f060bb0c54b86a135 (patch)
tree5cb9de7b3eadfaa09bbcc4de1adc2ef51e8f391f /reg.ml
parent3e0c5de7c0434678218a6583887f7b849dc684f9 (diff)
downloadurm-7d05d97c8e51e77f117fc14f060bb0c54b86a135.tar.gz
Sort regs before printing
Diffstat (limited to 'reg.ml')
-rw-r--r--reg.ml12
1 files changed, 4 insertions, 8 deletions
diff --git a/reg.ml b/reg.ml
index d065838..56c4ae6 100644
--- a/reg.ml
+++ b/reg.ml
@@ -10,11 +10,7 @@ let reg_val (Reg(_, value)) = value
10let reg_compar l r = (reg_val l) - (reg_val r) 10let reg_compar l r = (reg_val l) - (reg_val r)
11let reg_string (Reg (index, value)) = "(" ^ (string_of_int index) ^ "," ^ (string_of_int value) ^ ")" 11let reg_string (Reg (index, value)) = "(" ^ (string_of_int index) ^ "," ^ (string_of_int value) ^ ")"
12 12
13let regs_get reglist index = 13let regs_get reglist index = List.find (fun (Reg(idx, _)) -> idx = index) reglist |> reg_val
14 List.find (fun (Reg(idx, _)) -> idx = index) reglist |> reg_val 14let regs_set reglist index value = Reg(index, value) :: List.filter (fun (Reg(idx, _)) -> idx != index) reglist
15 15let regs_sort = List.sort (fun (Reg(l, _)) (Reg(r, _)) -> compare l r)
16let regs_set reglist index value = 16let regs_string reglist = regs_sort reglist |> List.map (reg_string) |> String.concat ","
17 Reg(index, value) :: List.filter (fun (Reg(idx, _)) -> idx != index) reglist
18
19let regs_string reglist = List.map (reg_string) reglist |> String.concat ","
20