ANTLR을 사용하여 DSL에서 Java 로의 변환기를 작성하려고합니다. 그래서 두 개의 서로 다른 문법을 사용하여 렉서와 파서를 작성했습니다. 이제 트리 문법을 작성해야하며 내 결과를 얻기위한 최상의 방법 (또는 권장되는 방법)을 알고 싶습니다. 좀 더 정확히 말하자면, 어떤 것을 가장 잘하는 방법인지 알고 싶습니다. 트리를 특성 (예 : 유형 추가)과 최적화로 풍부하게 만드십시오.ANTLR 기반 변환기의 구조 (모범 사례)
유형을 식별하고 최적화를 위해 다른 트리 문법을 작성하고 파서 이후와 최종 코드 생성 트리 문법 이전에 순차적으로 호출해야합니까? 유지 보수가 더 쉬운 다른 방법이 있습니까? 나 또한 유형을 식별하기 위해 파서가 생성 한 트리를 수동으로 파싱하는 방법에 대해서도 설명했다. 그러나 이것은 유지하는 것이 아주 중요합니다.
감사합니다.