2014-02-10 3 views
1

.NET 언어의 일반 정규식을 사용하여 텍스트를 구문 분석하는 데 FParsec과 같은 라이브러리를 사용하면 어떤 점이 유리합니까?Fparsec 대 정규식

+0

왜 주로 의견 기반으로 폐쇄됩니까? FParsec에 객관적인 이점 (유연성, 성능 등)이 있거나 그렇지 않은 경우 (객관적인 이점이없는 경우). –

답변

2

FParsec은 (적어도) context-free grammars을 인식 할 수 있지만 정규식은 적어도 다소 해킹 된 확장을 사용하지 않고 regular languages 만 인식 할 수 있습니다.

정규 언어로 할 수없는 예로는 대괄호 ()와 일치하는 대괄호 (예 : 여는 대괄호와 닫는 대괄호의 수를 추적하여 일치하는지 확인)가 있습니다.

물론 이것을 반복적으로 사용하여 정규 표현식을 에뮬레이트 할 수 있지만, 동작을 단일 구문 분석기에 포함하는 것은 훨씬 깔끔합니다.

+0

FParsec는 또한 오류 메시지를 생성하고 특정 지침 (http://www.quanttec.com/fparsec/users-guide/performance-optimizations.html)을 따르면 FParsec 파서가 더 빠를 수 있습니다 ... –