[#] Про Parboiled (Часть 2)
habrabot(difrex,1) — All
2015-11-10 05:30:03


**Часть 2. Сопоставление текста** Во второй части цикла мы поговорим об основных правилах сопоставления символов в Parboiled. Мы не будем касаться всех правил — для этого есть документация, я всего лишь хочу, чтобы вы чувствовали себя уверенно с базовым синтаксисом правил, используемым в Parboiled. Для закрепления знаний мы напишем простой распознаватель для несложной грамматики. Именно распознаватель (recognizer), а не полноценный парсер, так как он будет только сопоставлять входной текст c описанными нами правилами (также называемыми _продукциями_), но не будет извлекать из сопоставленного текста какие-либо значения. Распознаватель может быть полезным и сам по себе, так как может работать в качестве валидатора: если вход оказался некорректным, распознаватель даст об этом знать и расскажет, что пошло не так и где. А совсем классным наш распознаватель станет тогда, когда мы узнаем, как извлекать разобранные значения и причем тут какой-то «value stack». Ну что, поехали? **Структура цикла:**

* [Часть 1. Почему Parboiled?][1]
* Часть 2. Сопоставление текста
* Часть 3. Извлечение данных
* Часть 4. Суровая действительность

[Читать дальше →][2]

[1]: http://habrahabr.ru/post/270233
[2]: http://habrahabr.ru/post/270531/#habracut