Модераторы: Vitalik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hex числа и идентификаторы... 
:(
    Опции темы
Checker
Дата 25.8.2005, 17:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











UniH - версия 1.8

Чета не соображу - как описать выделение 16-ричных чисел.
Это можно было бы легко реализовать, если бы SET-ы имели множество
начальных символов и множество последующих.
К примеру мнжество начальных символов ['0'..'9'], а следующих за ними ['0'..'9','A'..'F'].
Как победить?

И вторая загвоздка.
Есть 2 списка ключевых слов. Первый - типы, второй идентификаторы. Все как
в делфи. Разделитель точка. Нужно выделить сию конструкцию целиком.
Черт с ней, с точкой, хотя бы оба идентификатора. А то только первый.

call TDock_Goner.SelfDestruct

Если при формировании списка типов добавлять те же идентификаторы с точкой,
тогда проблема решается. Но это как-то криво.

call TDock_Goner.SelfDestruct

Подскажите, плз.


  Вверх
Quadr0
Дата 26.8.2005, 19:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 01:16
  Вверх
Checker
Дата 27.8.2005, 09:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Quadr0 @ 26.8.2005, 19:31)
Стоп, подожди. Насчёт hex смотри примеры. А вообще поидее можно задать диапазон начинающийся с "$" и заканчивающийся пробелом (Close on term).


Примеры посмотрел. Для 16-ричных чисел выделение хорошо работает,
если число начинается с определенного символа, например как в делфи '$' или
как в С, начиная с '0х'. Тогда все просто.
В ассемблере число начинается с цифры '0..9' и может содержать
'0..9','A..F'. Например 8FDE00. Для описания таких чисел (в существующих правилах Range)
потребуется 10 Правил - по одному для каждой цифры 0..9. Правильно?

Цитата(Quadr0 @ 26.8.2005, 19:31)
На счёт второго не очень понял. Ты имеешь ввиду при двойном щелчке выделяется весь TDock_Goner.SelfDestruct, а не TDock_Goner? Хм... странно. Первое что приходит в голову - отсутствует символ точки в делимитерах(разделителях слов).


Не, я не про выделение по двойному щелчку, я про подсветку синтаксиса.
К примеру, моему компилятору известен список классов (тот же TDock_Goner).
И известны переменные и функции, принадлежащие этому классу (например SelfDestruct). В редакторе нужно подсветить другим цветом все выражение
TDock_Goner.SelfDestruct, для того, чтобы подтвердить, что ошибки в написании идентификаторов нет.
Для этого формирую 2 правила 'Keywords' с этими списками. Символ '.' стоит в делимитерах. Так вот первое слово выделяется, а то что после точки - нет.
smile

Может я сильно многово хочу? smile






  Вверх
Checker
Дата 27.8.2005, 10:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Checker @ 27.8.2005, 09:46)
потребуется 10 Правил - по одному для каждой цифры 0..9. Правильно?

Блин, такой номер не проходит - выделяется подстрока внутри идентификаторов. Например

jump L00000B18

smile

  Вверх
Vitalik
Дата 28.8.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Цитата(Checker @ 27.8.2005, 09:46)
В ассемблере число начинается с цифры '0..9' и может содержать '0..9','A..F'. Например 8FDE00.

Признаться, я очень давно хотел добавить такую фичу smile
Собственно новый тип правил "SymbolSet" был придуман именно для этого...

Постараюсь в ближайшем времени что-нибудь придумать smile

Цитата(Checker @ 25.8.2005, 17:50)
Есть 2 списка ключевых слов. Первый - типы, второй идентификаторы. Все как в делфи. Разделитель точка. Нужно выделить сию конструкцию целиком. Черт с ней, с точкой, хотя бы оба идентификатора. А то только первый.

А вот это очень странно. По идее всё должно работать без проблем...
Пришли ка мне, пожалуйста, свою подсветку smile

P.S. Сегодня наконец-то приехал в Харьков, но доступа к своему компу пока нет.
Надеюсь, завтра поселюсь в новую комнату и распакуюсь :-)

PM MAIL WWW ICQ YIM   Вверх
Checker
Дата 31.8.2005, 09:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Vitalik @ 28.8.2005, 18:35)
Цитата (Checker @ 27.8.2005, 09:46)
В ассемблере число начинается с цифры '0..9' и может содержать '0..9','A..F'. Например 8FDE00.

Признаться, я очень давно хотел добавить такую фичу smile
Собственно новый тип правил "SymbolSet" был придуман именно для этого...

Постараюсь в ближайшем времени что-нибудь придумать smile


Супер! Нет, правда. Очень полезная вещь.

Цитата(Vitalik @ 28.8.2005, 18:35)
Пришли ка мне, пожалуйста, свою подсветку


Отправил.

  Вверх
Coriolis
Дата 16.9.2005, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.8.2005

Репутация: 1
Всего: 1



Vitalik
Да, я тоже хочу сделать подсветку цифр!!!
Ой. Торможу - надо создать SymbolSet всего лишь! smile

Это сообщение отредактировал(а) Coriolis - 16.9.2005, 18:05
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема »


 




[ Время генерации скрипта: 0.0648 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.