@@ -83,12 +83,17 @@ let unsanitize_gen_name s =
83
83
let unsanitize_name s =
84
84
let s = unsanitize_gen_name s in
85
85
if List. mem s reserved_keywords || has_reserved_prefix s then
86
- s ^ " _"
86
+ Some ( s ^ " _" )
87
87
else if String. length s > 0 then
88
88
match s.[0 ] with
89
- | 'A' .. 'Z' | '0' .. '9' -> " _" ^ s
90
- | _ -> s
91
- else s
89
+ | 'A' .. 'Z' | '0' .. '9' -> Some (" _" ^ s)
90
+ | '_' ->
91
+ if String. length s > 1 then
92
+ if s.[1 ] = '/' then None
93
+ else Some s
94
+ else None
95
+ | _ -> Some s
96
+ else Some s
92
97
93
98
let fprint_stack msg fmt stack =
94
99
Format. fprintf fmt " Stack %s:\n " msg;
@@ -198,19 +203,19 @@ let add_name stack seq name =
198
203
match stack with
199
204
| x :: _ ->
200
205
let name = unsanitize_name name in
201
- if x.node_name = None then x.node_name < - Some name;
206
+ if x.node_name = None then x.node_name < - name;
202
207
begin match x.kind, seq.kind with
203
208
| N_IF_END_RESULT _, N_IF _
204
209
| N_LOOP_RESULT _, N_LOOP _
205
210
| N_LOOP_LEFT_RESULT _, N_LOOP_LEFT _
206
211
| N_FOLD_RESULT _ , N_FOLD _ ->
207
- if seq.node_name = None then seq.node_name < - Some name;
212
+ if seq.node_name = None then seq.node_name < - name;
208
213
| _ -> ()
209
214
end ;
210
215
begin match x with
211
216
(* recover closures names *)
212
217
| { kind = N_PRIM "PAIR" ; args = [ { kind = N_LAMBDA _ } as x; _] } ->
213
- if x.node_name = None then x.node_name < - Some name;
218
+ if x.node_name = None then x.node_name < - name;
214
219
| _ -> ()
215
220
end ;
216
221
| [] -> ()
0 commit comments