Пример:
start = name / invocation;
name = [a-zA-Z]+ { return text() };
invocation = a:name "()" { return {type: 'inv', value: a } };
Если ввод abc()
Я получаю сообщение об ошибке:
Expected [a-zA-Z] or end of input but "(" found
Однако, если запуск был определен следующим образом, проблем не возникает:
start = invocation / name;
Для более раннего случая, не должно ли правило имени не совпадать и, следовательно, ввести правило вызова?Иначе, как управлять такой вещью?
Рабочий пример: детская площадка