2011-01-05 3 views
0

계통도 파일을 OpenGen XML 파일 형식과 변환해야합니다. 간단히 말해서 특정 파일을 구문 분석하고 OpenGen 파일을 출력하는 Java 코드를 작성할 수 있습니다. 누군가 프로젝트에서 Java를 사용하면 라이브러리를 사용할 수 있습니다. 누군가 자신의 프로젝트에서 Java를 사용하지 않으면 번역 코드를 이식하거나 Java 응용 프로그램을 외부에서 실행할 수 있습니다.파일 형식을 다른 파일 형식으로 변환하거나 변환하는 데 도움이되는 라이브러리

꽤 일반적인 필요성이 있으므로이 작업을 쉽게 처리 할 수있는 메커니즘이 필요합니다. 이상적인 해결책은 이것입니다. 하나의 파일 형식과 우리의 형식을 변환하는 규칙/매핑을 포함하는 파일을 만들 수 있습니다. 이 매핑 파일은 다른 사람이이 매핑 파일을 사용하여 변환을 수행 할 수있는 많은 라이브러리 중 하나를 사용할 수 있도록 배포됩니다. 이렇게하면 번역이 훨씬 쉬워 졌으므로 누구나 선택한 언어/플랫폼에서 번역 작업을 수행 할 수 있습니다.

우리의 경우에 매핑 파일은 적어도 계층 구조가 복잡하다는 점에서 조금 복잡 할 것입니다. 더 복잡한 것은 일종의 계보 파일 형식은 이진 파일이라는 것입니다 ...

이러한 메커니즘이 있습니까? 최선의 접근 방식은 무엇입니까?

답변

0

원본 언어가 항상 XML 인 경우 XSLT 또는 CDuce을 사용할 수 있습니다.

그렇지 않으면 Antlr과 같이 괜찮은 구문 분석 및 예쁜 인쇄 프레임 워크가 필요하며 많은 노력을 할 준비가되어 있어야합니다. 사소한 경우에는 자신의 조합기 기반 Packrat 파서를 구현하는 것이 더 쉽습니다.

+0

소스 파일 형식은 거의 XML이 아닙니다. 질문에서 언급 한 것처럼 일부 파일 형식의 경우에도 바이너리입니다 ... ANTLR을 확인하고 있습니다. 감사합니다. 언뜻보기에 그것은 문법이 주어지면 파일을 구문 분석하는 데는 좋은 도구처럼 보입니다.하지만 자바 만이기 때문에 번역 프로세스를 구현해야합니다. –

+0

Antlr 자체는 Java이지만 다양한 플랫폼을 대상으로합니다. –

관련 문제