위키득계정 ↗
기술

Clang-Repl

Clang-Repl기술
분류
대화형 인터프리터
대상 언어
C플러스플러스
기반
Clang과 LLVM JIT
방식
증분 컴파일과 REPL
Clang-Repl은 C플러스플러스 코드를 대화식으로 입력하고 실행하는 인터프리터다. Clang의 증분 컴파일과 LLVM의 JIT 실행 기반을 사용해 탐색적인 프로그래밍을 지원한다.

입력에서 실행까지

코드를 입력하면 Clang이 구문 트리를 만들고 LLVM 중간 표현으로 변환한다. 이후 JIT 기반이 기계어를 생성해 실행한다. 따라서 대화형 도구라는 이유로 코드를 단순히 텍스트 줄 단위로 흉내 내는 방식이라고 이해해서는 안 된다.

작은 실험의 반복

함수와 자료형을 정의하고 표현식을 실행하며 결과를 살펴볼 수 있다. 전체 응용을 다시 준비하기 전에 언어 기능과 라이브러리 동작을 탐색하는 데 활용한다. 세션에 앞서 입력한 선언과 상태가 이후 실험에 영향을 줄 수 있다.

Cling과의 관계

Cling의 작업에서 영감을 받아 일부 기능을 LLVM과 Clang의 상위 프로젝트에서 사용할 수 있도록 발전시킨 도구다. 두 프로젝트가 같은 도구이거나 모든 기능이 동일한 것은 아니다. 실제 사용 가능 범위와 빌드 조건은 선택한 버전에서 확인한다.

관련 문서

Cling / Clang / ClangCheck / CppInsights