Changes between Version 2 and Version 3 of Ada/Repository.Dictionary

Show
Ignore:
Author:
ogorod (IP: 195.225.52.253)
Timestamp:
03/26/08 14:46:43 (2 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Ada/Repository.Dictionary

    v2 v3  
    55 
    66Получение идентификатора по имени, если для даного имени еще невыделен идентификатор, то он создается 
    7  
     7{{{ 
    88   procedure Get_ID 
    99     (This   : in out Gela_Dictionary; 
    1010      Value  : in     Code_Point_Array; 
    1111      Result :    out ID); 
    12  
     12}}} 
    1313Особенности реализации: для получения идентификатора используется хеширующий алгоритм crc16, что гарантирует "статисчность" идентификатора для указанной строки. Кроме того реализована проверка на дублирование идентификаторов для разных строк, во избежание БОльших неприятностей ;) 
    1414 
    1515Извлечение имени по идентификатору 
    16  
     16{{{ 
    1717   function Get_Name 
    1818     (This  : in Gela_Dictionary; 
    1919      Value : in ID) 
    2020      return Code_Point_Array; 
    21  
     21}}} 
    2222 
    2323Отметка использования идентификатора. Поскольку словарик автоматически следит за сборкой мусора, все идентификаторы, к ктороым небыло доступа посредством Get_ID/Get_Name уничтожаются при закрытии, то возникла необходимость введения данной процедуры, для "маркирования" нужных идентификаторов, как существующих, чтоб они остались в репозитарии. 
    24  
     24{{{ 
    2525   procedure Marck 
    2626     (This  : in Gela_Dictionary; 
    2727      Value : in ID); 
     28}}} 
    2829 
    2930Очистка кеша. 
     31{{{ 
    3032   procedure Clear 
    3133     (This : in out Gela_Dictionary); 
     34}}} 
    3235 
    3336Количество идентификаторов в кеше. 
     37{{{ 
    3438   function Count 
    3539     (This : in Gela_Dictionary) 
    3640      return Natural; 
     41}}} 
    3742 
    38 В пакете Gela.Repository.Dictionary.File реализовано сохранение репозитария-словаря в файле.  
     43В пакете '''Gela.Repository.Dictionary.File''' реализовано сохранение репозитария-словаря в файле.  
    3944Особенности реализации: Реализована проверка валидности данных с использованием sha512, т.е. если файл будет поврежден по каким либо причинам, неккоректные данные читатся небудут. Файл в таком случае будет проигнорирован и кеш будет пустым.