From b49129fb8a47b73bbd400ca33264d992ffd8054c Mon Sep 17 00:00:00 2001
From: Erwan Jahier <erwan.jahier@univ-grenoble-alpes.fr>
Date: Thu, 6 Feb 2020 16:12:13 +0100
Subject: [PATCH] Fix: the variables could not be named as Boolean values in
 Steate printer (e.g., f was forbidden)

---
 lib/sasacore/sasaState.ml | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/lib/sasacore/sasaState.ml b/lib/sasacore/sasaState.ml
index af3582a8..371cde9d 100644
--- a/lib/sasacore/sasaState.ml
+++ b/lib/sasacore/sasaState.ml
@@ -27,9 +27,19 @@ let (string_to_data : string -> data_or_name) =
 let (to_list : 'v -> data_or_name list) =
   fun v -> 
     let str = Register.to_string v in
-    let lstr = Str.split  (Str.regexp "[ \t=]+") str in
-    let l = List.map string_to_data lstr in
-    l
+    let lstr = Str.split  (Str.regexp "[ \t]+") str in
+    let lstr = List.map
+        (fun str ->
+           match Str.split  (Str.regexp "[=]") str with
+           | [v] -> [string_to_data v]
+           | [n;v] -> [Name n; string_to_data v]
+           |  _ ->
+             let msg = Printf.sprintf "Bad format '%s' for printing state values" str in 
+             failwith msg
+        )
+        lstr
+    in
+    List.flatten lstr
 
 (* remove var name hints *)
 let (to_rif_data : 'v -> string) =
-- 
GitLab