- имена задаются в кавычках-ёлочках - „Посещается Маша“
- внутри имени допустимы подчёркивание, пробел и запятая
- на этапе лекс. разбора имена, содержащие пробел и запятую, преобразуются в соответствующие АО по следующим правилам:
- подчёркивание превращается в _ч
- пробел превращается в _п
- запятая превращается в _з
Имена с пробелами и знаками препинания и name mangling
Имена с пробелами и знаками препинания и name mangling
Хочется попробовать внедрить с минимальными трудозатратами имена с пробелами и знаками препинания. Вижу только такой вариант:
Re: Имена с пробелами и знаками препинания и name mangling
В реальности нам больше всего не хватает одного значка - а именно, запятой. Пробел удовлетворительно имитируется подчёркиванием. Простейший вариант добавить запятую - это взять в юникоде знак, похожий на неё, с кодом менее 04FFH.
Re: Имена с пробелами и знаками препинания и name mangling
Итак, общая идея: к допустимым для идентификатора значкам добавляются следующие:
И применяются они так:
А вот отвергнутые альтернативы и варианты, с которыми можно перепутать нашу новую запятую:
Значки не идеальны, но они позволяют не расширять диапазон допустимых значков. Иногда приходится составлять массивы размером, равным максимальному значению имеющего смысл в грамматике значка юникода. Раньше он был размером в 100, после добавления кириллицы стал порядка 1000. Большинство красивых значков расположены не ниже 8000. Массивы размером в 8000 элементов могут вызвать проблемы, некогда в этом разбираться. Поэтому пришлось подобрать похожие значки с небольшими числовыми кодами.
Думается, что такое добавление довольно тривиально.
Предлагаю обсуждать.
Код: Выделить всё
ˉ˛¿«»¡
Код: Выделить всё
МеханикˉВодитель (* предпочтительный вариант вместо тире и дефиса *)
Привет˛Маша (* предпочтительный вариант замены запятой *)
КтоЗдесь¿ (* препочтительный вариант замены вопросительного знака *)
Стой¡ (* замена восклицательного знака *)
Предписание«Если» (* кавычки *)
Код: Выделить всё
Привет¨Маша
Привет¤Маша
ПриветjМаша
ПриветʻМаша
Привет,Маша
Привет˳Маша
Значки не идеальны, но они позволяют не расширять диапазон допустимых значков. Иногда приходится составлять массивы размером, равным максимальному значению имеющего смысл в грамматике значка юникода. Раньше он был размером в 100, после добавления кириллицы стал порядка 1000. Большинство красивых значков расположены не ниже 8000. Массивы размером в 8000 элементов могут вызвать проблемы, некогда в этом разбираться. Поэтому пришлось подобрать похожие значки с небольшими числовыми кодами.
Думается, что такое добавление довольно тривиально.
Предлагаю обсуждать.