2014-02-10 5 views
1

В чем преимущество использования библиотеки, такой как FParsec для синтаксического анализа текста с использованием простых регулярных выражений с языка .NET?Fparsec vs регулярные выражения

+0

Почему это закрывается, в основном, на основе мнения? Либо есть объективные преимущества для FParsec (гибкость, производительность и т. Д.), Либо нет (в этом случае ответ: объективных преимуществ нет). –

ответ

2

FParsec может распознать (не менее) context-free grammars, тогда как регулярные выражения могут распознавать только regular languages, по крайней мере, не используя несколько хакерских расширений.

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

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

+0

FParsec также генерирует сообщения об ошибках, и если вы следуете определенным рекомендациям (http://www.quanttec.com/fparsec/users-guide/performance-optimizations.html), парсер FParsec может быть быстрее ... –

Смежные вопросы