OberonCore
https://forum.oberoncore.ru/

Toward Ultimate Unicode
https://forum.oberoncore.ru/viewtopic.php?f=3&t=795
Страница 4 из 4

Автор:  Пётр Кушнир [ Среда, 26 Февраль, 2014 10:12 ]
Заголовок сообщения:  Re: Юникод для идентификаторов КП

Прежде всего ведь понадобится изменить Language Report.

Автор:  Info21 [ Среда, 26 Февраль, 2014 10:19 ]
Заголовок сообщения:  Re: Юникод для идентификаторов КП

Пётр Кушнир писал(а):
Прежде всего ведь понадобится изменить Language Report.
Понадобится -- изменим :)

Автор:  Info21 [ Среда, 26 Февраль, 2014 10:24 ]
Заголовок сообщения:  Re: Юникод для идентификаторов КП

Alexander Shiryaev писал(а):
Info21 писал(а):
Лично я почти созрел для того, чтобы согласиться с предложением Trurl'я насчёт уникодизации Компонентного Паскаля (т.е. разрешение уникодовых идентификаторов)
А зачем?
Давление системы образования, где нужно использовать родные языки.

Профессиональные АйТишники проецируют школу -- особенно 5-7 классы -- в нуль, а зря: hubris наказуем.

Alexander Shiryaev писал(а):
Цитата:
через UTF-8 внутри
Почему именно UTF-8? Внутри же UCS-2.
А разве не EASCII?

Alexander Shiryaev писал(а):
Info21 писал(а):
Ведь Java, вроде, разрешает уникод в идентификаторах, нет?
Java Language Specification, Lexical Structure
Спасибо.

Alexander Shiryaev писал(а):
Цитата:
При неизменной длине SHORT-литерных массивов эффективная длина идентификаторов из не-EASCII литер с применением UTF-8 уменьшится вдвое (?)
нет
Пусть не вдвое. Но уменьшится. Насколько?

Автор:  Пётр Кушнир [ Среда, 26 Февраль, 2014 11:42 ]
Заголовок сообщения:  Re: Юникод для идентификаторов КП

Alexander Shiryaev писал(а):
Цитата:
через UTF-8 внутри

Почему именно UTF-8? Внутри же UCS-2.
Внутри кодовых и символьных файлов таки SHORTCHAR. Который и предлагается к замене на UTF-8.
Который умещает кирилицу в два байта, а вообще любой двухбайтный символ юникода умещает максимум в три байта utf-8, так я понимаю.

Автор:  Alexander Shiryaev [ Среда, 26 Февраль, 2014 12:04 ]
Заголовок сообщения:  Re: Юникод для идентификаторов КП

Да, всё так, теперь понятно..

Автор:  Евгений Темиргалеев [ Четверг, 27 Февраль, 2014 17:12 ]
Заголовок сообщения:  Re: Юникод для идентификаторов КП

Info21 писал(а):
Вопрос по длине идентификаторов.
При неизменной длине SHORT-литерных массивов эффективная длина идентификаторов из не-EASCII литер с применением UTF-8 уменьшится вдвое (?).

Насколько серьезные проблемы возникнут при изменении формата внутренних SHORT-литерных массивов?
Или это уже обсуждалось? Пож., дайте ссылку, кто помнит.
При определении внешнего представления ObjFile, SymFile используются цепочки --- длина в формате не зафиксирована. Поэтому достаточно из соотв. SHORT-литерных массивов сделать обычные литерные массивы и всё. Тем более, что они в каркасе они большей частью такие и есть (например, TYPE Ident в hook(StdInterpreter.CallHook).Call.

Поэтому ограничение в DevCPS.MaxIdLen = 256 таким же и останется.

Автор:  Пётр Кушнир [ Четверг, 27 Февраль, 2014 19:21 ]
Заголовок сообщения:  Re: Toward Ultimate Unicode

Учитывая вот это http://www.unicode.org/faq/basic_q.html#14 получается, что неплохо бы заменить ещё и UCS-2 на UTF-16 прежде чем приступать к модификации компонентов и ядра.

Автор:  Alexander Shiryaev [ Четверг, 27 Февраль, 2014 19:37 ]
Заголовок сообщения:  Re: Юникод для идентификаторов КП

Евгений Темиргалеев писал(а):
Поэтому достаточно из соотв. SHORT-литерных массивов сделать обычные литерные массивы и всё. Тем более, что они в каркасе они большей частью такие и есть (например, TYPE Ident в hook(StdInterpreter.CallHook).Call.

То есть изменить типы данных DevCPT.Name и DevCPT.String (ARRAY OF SHORTCHAR => ARRAY OF CHAR) ?

Автор:  Евгений Темиргалеев [ Четверг, 27 Февраль, 2014 22:57 ]
Заголовок сообщения:  Re: Юникод для идентификаторов КП

Alexander Shiryaev писал(а):
Евгений Темиргалеев писал(а):
Поэтому достаточно из соотв. SHORT-литерных массивов сделать обычные литерные массивы и всё. Тем более, что они в каркасе они большей частью такие и есть (например, TYPE Ident в hook(StdInterpreter.CallHook).Call.

То есть изменить типы данных DevCPT.Name и DevCPT.String (ARRAY OF SHORTCHAR => ARRAY OF CHAR) ?
В общем да, идея такая. DevCPT.Name как пример подходит. DevCPT.String = POINTER TO ARRAY OF SHORTCHAR уже в utf8 хранится, если не ошибаюсь. Там может смысла менять и не будет... сразу...

(я говорил только про то, чтобы во внутреннем представлении задействовать CHAR-цепочки, подразумевая во внешнем utf8)

Страница 4 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/