Имеет ли смысл использование Parser? - PullRequest
0 голосов
/ 25 марта 2019

У меня есть следующий текст, и я хотел бы преобразовать в структуру данных.

Текст:

pcp-action:MESSAGE\npcp-channel:apc\:///\npcp-body-type:text\nPUBLIC:THISPK\nTOPIC:SEND\n\nHello Foo 

Я хотел бы знать, имеет ли смысл использовать Parser для него.Честно говоря, я не вижу смысла использовать Parser в этом случае, потому что структура не в BNF, как, например, JSON, и она не является рекурсивно перечислимой.

Когда имеет смысл преобразовать текст с Parser в структуру данных?

Обновление

Я забыл упомянуть, что приведенный выше текст основан на следующем описании, которое здесь написано https://blogs.sap.com/2015/07/27/specification-of-the-push-channel-protocol-pcp/.

Этопохоже, он основан на грамматике.

1 Ответ

4 голосов
/ 25 марта 2019

Как и любой инструмент, вы должны использовать парсер, когда он подходит для работы.Превращение строк в структуры данных - это как раз то, для чего нужны парсеры.

Этот конкретный язык определен BNF и, следовательно, также рекурсивно перечислим (фактически не зависит от контекста) и поэтому являетсяидеальный кандидат для разбора, но вы можете использовать парсер для всех видов вещей.Например, файлы журналов могут не иметь определенной грамматики BNF, но на практике они часто достаточно хорошо структурированы, чтобы анализ был полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...