Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
home:Ledest:erlang:23
erlang
5832-Adds-codepoint-category-to-lookup-1.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5832-Adds-codepoint-category-to-lookup-1.patch of Package erlang
From 1fd83f1180c30944935f540ebef3b6201966f362 Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson <dgud@erlang.org> Date: Tue, 17 May 2022 16:06:15 +0200 Subject: [PATCH 2/3] Adds codepoint category to lookup/1 Category can be useful to user programs, such as in the terminal handling. Loaded code increases with these two commits with 21% Beam size increases from 23% --- lib/stdlib/test/unicode_util_SUITE.erl | 25 ++ .../unicode_util_SUITE_data/unicode_table.bin | Bin 0 -> 132842 bytes lib/stdlib/uc_spec/gen_unicode_mod.escript | 266 +++++++++++++++--- 3 files changed, 252 insertions(+), 39 deletions(-) create mode 100644 lib/stdlib/test/unicode_util_SUITE_data/unicode_table.bin diff --git a/lib/stdlib/test/unicode_util_SUITE.erl b/lib/stdlib/test/unicode_util_SUITE.erl index e4f3e5f379..ff9a1134d7 100644 --- a/lib/stdlib/test/unicode_util_SUITE.erl +++ b/lib/stdlib/test/unicode_util_SUITE.erl @@ -27,6 +27,7 @@ nfd/1, nfc/1, nfkd/1, nfkc/1, whitespace/1, get/1, + lookup/1, count/1]). -export([debug/0, id/1, bin_split/1, uc_loaded_size/0, @@ -45,6 +46,7 @@ all() -> nfd, nfc, nfkd, nfkc, whitespace, get, + lookup, count ]. @@ -324,6 +326,29 @@ verify_nfkc(Data0, LineNo, _Acc) -> get(_) -> add_get_tests. +lookup(Config) -> + DataDir = proplists:get_value(data_dir, Config), + {ok, Bin} = file:read_file(filename:join(DataDir, "unicode_table.bin")), + 0 = check_category(0, binary_to_term(Bin), 0), + ok. + +check_category(Id, [{Id, {_, _, _, What}}|Rest], Es) -> + case maps:get(category, unicode_util:lookup(Id)) of + What -> check_category(Id+1, Rest, Es); + _Err -> + io:format("~w Exp: ~w Got ~w~n",[Id, What, _Err]), exit(_Err), + check_category(Id+1, Rest, Es+1) + end; +check_category(Id, [{Next,_}|_] = Rest, Es) -> + case maps:get(category, unicode_util:lookup(Id)) of + {other, not_assigned} -> check_category(max(Id+1,Next-1), Rest, Es); + Err -> io:format("~w Exp: {other, not_assigned} Got ~w~n",[Id,Err]), + check_category(max(Id+1,Next-1), Rest, Es+1) + end; +check_category(_Id, [], Es) -> + Es. + + count(Config) -> Parent = self(), Exec = fun() -> diff --git a/lib/stdlib/test/unicode_util_SUITE_data/unicode_table.bin b/lib/stdlib/test/unicode_util_SUITE_data/unicode_table.bin new file mode 100644 index 0000000000000000000000000000000000000000..65b88fd273ae50fa23b894d90b7a7ed88cbd3817 GIT binary patch literal 132842 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 literal 0 HcmV?d00001 diff --git a/lib/stdlib/uc_spec/gen_unicode_mod.escript b/lib/stdlib/uc_spec/gen_unicode_mod.escript index ace4daf788..a677bae2e9 100644 --- a/lib/stdlib/uc_spec/gen_unicode_mod.escript +++ b/lib/stdlib/uc_spec/gen_unicode_mod.escript @@ -23,7 +23,7 @@ -mode(compile). --record(cp, {name, class, dec, comp, cs}). +-record(cp, {name, class, dec, comp, cs, cat}). -define(MOD, "unicode_util"). main(_) -> @@ -80,7 +80,7 @@ file_open(File) -> parse_unicode_data(Line0, Acc) -> Line = string:chomp(Line0), - [CodePoint,Name,_Cat,Class,_BiDi,Decomp, + [CodePoint,Name,Cat,Class,_BiDi,Decomp, _N1,_N2,_N3,_BDMirror,_Uni1,_Iso|Case] = tokens(Line, ";"), {Dec,Comp} = case to_decomp(Decomp) of {_, _} = Compabil -> {[], Compabil}; @@ -88,7 +88,7 @@ parse_unicode_data(Line0, Acc) -> end, [{hex_to_int(CodePoint), #cp{name=list_to_binary(Name),class=to_class(Class), - dec=Dec, comp=Comp, cs=to_case(Case)}} + dec=Dec, comp=Comp, cs=to_case(Case), cat=Cat}} |Acc]. to_class(String) -> @@ -247,10 +247,10 @@ gen_header(Fd) -> gen_static(Fd) -> io:put_chars(Fd, "-spec lookup(char()) -> #{'canon':=[{byte(),char()}], 'ccc':=byte(), " - "'compat':=[] | {atom(),[{byte(),char()}]}}.\n"), - io:put_chars(Fd, "lookup(Codepoint) ->\n" - " {CCC,Can,Comp} = unicode_table(Codepoint),\n" - " #{ccc=>CCC, canon=>Can, compat=>Comp}.\n\n"), + "'compat':=[] | {atom(),[{byte(),char()}]}, 'category':={atom(),atom()}}.\n"), + io:put_chars(Fd, "lookup(Codepoint) when is_integer(Codepoint) ->\n" + " {CCC,Can,Comp,Cat} = unicode_table(Codepoint),\n" + " #{ccc=>CCC, canon=>Can, compat=>Comp, category=>category(Codepoint,Cat)}.\n\n"), io:put_chars(Fd, "-spec get_case(char()) -> #{'fold':=gc(), 'lower':=gc(), 'title':=gc(), 'upper':=gc()}.\n"), io:put_chars(Fd, "get_case(Codepoint) ->\n" @@ -260,7 +260,8 @@ gen_static(Fd) -> " end.\n\n"), io:put_chars(Fd, "spec_version() -> {14,0}.\n\n\n"), - io:put_chars(Fd, "class(Codepoint) -> {CCC,_,_} = unicode_table(Codepoint),\n CCC.\n\n"), + io:put_chars(Fd, "class(Codepoint) -> \n" + " {CCC,_,_,_} = unicode_table(Codepoint),\n CCC.\n\n"), io:put_chars(Fd, "-spec uppercase(unicode:chardata()) -> " "maybe_improper_list(gc(),unicode:chardata()).\n"), @@ -322,6 +323,10 @@ gen_static(Fd) -> io:put_chars(Fd, "is_wide([C|Cs]) ->\n"), io:put_chars(Fd, " is_wide_cp(C) orelse is_wide(Cs);\n"), io:put_chars(Fd, "is_wide([]) ->\n false.\n\n"), + + io:put_chars(Fd, "category(CP, lookup_category) ->\n" + " cat_translate(lookup_category(CP));\n" + "category(_, Def) -> cat_translate(Def).\n\n"), ok. gen_norm(Fd) -> @@ -368,8 +373,8 @@ gen_norm(Fd) -> io:put_chars(Fd, "decompose(CP) when is_integer(CP), CP < 16#AC00, 16#D7A3 > CP ->\n" " case unicode_table(CP) of\n" - " {_,[],_} -> CP;\n" - " {_,CPs,_} -> canonical_order(CPs)\n" + " {_,[],_,_} -> CP;\n" + " {_,CPs,_,_} -> canonical_order(CPs)\n" " end;\n" "decompose(CP) ->\n" " canonical_order(decompose_1(CP)).\n" @@ -386,8 +391,8 @@ gen_norm(Fd) -> " end;\n" "decompose_1(CP) when is_integer(CP) ->\n" " case unicode_table(CP) of\n" - " {CCC, [],_} -> [{CCC,CP}];\n" - " {_, CPs, _} -> CPs\n" + " {CCC, [],_,_} -> [{CCC,CP}];\n" + " {_,CPs,_,_} -> CPs\n" " end;\n" "decompose_1([CP|CPs]) ->\n" " decompose_1(CP) ++ decompose_1(CPs);\n" @@ -411,9 +416,9 @@ gen_norm(Fd) -> io:put_chars(Fd, "decompose_compat(CP) when is_integer(CP), CP < 16#AC00, 16#D7A3 > CP ->\n" " case unicode_table(CP) of\n" - " {_, [], []} -> CP;\n" - " {_, _, {_,CPs}} -> canonical_order(CPs);\n" - " {_, CPs, _} -> canonical_order(CPs)\n" + " {_, [], [], _} -> CP;\n" + " {_, _, {_,CPs}, _} -> canonical_order(CPs);\n" + " {_, CPs, _, _} -> canonical_order(CPs)\n" " end;\n" "decompose_compat(CP) ->\n" " canonical_order(decompose_compat_1(CP)).\n" @@ -430,9 +435,9 @@ gen_norm(Fd) -> " end;\n" "decompose_compat_1(CP) when is_integer(CP) ->\n" " case unicode_table(CP) of\n" - " {CCC, [], []} -> [{CCC,CP}];\n" - " {_, _, {_,CPs}} -> CPs;\n" - " {_, CPs, _} -> CPs\n" + " {CCC, [], [], _} -> [{CCC,CP}];\n" + " {_, _, {_,CPs}, _} -> CPs;\n" + " {_, CPs, _, _} -> CPs\n" " end;\n" "decompose_compat_1([CP|CPs]) ->\n" " decompose_compat_1(CP) ++ decompose_compat_1(CPs);\n" @@ -890,46 +895,229 @@ gen_compose_pairs(Fd, ExclData, Data) -> ok. gen_case_table(Fd, Data) -> - Case = array:foldr(fun(CP, #cp{cs={U0,L0,T0,F0}}, Acc) -> - U = def_cp(U0,CP), - L = def_cp(L0,CP), - T = def_cp(T0,CP), - F = def_cp(F0,CP), - case T =:= U andalso F =:= L of - true -> - [{CP,{U,L}}|Acc]; - false -> - [{CP,{U,L,T,F}}|Acc] - end; - (_CP, _, Acc) -> Acc - end, [], Data), + HC = fun(CP, #cp{cs=Cs}, Acc) -> + case case_data(CP, Cs) of + default -> Acc; + CaseData -> [{CP,CaseData}|Acc] + end + end, + Case = array:sparse_foldr(HC, [], Data), [io:format(Fd, "case_table(~w) -> ~w;\n", [CP, Map])|| {CP,Map} <- Case], io:format(Fd, "case_table(CP) -> {CP, CP}.\n\n",[]), ok. +case_data(CP, {U0,L0,T0,F0}) -> + U = def_cp(U0,CP), + L = def_cp(L0,CP), + T = def_cp(T0,CP), + F = def_cp(F0,CP), + case T =:= U andalso F =:= L of + true -> {U,L}; + false -> {U,L,T,F} + end; +case_data(_, _) -> + default. + def_cp([], CP) -> CP; def_cp(CP, _) -> CP. gen_unicode_table(Fd, Data) -> - FixCanon = fun(_, #cp{class=CCC, dec=Dec, comp=Comp}) -> + FixCanon = fun(_, #cp{class=CCC, dec=Dec, comp=Comp, cat=Cat}) -> Canon = decompose(Dec,Data), - #{ccc=>CCC, canonical=>Canon, compat=>Comp} + #{ccc=>CCC, canonical=>Canon, compat=>Comp, cat=>Cat} end, AofMaps0 = array:sparse_map(FixCanon, Data), - FixCompat = fun(_, #{ccc:=CCC, canonical:=Canon, compat:=Comp}) -> + FixCompat = fun(_, #{ccc:=CCC, canonical:=Canon, compat:=Comp, cat:=Cat}) -> Compat = decompose_compat(Canon, Comp, AofMaps0), - {CCC, Canon, Compat} + {CCC, Canon, Compat, category(Cat)} end, AofMaps1 = array:sparse_map(FixCompat, AofMaps0), Dict0 = array:sparse_to_orddict(AofMaps1), - Def = {0, [], []}, - Dict = lists:filter(fun({_, Map}) -> Map =/= Def end, Dict0), - - [io:format(Fd, "unicode_table(~w) -> ~w;~n", [CP, Map]) || {CP,Map} <- Dict], + Def = {0, [], [], lookup_category}, + {NonDef, CatTable} = lists:partition(fun({_, {0,[],[],_Cat}}) -> false; + (_) -> true + end, Dict0), + + %% Export testfile + %% Dict1 = lists:map(fun({Id,{CCC, Canon, Compat, Cat}}) -> + %% {_, ECat} = lists:keyfind(Cat, 1, category_translate()), + %% {Id, {CCC, Canon, Compat, ECat}} + %% end, Dict0), + %% file:write_file("../test/unicode_util_SUITE_data/unicode_table.bin", term_to_binary(Dict1, [compressed])), + + [io:format(Fd, "unicode_table(~w) -> ~w;~n", [CP, Map]) || {CP,Map} <- NonDef], io:format(Fd, "unicode_table(_) -> ~w.~n~n",[Def]), + + [io:format(Fd, "cat_translate(~w) -> ~w;~n", [Cat, EC]) || {Cat,EC} <- category_translate()], + io:format(Fd, "cat_translate(Cat) -> error({internal_error, Cat}).~n~n",[]), + gen_category(Fd, CatTable, Data), + ok. + +category([C,Sub]) -> + list_to_atom([C-$A+$a, Sub]). + +category_translate() -> + [{lu, {letter, uppercase}}, % Letter, Uppercase + {ll, {letter, lowercase}}, % Letter, Lowercase + {lt, {letter, titlecase}}, % Letter, Titlecase + {mn, {mark, non_spacing}}, % Mark, Non-Spacing + {mc, {mark, spacing_combining}}, % Mark, Spacing Combining + {me, {mark, enclosing}}, % Mark, Enclosing + {nd, {number, decimal}}, % Number, Decimal Digit + {nl, {number, letter}}, % Number, Letter + {no, {number, other}}, % Number, Other + {zs, {separator, space}}, % Separator, Space + {zl, {separator, line}}, % Separator, Line + {zp, {separator, paragraph}}, % Separator, Paragraph + {cc, {other, control}}, % Other, Control + {cf, {other, format}}, % Other, Format + {cs, {other, surrogate}}, % Other, Surrogate + {co, {other, private}}, % Other, Private Use + {cn, {other, not_assigned}}, % Other, Not Assigned (no characters in the file have this property) + {lm, {letter, modifier}}, % Letter, Modifier + {lo, {letter, other}}, % Letter, Other + {pc, {punctuation, connector}}, % Punctuation, Connector + {pd, {punctuation, dash}}, % Punctuation, Dash + {ps, {punctuation, open}}, % Punctuation, Open + {pe, {punctuation, close}}, % Punctuation, Close + {pi, {punctuation, initial}}, % Punctuation, Initial quote (may behave like Ps or Pe depending on usage) + {pf, {punctuation, final}}, % Punctuation, Final quote (may behave like Ps or Pe depending on usage) + {po, {punctuation, other}}, % Punctuation, Other + {sm, {symbol, math}}, % Symbol, Math + {sc, {symbol, currency}}, % Symbol, Currency + {sk, {symbol, modifier}}, % Symbol, Modifier + {so, {symbol, other}}]. % Symbol, Other + +gen_category(Fd, [{CP, {_, _, _, Cat}}|Rest], All) -> + gen_category(Fd, Rest, Cat, CP, CP, All, []). + +gen_category(Fd, [{CP, {_, _, _, NextCat}}|Rest], Cat, Start, End, All, Acc) + when End+1 =:= CP -> + IsLetterCat = letter_cat(NextCat, Cat), + if NextCat =:= Cat -> + gen_category(Fd, Rest, Cat, Start, CP, All, Acc); + IsLetterCat -> + gen_category(Fd, Rest, letter, Start, CP, All, Acc); + Start =:= End -> + io:format(Fd, "lookup_category(~w) -> ~w;~n", [Start, Cat]), + gen_category(Fd, Rest, NextCat, CP, CP, All, Acc); + true -> + case Cat of + letter -> + io:format(Fd, "lookup_category(CP) when ~w =< CP, CP =< ~w-> subcat_letter(CP);~n", + [Start, End]), + gen_category(Fd, Rest, NextCat, CP, CP, All, + lists:reverse(lists:seq(Start, End)) ++ Acc); + _ -> + io:format(Fd, "lookup_category(CP) when ~w =< CP, CP =< ~w-> ~w;~n", [Start, End, Cat]), + gen_category(Fd, Rest, NextCat, CP, CP, All, Acc) + end + end; +gen_category(Fd, [{CP, {_, _, _, NewCat}}|Rest]=Cont, Cat, Start, End, All, Acc) -> + case array:get(End+1, All) of + undefined -> + if Start =:= End -> + io:format(Fd, "lookup_category(~w) -> ~w;~n", [Start, Cat]), + gen_category(Fd, Rest, NewCat, CP, CP, All, Acc); + true -> + case Cat of + letter -> + io:format(Fd, "lookup_category(CP) when ~w =< CP, CP =< ~w-> subcat_letter(CP);~n", + [Start, End]), + gen_category(Fd, Rest, NewCat, CP, CP, All, + lists:reverse(lists:seq(Start, End)) ++ Acc); + _ -> + io:format(Fd, "lookup_category(CP) when ~w =< CP, CP =< ~w -> ~w;~n", + [Start, End, Cat]), + gen_category(Fd, Rest, NewCat, CP, CP, All, Acc) + end + end; + _ -> %% We can make ranges larger by setting already assigned category + gen_category(Fd, Cont, Cat, Start, End+1, All, Acc) + end; +gen_category(Fd, [], Cat, Start, End, All, Acc) -> + case Start =:= End of + true -> + io:format(Fd, "lookup_category(~w) -> ~w;~n", [Start, Cat]); + false -> + io:format(Fd, "lookup_category(CP) when ~w =< CP, CP =< ~w -> ~w;~n", [Start, End, Cat]) + end, + io:put_chars(Fd, "lookup_category(Cp) -> cn.\n\n"), + gen_letter(Fd, lists:reverse(Acc), All), ok. +letter_cat(lm, _) -> + false; +letter_cat(_, lm) -> + false; +letter_cat(L1, L2) -> + is_letter(L1) andalso (L2 =:= letter orelse is_letter(L2)). + +is_letter(LC) -> + lists:member(LC, [lu,ll,lt,lo,lm]). + +gen_letter(Fd, Letters, All) -> + gen_letter(Fd, Letters, All, []). +gen_letter(Fd, [CP|Rest], All, Acc) -> + case array:get(CP, All) of + undefined -> + gen_letter(Fd, Rest, All, Acc); + #cp{cat=Cat0, cs=Cs} -> + case {category(Cat0), case_table(CP,case_data(CP, Cs))} of + {Sub,Sub} -> + gen_letter(Fd, Rest, All, Acc); + {lm,_} -> + gen_letter(Fd, Rest, All, Acc); + {Cat, _Dbg} -> + case is_letter(Cat) of + true -> + gen_letter(Fd, Rest, All, [{CP, Cat}|Acc]); + false -> + gen_letter(Fd, Rest, All, Acc) + end + end + end; +gen_letter(Fd, [], _, Acc) -> + [{Start, Cat}|SCletters] = lists:reverse(Acc), + subcat_letter(Fd, SCletters, Start, Start, Cat), + io:put_chars(Fd, + "subcat_letter(CP) ->\n" + " case case_table(CP) of\n" + " {CP, CP} -> lo; %{letter,other};\n" + " {CP, _} -> lu; %{letter,uppercase};\n" + " {_, CP} -> ll; %{letter,lowercase};\n" + " {_, _, CP, _} -> lt; %{letter,titlecase};\n" + " {CP, _, _, _} -> lu; %{letter,uppercase};\n" + " {_,CP,_,_} -> ll %{letter,lowercase}\n" + " end.\n\n"). + +subcat_letter(Fd, [{CP, Cat}|R], Start, End, Cat) when End+1 =:= CP -> + subcat_letter(Fd, R, Start, CP, Cat); +subcat_letter(Fd, Rest, Start, Start, Cat) -> + io:format(Fd, "subcat_letter(~w) -> ~w;\n",[Start,Cat]), + case Rest of + [] -> ok; + [{CP, NewCat}|R] -> subcat_letter(Fd, R, CP, CP, NewCat) + end; +subcat_letter(Fd, Rest, Start, End, Cat) -> + io:format(Fd, "subcat_letter(CP) when ~w =< CP, CP =< ~w -> ~w;\n",[Start,End,Cat]), + case Rest of + [] -> ok; + [{CP, NewCat}|R] -> subcat_letter(Fd, R, CP, CP, NewCat) + end. + +case_table(CP, CaseData) -> + case CaseData of + {CP, CP} -> lo; + {CP, _} -> lu; + {_, CP} -> ll; + {_, _, CP, _} -> lt; + {CP, _, _, _} -> lu; + {_,CP,_,_} -> ll; + default -> lo + end. + decompose([], _Data) -> []; decompose([CP|CPs], Data) when is_integer(CP) -> case array:get(CP,Data) of -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor