Интересует подсветка asm листингов.
Не поиск и замена заранее заданных в базе регистров, функций и операторов.
Или может кто поможет составить регулярные выражения чтоб парсить строки кода asm (синтаксис masm) ?
За вознаграждение, конечно.
Приведу пример по коду:
Цитата:
mov esi, [ebx + edx + 78h]
Нужна регулярка чтоб получился массив:
0 => "mov" - оператор (может обрамляться любым количеством пробелов и табов)
1 => "esi" - первый аргумент
2 => "[ebx + edx + 78h]" - второй аргумент (отделяется от первого запятой и вариациями пробелов и табов)
Оператор может содержать и 1 аргумент.
Цитата:
inc eax
Или может не содержать аргументов вообще.
Цитата:
lodsd
Примеры операторов с 2 аргументами
Цитата:
xchg eax, ecx
cmp dword ptr [eax], 0FFFFFFFFh
mov eax, 0
cmp dword ptr [eax], 0FFFFFFFFh
mov eax, 0
Вот примерно так это выглядит. Для человека разбирающегося в регулярках составить паттерн будет не сложно.