Рассмотрим следующее правило
<rule: str>
( <[token1]> | <[token2]> ) +
выход (%/
) будет одинаковым для следующих входов
input1: <token1> <token2> <token1>
input2: <token1> <token1> <token2>
Это связано с тем, что 2nd добавляется к первому в списке с именем 'token1', но нет никаких указаний на порядок сопоставления с другими токенами.
Есть идеи, как сохранить соответствующий порядок в %/
?
p.s. У меня проблемы с компиляцией моих скриптов с этой переменной% / magical. Это всегда дает мне ошибку в строке после использования %/
. Я предполагаю, что компилятор рассматривает его как начало регулярного выражения без завершения / ... Пожалуйста, дайте мне знать, если я правильно его использую.