IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Поддержка 32битного Юникода для Ada 95, для ознакомления
сообщение
Сообщение #1


Большевик–концептуал
***

Группа: Пользователи
Сообщений: 194
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: bu_gen@octagram.name
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  1  +


Основной пакет здесь — Ada_Magic_Forward.Wide_Wide_Characters.ads

Wide_Wide_Character объявляется как new Integer_32. Это нужно, чтоб по типу можно было бегать for и использовать в индексах массивах, хотя, наверное, такой просторный тип для этого не очень хорош. Также это позволяет использовать 'Pos и 'Val. Синтаксис is private такого не позволил бы. Синтаксис is (<>) допустим только для формальных параметров generic, а зря, тут бы тоже не помешало.

new Integer_32 заставляет валиться всякие разные унаследованные операции от Integer, и многочисленные объявления is abstract призваны бороться с этим наследством.

Так у нас получается публично перечисляемый тип, поддерживающий 'Pos и 'Val, на уровне типов отличный от любого целочисленного и не имеющий характерных для целочисленных типов операций.

Но при этом универсальное целое число неявно приводимо к новому типу, это без переделки в is private не побороть. И литералы символьные, наоборот, за новый тип не засчитываются.

По планам было в какой-то новой иерархии объявить subtype Character_32 is Wide_Wide_Character, чтоб только не видеть этого Wide_Wide. И он бы проецировался на родной или искусственный символьный тип


Прикрепленные файлы
Прикрепленный файл  Ada_Magic_Unicode_32.7z ( 4.88 килобайт ) Кол-во скачиваний: 299


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.04.2024 20:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name