Overview
Comment: | tools/smaz: partially genericize Print_Dictionary |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
966f7e5239cc144e888b17e2f67de1ce |
User & Date: | nat on 2016-12-07 21:36:23 |
Other Links: | manifest | tags |
Context
2016-12-08
| ||
22:29 | tools/smaz: genericize Process check-in: cfdc0a7979 user: nat tags: trunk | |
2016-12-07
| ||
21:36 | tools/smaz: partially genericize Print_Dictionary check-in: 966f7e5239 user: nat tags: trunk | |
2016-12-06
| ||
22:40 | tools/smaz: refactor dictionary holder inside the generic package check-in: 1eac1c8b76 user: nat tags: trunk | |
Changes
Modified tools/smaz.adb from [acdde2a761] to [c5aac94447].
︙ | ︙ | |||
127 128 129 130 131 132 133 | function Last_Code (Dict : in Natools.Smaz_256.Dictionary) return Ada.Streams.Stream_Element is (Dict.Last_Code); -- Return the last valid entry procedure Print_Dictionary | < < < < | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | function Last_Code (Dict : in Natools.Smaz_256.Dictionary) return Ada.Streams.Stream_Element is (Dict.Last_Code); -- Return the last valid entry procedure Print_Dictionary (Output : in Ada.Text_IO.File_Type; Dictionary : in Natools.Smaz_256.Dictionary; Hash_Package_Name : in String := ""); -- print the given dictionary in the given file procedure Print_Help (Opt : in Getopt.Configuration; |
︙ | ︙ | |||
203 204 205 206 207 208 209 210 211 212 213 214 215 216 | Counts : in out Dictionary_Counts); with procedure Filter_By_Count (Counter : in out Word_Counter; Threshold_Count : in String_Count); with function Last_Code (Dict : in Dictionary) return Dictionary_Entry; with function Remove_Element (Dict : in Dictionary; Element : in Dictionary_Entry) return Dictionary; with function Simple_Dictionary | > > > > > > | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | Counts : in out Dictionary_Counts); with procedure Filter_By_Count (Counter : in out Word_Counter; Threshold_Count : in String_Count); with function Last_Code (Dict : in Dictionary) return Dictionary_Entry; with procedure Print_Dictionary (Output : in Ada.Text_IO.File_Type; Dict : in Dictionary; Hash_Package_Name : in String := "") is <>; with function Remove_Element (Dict : in Dictionary; Element : in Dictionary_Entry) return Dictionary; with function Simple_Dictionary |
︙ | ︙ | |||
280 281 282 283 284 285 286 287 288 289 290 291 292 293 | Dict : in Dictionary; Corpus : in String_Lists.List; Compressed_Size : out Ada.Streams.Stream_Element_Count; Counts : out Dictionary_Counts); -- Return the same results as Natools.Smaz.Tools.Evaluate_Dictionary, -- but hopefully more quickly, using Job_Count tasks. function To_Dictionary (Handler : in Callback'Class; Input : in String_Lists.List; Method : in Methods) return Dictionary; -- Convert the input into a dictionary given the option in Handler | > > > > > > | 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | Dict : in Dictionary; Corpus : in String_Lists.List; Compressed_Size : out Ada.Streams.Stream_Element_Count; Counts : out Dictionary_Counts); -- Return the same results as Natools.Smaz.Tools.Evaluate_Dictionary, -- but hopefully more quickly, using Job_Count tasks. procedure Print_Dictionary (Filename : in String; Dict : in Dictionary; Hash_Package_Name : in String := ""); -- print the given dictionary in the given file function To_Dictionary (Handler : in Callback'Class; Input : in String_Lists.List; Method : in Methods) return Dictionary; -- Convert the input into a dictionary given the option in Handler |
︙ | ︙ | |||
503 504 505 506 507 508 509 510 511 512 513 514 515 516 | Cursor : String_Lists.Cursor := String_Lists.First (Corpus); begin Compressed_Size := 0; Counts := (others => 0); Parallel_Run (Cursor, Job_Count); end Parallel_Evaluate_Dictionary; function To_Dictionary (Handler : in Callback'Class; Input : in String_Lists.List; Method : in Methods) return Dictionary is | > > > > > > > > > > > > > > > > > > > > | 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 | Cursor : String_Lists.Cursor := String_Lists.First (Corpus); begin Compressed_Size := 0; Counts := (others => 0); Parallel_Run (Cursor, Job_Count); end Parallel_Evaluate_Dictionary; procedure Print_Dictionary (Filename : in String; Dict : in Dictionary; Hash_Package_Name : in String := "") is begin if Filename = "-" then Print_Dictionary (Ada.Text_IO.Current_Output, Dict, Hash_Package_Name); elsif Filename'Length > 0 then declare File : Ada.Text_IO.File_Type; begin Ada.Text_IO.Create (File, Name => Filename); Print_Dictionary (File, Dict, Hash_Package_Name); Ada.Text_IO.Close (File); end; end if; end Print_Dictionary; function To_Dictionary (Handler : in Callback'Class; Input : in String_Lists.List; Method : in Methods) return Dictionary is |
︙ | ︙ | |||
724 725 726 727 728 729 730 | R.Add_Option ("no-vlen-verbatim", No_Argument, No_Vlen_Verbatim); R.Add_Option ("score-method", Required_Argument, Score_Method); R.Add_Option ("vlen-verbatim", No_Argument, Vlen_Verbatim); return R; end Getopt_Config; | < < < < < < < < < < < < < < < < < < < < | 752 753 754 755 756 757 758 759 760 761 762 763 764 765 | R.Add_Option ("no-vlen-verbatim", No_Argument, No_Vlen_Verbatim); R.Add_Option ("score-method", Required_Argument, Score_Method); R.Add_Option ("vlen-verbatim", No_Argument, Vlen_Verbatim); return R; end Getopt_Config; procedure Print_Dictionary (Output : in Ada.Text_IO.File_Type; Dictionary : in Natools.Smaz_256.Dictionary; Hash_Package_Name : in String := "") is procedure Put_Line (Line : in String); |
︙ | ︙ | |||
935 936 937 938 939 940 941 | Hash_Package : constant String := Ada.Strings.Unbounded.To_String (Handler.Hash_Package); begin Natools.Smaz_Tools.Set_Dictionary_For_Trie_Search (Word_List); Dictionary.Hash := Natools.Smaz_Tools.Trie_Search'Access; if Ada_Dictionary'Length > 0 then | | | 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 | Hash_Package : constant String := Ada.Strings.Unbounded.To_String (Handler.Hash_Package); begin Natools.Smaz_Tools.Set_Dictionary_For_Trie_Search (Word_List); Dictionary.Hash := Natools.Smaz_Tools.Trie_Search'Access; if Ada_Dictionary'Length > 0 then Dict_256.Print_Dictionary (Ada_Dictionary, Dictionary, Hash_Package); end if; if Hash_Package'Length > 0 then Natools.Smaz_Tools.GNAT.Build_Perfect_Hash (Word_List, Hash_Package); end if; if Handler.Sx_Dict_Output then |
︙ | ︙ |