![]() |
Модераторы: Vitalik |
![]() ![]() ![]() |
|
Checker |
|
|||
Unregistered |
UniH - версия 1.8
Чета не соображу - как описать выделение 16-ричных чисел. Это можно было бы легко реализовать, если бы SET-ы имели множество начальных символов и множество последующих. К примеру мнжество начальных символов ['0'..'9'], а следующих за ними ['0'..'9','A'..'F']. Как победить? И вторая загвоздка. Есть 2 списка ключевых слов. Первый - типы, второй идентификаторы. Все как в делфи. Разделитель точка. Нужно выделить сию конструкцию целиком. Черт с ней, с точкой, хотя бы оба идентификатора. А то только первый. call TDock_Goner.SelfDestruct Если при формировании списка типов добавлять те же идентификаторы с точкой, тогда проблема решается. Но это как-то криво. call TDock_Goner.SelfDestruct Подскажите, плз. |
|||
|
||||
Quadr0 |
|
|||
Unregistered |
...
Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 01:16 |
|||
|
||||
Checker |
|
||||
Unregistered |
Примеры посмотрел. Для 16-ричных чисел выделение хорошо работает, если число начинается с определенного символа, например как в делфи '$' или как в С, начиная с '0х'. Тогда все просто. В ассемблере число начинается с цифры '0..9' и может содержать '0..9','A..F'. Например 8FDE00. Для описания таких чисел (в существующих правилах Range) потребуется 10 Правил - по одному для каждой цифры 0..9. Правильно?
Не, я не про выделение по двойному щелчку, я про подсветку синтаксиса. К примеру, моему компилятору известен список классов (тот же TDock_Goner). И известны переменные и функции, принадлежащие этому классу (например SelfDestruct). В редакторе нужно подсветить другим цветом все выражение TDock_Goner.SelfDestruct, для того, чтобы подтвердить, что ошибки в написании идентификаторов нет. Для этого формирую 2 правила 'Keywords' с этими списками. Символ '.' стоит в делимитерах. Так вот первое слово выделяется, а то что после точки - нет. ![]() Может я сильно многово хочу? ![]() |
||||
|
|||||
Checker |
|
|||
Unregistered |
Блин, такой номер не проходит - выделяется подстрока внутри идентификаторов. Например jump L00000B18 ![]() |
|||
|
||||
Vitalik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Признаться, я очень давно хотел добавить такую фичу ![]() Собственно новый тип правил "SymbolSet" был придуман именно для этого... Постараюсь в ближайшем времени что-нибудь придумать ![]()
А вот это очень странно. По идее всё должно работать без проблем... Пришли ка мне, пожалуйста, свою подсветку ![]() P.S. Сегодня наконец-то приехал в Харьков, но доступа к своему компу пока нет. Надеюсь, завтра поселюсь в новую комнату и распакуюсь :-) |
||||
|
|||||
Checker |
|
||||
Unregistered |
Супер! Нет, правда. Очень полезная вещь.
Отправил. |
||||
|
|||||
Coriolis |
|
|||
![]() Ищущий ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 22.8.2005 Репутация: 1 Всего: 1 |
Vitalik
Да, я тоже хочу сделать подсветку цифр!!! Ой. Торможу - надо создать SymbolSet всего лишь! ![]() Это сообщение отредактировал(а) Coriolis - 16.9.2005, 18:05 |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |