diff options
author | Hans Bolinder <[email protected]> | 2016-09-28 10:01:17 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2016-09-28 10:12:51 +0200 |
commit | f738330c5588f5e2ad7e3661c675bbffb4795850 (patch) | |
tree | de655ec0bf0ff30847c2821bd3922313a6983eae /lib/parsetools/src | |
parent | ee80c779c3ae7900e183c98f2568d386e03e3b66 (diff) | |
download | otp-f738330c5588f5e2ad7e3661c675bbffb4795850.tar.gz otp-f738330c5588f5e2ad7e3661c675bbffb4795850.tar.bz2 otp-f738330c5588f5e2ad7e3661c675bbffb4795850.zip |
parsetools: Correct handling of Unicode in Leex
The 'dfa_graph' option did not work with Unicode.
The testcase 'unicode' was not correct.
Diffstat (limited to 'lib/parsetools/src')
-rw-r--r-- | lib/parsetools/src/leex.erl | 4 |
1 files changed, 3 insertions, 1 deletions
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). |