TLDR : 각 형식에 대해 다른 코드로 수동으로 다목적 파서를 만든 경우 장기적으로 파서 코드 한 개와 ANTLR, PyParsing 또는 유사한 문법을 사용하여 각 형식을 지정하는 것이 더 효과적일까요?공식 문법을 사용하기 위해 다목적 로그 파일 파서를 다시 작성하면 유지 관리가 향상됩니까?
컨텍스트 : 내 업무에는 ~ 50 가지 벤치 마크의 벤치 마크 로그 파일이 많이 포함됩니다. XML에는 몇 가지, 몇 가지 HTML, CSV 및 문서화 된 사양이없는 독점적 인 내용이 많이 있습니다. 이 데이터를 직접 입력 할 때 저와 제 동료들을 구하기 위해 필자는 균일 한 인터페이스로 정기적으로 처리하는 모든 형식을 처리하는 구문 분석 도구를 작성했습니다. 디자인은 그래도 깨끗하지 않습니다.
나는이 것을 Python에 작성하고 Parser 클래스를 만들었습니다. 각 파일 형식은, 파서의 read() 메소드에 독자적인 코드를 제공하는 구현으로서 처리됩니다. 필자는 문법을 사용하여 각 형식을 이해하는 파서 (Parser) 정의를 한 가지만 갖고 싶다는 생각을 좋아하지만 이전에는 해보지 않았습니다.
리팩토링을 마친 후에는 내 시간이 가치가 있으며 앞으로 다른 초보자도 쉽게 사용할 수 있습니까?
답변 해 주셔서 감사합니다. 입력이 매우 균일하지 않습니다. 새로운 결과 형식이 이전 형식과 비슷하게 유지된다는 것을 보장하면서 벤치 마크가 항상 개선되었습니다. 파일은 서로 병합 된 결과의 부분적 또는 여러 번 일괄 처리 될 수 있습니다. 저는 PyParsing을 제공하고 있습니다. 처음에는 Python 구문 분석 도구를 사용하지 않았습니다. 왜냐하면 대부분의 사용자와 EBNF와 같은 것의 학습 곡선을 가지고 있다고 생각했기 때문입니다. 그렇다면 제 동료에 대해 조금 더 생각하고 일반적으로 스크립팅을하는 것이 더 새롭다는 것을 깨달았습니다. 그래서 파이썬은 더 이상 장벽이되지 않을 것입니다. 지금까지 잘되고있어. –