From f738330c5588f5e2ad7e3661c675bbffb4795850 Mon Sep 17 00:00:00 2001 From: Hans Bolinder Date: Wed, 28 Sep 2016 10:01:17 +0200 Subject: parsetools: Correct handling of Unicode in Leex The 'dfa_graph' option did not work with Unicode. The testcase 'unicode' was not correct. --- lib/parsetools/src/leex.erl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/parsetools/src') diff --git a/lib/parsetools/src/leex.erl b/lib/parsetools/src/leex.erl index 15d42a4d9c..602e47404d 100644 --- a/lib/parsetools/src/leex.erl +++ b/lib/parsetools/src/leex.erl @@ -1586,6 +1586,8 @@ out_dfa_graph(St, DFA, DF) -> case file:open(St#leex.gfile, [write]) of {ok,Gfile} -> try + %% Set the same encoding as infile: + set_encoding(St, Gfile), io:fwrite(Gfile, "digraph DFA {~n", []), out_dfa_states(Gfile, DFA, DF), out_dfa_edges(Gfile, DFA), @@ -1621,7 +1623,7 @@ out_dfa_edges(File, DFA) -> foreach(fun (T) -> Crs = orddict:fetch(T, Tdict), Edgelab = dfa_edgelabel(Crs), - io:fwrite(File, " ~b -> ~b [label=\"~s\"];~n", + io:fwrite(File, " ~b -> ~b [label=\"~ts\"];~n", [S,T,Edgelab]) end, sort(orddict:fetch_keys(Tdict))) end, DFA). -- cgit v1.2.3