EDG C/C++ 컴파일러 프로젝트

2 hours ago 2
  • EDG C/C++ 프런트엔드를 중심으로 한 오픈소스 컴파일러 프로젝트로, 다양한 C/C++ 관련 제품에 활용할 수 있도록 높은 설정 유연성을 갖춤
  • 파싱 호환성과 버그 에뮬레이션을 통해 Clang, GCC, MSVC에서 컴파일되는 소스가 EDG에서도 컴파일되도록 하는 데 초점을 맞춤
  • C 생성 백엔드로 C++ 프로그램을 C 코드로 변환할 수 있으며, C++ 생성 백엔드는 소스 간 변환 작업에 활용할 수 있음
  • 자동 템플릿 인스턴스화를 처리하는 프리링커, 중간 언어 입출력 및 표시 도구, 이름 디맹글러 등 개발 구성 요소를 함께 제공함
  • 개발과 수정을 위한 상세 문서를 제공하며, 런타임 지원 라이브러리는 최소한의 기능만 포함하고 스트림 입출력 같은 본격적인 라이브러리는 포함하지 않음

프런트엔드의 설계 초점

  • 저장소의 주된 대상은 EDG C/C++ 프런트엔드임
  • Clang, GCC, MSVC 호환성을 위해 파싱 호환성과 버그 에뮬레이션을 지원함
    • 해당 컴파일러에서 컴파일되는 소스가 EDG에서도 컴파일되도록 하는 것이 목표임
  • 높은 설정 유연성으로 다양한 C/C++ 관련 제품에 맞게 파생하여 활용할 수 있음
  • 개발과 수정을 지원하는 광범위한 문서를 갖춤

백엔드와 부속 도구

  • 코드 생성 용도에 따라 두 종류의 백엔드를 제공함
    • C 생성 백엔드는 C++ 프로그램에서 C 코드를 생성할 수 있음
    • C++ 생성 백엔드는 소스 간 변환 애플리케이션에 유용함
  • 프리링커가 자동 템플릿 인스턴스화를 처리함
  • 최소 런타임 지원 라이브러리를 포함하지만, 스트림 입출력 같은 본격적인 라이브러리는 제공하지 않음
  • 중간 언어를 파일에 기록하고 다시 읽거나 사람이 읽을 수 있는 형태로 표시하는 유틸리티를 포함함
  • 이름 디맹글러와 특정 개발 목적에 맞춘 도구 모음을 제공함

문서와 개발 안내

Read Entire Article