OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 18:34

Часовой пояс: UTC + 3 часа




Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Среда, 18 Январь, 2012 10:22 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Может, такое уже обсуждалось?

Есть текст, список имён, каждое имя на своей строке. Напускаю на текст сканер. Если имена латинские, то сканер читает имя целиком, как строчку. А если имена написаны русскими буквами, то каждая буква сканером воспринимается как строчка.

Считаю, это неправильно. Стоит ли патчить TextMappers?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Январь, 2012 10:44 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Логика в том, что идентификаторы КП считаются строками и без кавычек.
Код:
PROCEDURE (VAR s: Scanner) Scan*, NEW;
            CASE ch OF
            | "A" .. "Z", "a" .. "z", 0C0X .. 0D6X, 0D8X .. 0F6X, 0F8X .. 0FFX: Name(s)
            | '"': DoubleQuotedString(s)
            | "'": SingleQuotedString(s)
Насколько это правильно --- судить не берусь.

Решение --- либо берите строки в кавычки, как положено, либо сделайте себе специальную модификацию сканера. Патчить (глобально), мне кажется, не стоит.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Январь, 2012 10:59 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Но ведь TextMappers - достаточно обобщённый модуль:

Цитата:
TextMappers are mappers that use text riders to scan and format structured text.

Scanners are connectable to texts. They allow to scan the sequence of characters and embedded views which form a text for recognized structured subsequences (symbols). The various symbols that a scanner can recognize are defined in terms of scan types (cf. the constants above).


Ни слова о специфике КП и тем более о кодировках. Поэтому русские символы должны сканироваться не каким-то особым способом, а на общих основаниях.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Январь, 2012 16:22 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Кузьмицкий писал(а):
Цитата:
recognized structured subsequences (symbols).
Вот тут как раз и подразумевается специфика КП.
Неточность документации.

Патчить ББ не надо, т.к. узнавание идентификаторов -- необходимый элемент текста-как-интерфейса в исполнении Оберонов.
А всё остальное должно быть в кавычках.

Или напишите обёртку для сканера -- ведь все случаи предусмотреть невозможно.
Вы ведь тоже, наверное, обучите свой сканер не всем юникодовским языкам.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB