나는 Perl & Parse :: RecDescent를 사용하여 파일의 일부 데이터를 구문 분석하려고합니다. RecDescent가 일일이 걸리므로 perl 스크립트에서 전체 데이터 파일을 던질 수는 없습니다. 따라서 거대한 데이터 파일을 RD 크기의 청크로 분할하여 런타임을 줄였습니다.텍스트 파일을 중괄호 균형 섹션으로 쉽게 채울 수 있습니까?
그러나 균형 잡힌 대괄호 안의 섹션을 추출해야하며 지금 가지고있는 루틴은 강력하지 않습니다 (줄 바꿈에서 최종 닫는 대괄호의 위치에 너무 많이 의존 함). 예 :
cell (identifier) {
keyword2 { };
...
keyword3 { keyword4 { } };
}
...more sections...
나는 간격과 하위 섹션의 다양한 양을 가질 수 }
을 닫는 일치에 cell ... {
모든 것을 잡아해야합니다.
쉽게 이렇게하려면 몇 가지 Linux 명령 줄이 있어야합니까? 어떤 아이디어?
편집 : 입력 파일은 약 8M 문법 ~ 60 규칙입니다.
괜찮 으면 어떤 솔루션을 구현해야하는지 듣고 싶습니다. –
나는 Text :: Balanced로 잠시 놀았지만 데이터 파일은 여전히 느렸다. 그래서 저는 여러분의 예제를 lib 분배기의 기초로 사용했습니다. 다시 한 번 감사드립니다. 스크립트는 이제 더 강력 해졌습니다. – Marty
다행입니다. :) –