Overview
Comment: | tools/smaz: work around a bugbox in GNAT 6.2 |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
d23d8fc3b61668e197217cf1ad94c81d |
User & Date: | nat on 2016-12-11 21:36:56 |
Other Links: | manifest | tags |
Context
2016-12-12
| ||
22:18 | tools/smaz: fix the validation of retired dictionaries check-in: c291af061e user: nat tags: trunk | |
2016-12-11
| ||
21:36 | tools/smaz: work around a bugbox in GNAT 6.2 check-in: d23d8fc3b6 user: nat tags: trunk | |
2016-12-10
| ||
22:30 | tools/smaz: instantiate the old code to make it available check-in: 53a6d91b09 user: nat tags: trunk | |
Changes
Modified tools/smaz.adb from [78257fe6d3] to [9042103961].
︙ | |||
129 130 131 132 133 134 135 136 137 138 139 140 141 142 | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | + + + + + + | overriding procedure Argument (Handler : in out Callback; Argument : in String) is null; function Activate_Dictionary (Dict : in Natools.Smaz_256.Dictionary) return Natools.Smaz_256.Dictionary; function Activate_Dictionary (Dict : in Natools.Smaz.Dictionary) return Natools.Smaz.Dictionary; -- Update Dictionary.Hash so that it can be actually used procedure Build_Perfect_Hash (Word_List : in Natools.Smaz.Tools.String_Lists.List; Package_Name : in String); -- Adapter between Smaz_256 generator and retired Smaz types procedure Convert (Input : in Natools.Smaz_Tools.String_Lists.List; |
︙ | |||
165 166 167 168 169 170 171 | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | - - - - + + + | -- print the given dictionary in the given file procedure Print_Help (Opt : in Getopt.Configuration; Output : in Ada.Text_IO.File_Type); -- Print the help text to the given file |
︙ | |||
274 275 276 277 278 279 280 | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | - - | Max_Pending_Count : in Ada.Containers.Count_Type); with function To_Dictionary (List : in String_Lists.List; Variable_Length_Verbatim : in Boolean) return Dictionary; |
︙ | |||
365 366 367 368 369 370 371 | 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 | - + - - | procedure Evaluate_Dictionary (Job_Count : in Natural; Dict : in Dictionary; Corpus : in String_Lists.List; Compressed_Size : out Ada.Streams.Stream_Element_Count; Counts : out Dictionary_Counts) is |
︙ | |||
604 605 606 607 608 609 610 | 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 | + - + - - | procedure Process (Handler : in Callback'Class; Word_List : in String_Lists.List; Data_List : in String_Lists.List; Method : in Methods) is Dict : constant Dictionary := Activate_Dictionary |
︙ | |||
1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 | 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | Handler.Algorithm := Algorithms.Base_256; when Options.Base_256_Retired => Handler.Algorithm := Algorithms.Base_256_Retired; end case; end Option; function Activate_Dictionary (Dict : in Natools.Smaz_256.Dictionary) return Natools.Smaz_256.Dictionary is Result : Natools.Smaz_256.Dictionary := Dict; begin Natools.Smaz_Tools.Set_Dictionary_For_Trie_Search (Tools_256.To_String_List (Result)); Result.Hash := Natools.Smaz_Tools.Trie_Search'Access; for I in Result.Offsets'Range loop if Natools.Smaz_Tools.Trie_Search (Natools.Smaz_256.Dict_Entry (Result, I)) /= Natural (I) then Ada.Text_IO.Put_Line (Ada.Text_IO.Current_Error, "Fail at" & Ada.Streams.Stream_Element'Image (I) & " -> " & Natools.String_Escapes.C_Escape_Hex (Natools.Smaz_256.Dict_Entry (Result, I), True) & " ->" & Natural'Image (Natools.Smaz_Tools.Trie_Search (Natools.Smaz_256.Dict_Entry (Result, I)))); end if; end loop; return Result; end Activate_Dictionary; function Activate_Dictionary (Dict : in Natools.Smaz.Dictionary) return Natools.Smaz.Dictionary is Result : Natools.Smaz.Dictionary := Dict; begin Natools.Smaz.Tools.Set_Dictionary_For_Trie_Search (Result); Result.Hash := Natools.Smaz.Tools.Trie_Search'Access; for I in Result.Offsets'Range loop if Natools.Smaz_Tools.Trie_Search (Natools.Smaz.Dict_Entry (Result, I)) /= Natural (I) then Ada.Text_IO.Put_Line (Ada.Text_IO.Current_Error, "Fail at" & Ada.Streams.Stream_Element'Image (I) & " -> " & Natools.String_Escapes.C_Escape_Hex (Natools.Smaz.Dict_Entry (Result, I), True) & " ->" & Natural'Image (Natools.Smaz.Tools.Trie_Search (Natools.Smaz.Dict_Entry (Result, I)))); end if; end loop; return Result; end Activate_Dictionary; procedure Build_Perfect_Hash (Word_List : in Natools.Smaz.Tools.String_Lists.List; Package_Name : in String) is Other_Word_List : Natools.Smaz_Tools.String_Lists.List; begin |
︙ | |||
1366 1367 1368 1369 1370 1371 1372 | 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | New_Line (Output); Put_Line (Output, Indent & Indent & "Use retired base-256 implementation"); end case; end loop; end Print_Help; |
︙ |