Здравствуйте, WolfHound, Вы писали:
WH>Тут на самом деле всё намного проще можно сделать. WH>Препроцессор должен не менять строку, а записать в таблицу мемоизации виртуальные скобки. WH>Далее запускаем обычный парсер. Когда он будет пытаться парсить нашу виртуальную скобку, он будет смотреть в таблицу мемоизации. WH>Если там есть запись, значит всё хорошо. Если нет то облом.
Мысль интересная.
Но, на этом же месте ведь и другие конструкции могут начинаться. Это не приведет к конфликту?
Ведь будет два правила с одного места спарсиваться.
Виртуальным скобкам, конечно, можно задавать пустые локейшоны. Теоретически это может срастись.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.