В моей мастерской я видел, как писать парсеры, компиляторы с использованием ANTLR.Но в реальном мире часто возникает необходимость в синтаксическом анализе и извлечении релевантного контента из большой нагрузки поступающих потоковых данных.Каждый язык имеет свой собственный механизм регулярных выражений, который удобно использовать для анализа данных.В качестве альтернативы мы можем написать грамматику EBNF и воспользоваться удобным инструментом, таким как ANTLR, для автоматической генерации синтаксического анализатора.Последний подход менее подвержен ошибкам и гарантированно будет более надежным, чем первый (особенно в случае некоторых лишних пробелов, новых строк).
Я просто хотел бы знать, какова будет граница между этими двумя мирами, когда кто-то пойдет и напишет целую грамматику и сгенерирует свой собственный парсер, а другой быстро использует встроенный движок языковых регулярных выражений и развернет мелкий парсерэто может сделать работу достаточно быстро.Опять же, я не ищу аргументов, но пытаюсь проанализировать, в какой степени и подход люди идут для написания парсеров.