Я использую Parsekit для XCode, но эта проблема вполне применима к большинству генераторов синтаксического анализатора.Я разбираю сценарий с gammer, и он работает нормально.Однако у меня возникают проблемы со следующим шагом.Рассмотрим grmmer:
@ start = line +;линия = дерево;
дерево = ветки плодов 'дерева';
фрукты = 'с номером' 'плодов' ';ветки = 'with' 'число ветвей';
И сценарий для передачи:
дерево с фруктами 8 с ветвями 12
Если я тогда реализую методы для соответствия, фруктыи ветви будут совпадать один раз, это ожидается.
Однако дерево будет совпадать дважды, почему?Это мешает мне построить дерево разбора, которое я хочу.
Спасибо за любую помощь!