주의. 이 문서는 공머생들이 좋아하는 주제 혹은 공머생 그 자체에 대해 다룹니다.
본 문서가 다루는 내용에 지나치게 탐닉할 경우 필연적으로 여성들과 멀어지게 됩니다.
이는 디시위키가 책임지지 않습니다.
이는 디시위키가 책임지지 않습니다.
이 문서는 성물(聖物)을 다룹니다.
이 문서는 그 누구도 깔 수 없는 물체를 묘사합니다.
성물을 욕보이게 하는 짓은 하지 맙시다.
성물을 욕보이게 하는 짓은 하지 맙시다.
저수준 가상머신(Low Level Virtual Machine).
컴파일러 개발용 종합선물세트.
오픈소스 커뮤니티와 애플의 지원 하에 탄생한 마스터피스다.
사용 언어는 C++
기존의 컴파일러 개발은 아주 불편하고 비효율적이었다. 어휘분석 구문분석 최적화 등의 작업이 구분되어있지 않고 막 섞여서 개좆같았다.
그래서 이게 나온거다. llvm은 파싱 및 분석의 프론트엔드, 최적화, 바이너리 생성 등의 백엔드 과정을 세분화해서 다 제공한다.
llvm 백엔드에서 웬만한 플랫폼은 다 지원하기 때문에 어셈같은거 다 볼 필요 없이 전용 어셈블리와 프론트엔드 라이브러리만 다룰줄 알면 예쁘게 동작하는 컴파일러를 (비교적) 손쉽게 만들어낼 수 있다.
전용 어셈블리는 llvm-ir이라고 하는데 어셈보단 고급져서 그래도 좀 쓸만하다.
이걸 사용한 대표적인 구현체로는 Swift, Rust, C/C++ 구현체인 Clang 등이 있다.
이외에도 대부분의 언어들에 llvm 구현체가 존재한다.
언어랑 컴파일러 만들고싶으면 이거만 파라