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?

Здравствуйте!

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

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

Чтв 30 Ноя 2017 19:21:37 +0200, Vasiliy Fofanov fofanov@act-europe.fr [ada_ru] <ada_ru@yahoogroups.com> написал:

Здравствуйте!

Может ли компилятор 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?

Большое всем спасибо!

Сейчас попробую.

Скорее всего имелось ввиду Wide_String или Wide_Wide_String?

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

Индивидуальные исходники проверены сборкой, там ошибок нет :)

From: ada_ru@yahoogroups.com [mailto:ada_ru@yahoogroups.com]

Sent: Thursday, November 30, 2017 8:35 PM

To: ada_ru@yahoogroups.com

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 варианты указанных пакетов?

С уважением.

Сергей Дюков.

On 11/30/2017 10:07 PM, Dukov Sergey dukov54@live.ru [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.

Здравствуйте, Сергей!

 

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

 

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

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