Алгоритмы, дискретная математика и пр.'s Journal (original) (raw)
5:46a
Здравствуйте!
Подскажите, пожалуйста, какой алгоритм лучше использовать для того, чтобы написать макрос препроцессора для использования регулярных выражений?
Более четко задача формулируется так: нужно строковое выражение 1 с входящими в него параметрами полностью заменять на другое выражение 2 с теми же входящими в него параметрами, например:replace (proc name, argument1, argument2,...arguments[]) {function name(argument1, argument2,...arguments[])}
Возможно ли реализовать это используя лишь следующие возможности препроцессора:
- Присвоение строкового значения переменной:
define _label значение_ - Конкатенация строк:
_значение1_#_значение2_ - Использование проверки значения переменной на равенство какому-то строковому выражению:
match _label, выражение_ - Условный переход:
if (_условие_) {_некоторые действия 1_} elseif(_условие 2_) {_другие действия 2_} else {{_действия 3_}
Если это невозможно, пожалуйста, посоветуйте литературу, где можно узнать о реализации обработкии регулярных выражений.
Интересуюсь, поскольку хочется упростить дальнейшее написание макросов для FASM
Спасибо!