я определил некоторые правила с PetitParserDart:Как сбой и выдача исключений, когда правило не может быть полностью сопоставлено, в PetitParserDart?
def("start", ref("rule").separatedBy(char('\n'), includeSeparators: false);
def("rule", char('(').seq(word().plus()).seq(char(')')));
Так следующий текст будет соответствовать:
(aaa)
(bbbbbb)
Но если есть некоторые линии не могут совпадать:
(aaaa)
bbbbb
(cccccccc
Как определить грамматики, чтобы они не сбрасывались и генерировали исключения в строке (ccccccccc
, но не в строке bbbbb
?
Я имею в виду, что это исключает только исключения, когда правило не полностью соответствует. Если ничего не соответствует, оно не будет генерировать исключение.
еще раз спасибо за подробный ответ! – Freewind