Пытаюсь сделать простое правило Peg (полный код ниже), просто подставляющее в исходную строку вида "Identificator 987654321" префиксы, подтверждающие правильный парсинг, в виде "id:Identificator in:987654321"
Исходная строка такая "iasodurirsadrhf 983475"
Ожидается на выходе "id:iasodurirsadrhf in:983475"
т.е. проверяет, что первый символ '9' принадлежит notAny — нет, цифры не принадлежат notAny
затем проверяет что символ '9' принадлежит digit — да принадлежит
Правило истинно, а для продолжения выполнения правила
Здравствуйте, VinnyPuh, Вы писали:
VP>Пытаюсь сделать простое правило Peg (полный код ниже), просто подставляющее в исходную строку вида "Identificator 987654321" префиксы, подтверждающие правильный парсинг, в виде "id:Identificator in:987654321"
Зачем делать все так через ухо? Для разбора указанной строки можно написать примитивнейшую грамматику.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, catbert, Вы писали:
VD>>Зачем делать все так через ухо? Для разбора указанной строки можно написать примитивнейшую грамматику.
C>Регекс даже.
Регекс и есть грамматика, только записанная на нечеловеческом зыке.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Зачем делать все так через ухо? Для разбора указанной строки можно написать примитивнейшую грамматику.
Ну я же не буду начинать со сложной грамматики: я просто изучаю возможности — раз уж с ней возникли проблемы, то что было бы, начни я сразу со сложной грамматики?
Здравствуйте, VinnyPuh, Вы писали:
VD>>При компиляции первого варианта сообщений об ошибках не было? Если, да, то это баг.
VP>Влад, всё чисто компилировалось как в версии из дистрибутива с установщиком, так и в версии, которую я сам собрал из trunc
В общем, это баг. Я уже его поправил.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Не получается сделать даже простое правило Peg :(
Здравствуйте, VinnyPuh, Вы писали:
VD>>Зачем делать все так через ухо? Для разбора указанной строки можно написать примитивнейшую грамматику.
VP>Ну я же не буду начинать со сложной грамматики: я просто изучаю возможности — раз уж с ней возникли проблемы, то что было бы, начни я сразу со сложной грамматики?
Я говорил про саму грамматику. Она исходит из того чем символ не является. При наличии в арсенале юникода нескольких десятков тысяч символов — это не очень разумный полход. Проще все же исходить из соображений "чем является идентификатор". Если нужна поддержка юникода, то для этого есть специальные средства (юникодные классы).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Не получается сделать даже простое правило Peg :(
Здравствуйте, VladD2, Вы писали:
VD>Я говорил про саму грамматику. Она исходит из того чем символ не является. При наличии в арсенале юникода нескольких десятков тысяч символов — это не очень разумный подход. Проще все же исходить из соображений "чем является идентификатор". Если нужна поддержка юникода, то для этого есть специальные средства (юникодные классы).