Ada_Ru форум

Обсуждение языка Ада

[ada_ru] Литералы Wide String, Wide Wide String?

Оставить новое сообщение

Сообщения

Sergey Dukov
[ada_ru] Литералы Wide String, Wide Wide String?
2017-10-30 16:20:52
Здравствуйте!
Может ли компилятор GNAT строить правильное представление литералов Wide String или Wide Wide
String при кодировке исходников UTF-8 или ANSI?
Vasiliy Fofanov
Re: [ada_ru] Литералы Wide String, Wide Wide String?
2017-10-30 17:21:29
> Здравствуйте!
> Может ли компилятор GNAT строить правильное представление литералов Wide String или Wide Wide
String при кодировке исходников UTF-8 или ANSI?

Может. Мы на эту тему написали однажды вот такой примерчик: https://www.adacore.com/gems/gem-22 
Maxim Reznik
Re: Re: [ada_ru] Литералы Wid­e String, Wide Wide Strin­g?
2017-10-30 17:33:54

Чтв 30 Ноя 2017 19:21:37 +0200, Vasiliy Fofanov [email protected] [ada ru] <ada
[email protected]> написал:
>       > Здравствуйте!
> > Может ли компилятор GNAT строить правильное представление литералов Wide String или Wide Wide
String при кодировке исходников UTF-8 или ANSI?
> 

Чтобы использовать UTF-8 в исходниках нужно компилятору указать ключ -gnatW8.

> Может. Мы на эту тему написали однажды вот такой примерчик: https://www.adacore.com/gems/gem-22  
 
>     

А ведь странный примерчик:

   My Favorite Pie : String := "π";   --  :)

Символ "π" не входит в Latin-1. О чём компилятор и сообщит

main.adb:2:33: literal out of range of type Standard.Character

Скорее всего имелось ввиду Wide String или Wide Wide String?
Sergey Dukov
[ada_ru] Re: Литерал ы Wide Stri ng, Wide Wid e String?
2017-10-30 17:56:21
Большое всем спасибо!
 Сейчас попробую.
 
Vasiliy Fofanov
Re: [ada_ru] Литералы Wid­e String, Wide Wide Strin­g?
2017-10-30 18:02:17
> Скорее всего имелось ввиду Wide_String или Wide_Wide_String?

Безусловно :)

Индивидуальные исходники проверены сборкой, там ошибок нет :)
Sergey Dukov
RE: [ada_ru] Re: Литералы Wide String, Wide Wide String?
2017-10-30 19:07:51

From: [email protected] [mailto:[email protected]]
Sent: Thursday, November 30, 2017 8:35 PM
To: [email protected]
Subject: [ada_ru] Re: Литералы Wide String, Wide Wide String?

>К великому счастью, про ANSI — ни сном, ни духом. Только этого бардака
>там не хватало. Настрадались уже в Си, Делфи и Джаве.

[Sergey Dukov] Вообще то я при реализации сборки 64-разрядной версии GNAT gpl 2017
(http://www.rtsdd.ru/gnat_gpl_2017_building_up_mingw64.aspx) ввёл в GPS кодировки ANSI и OEM, а
кодировку по умолчанию установил ANSI. При программировании под Windows нужны только ANSI, OEM и
UTF-8 кодировки. В указанной сборке я сгенерировал ANSI варианты пакетов GNATCOM, GWindows и GHTML.
Может лучше сгенерировать UNICODE варианты указанных пакетов?
С уважением.
Сергей Дюков.
Vadim Godunko
Re: [ada_ru] Re: Литералы Wide String, Wide Wide String?
2017-10-30 19:27:19
On 11/30/2017 10:07 PM, Dukov Sergey [email protected] [ada_ru] wrote:
> 
> */[Sergey Dukov] /*Вообще то я при реализации сборки 64-разрядной версии 
> GNATgpl 2017 
> (http://www.rtsdd.ru/gnat_gpl_2017_building_up_mingw64.aspx) ввёл в 
> GPSкодировки ANSIи OEM, а кодировку по умолчанию установил ANSI. При 
> программировании под Windowsнужны только ANSI, OEMи UTF-8 кодировки. В 
> указанной сборке я сгенерировал ANSIварианты пакетов GNATCOM, GWindowsи 
> GHTML. Может лучше сгенерировать UNICODEварианты указанных пакетов?
> 
Под Windows безусловно пора переходить на UNICODE :) Современная RTL 
GNAT-а уже использует именно W (Unicode) API, и что бы не было 
"приятных" сюрпризов - лучше целенаправлено двигаться в мир Unicode.
Иван Леваше
[ada_ru] Re: Литералы Wide String, Wide Wide String?
2017-11-30 17:35:09
Здравствуйте, Сергей!

Я сделал заготовку, из которой штампую остальные проекты:

http://forum.pascal.net.ru/index.php?act=Attach&type=post&id=16123

Там Wide_Wide_String применяется.

> Может ли компилятор GNAT строить правильное представление литералов
> Wide_String или Wide_Wide_String при кодировке исходников UTF-8 или ANSI?

К великому счастью, про ANSI — ни сном, ни духом. Только этого бардака 
там не хватало. Настрадались уже в Си, Делфи и Джаве.

Вот ещё перевод 22й изюминки:

http://www.mediascan.by/index.files/gem000_ru/Gem-022_ru.pdf

С уважением,
Левашев Иван,
Барнаул


-- 
If you want to get to the top, you have to start at the bottom
Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти