3
파서가 생성 한 AST
이 프런트 엔드에서 IR을 생성하는 데 사용된다는 것을 알고 있습니다.LLVM - AST를 IR로 변환하는 방법
나는
AST는 AST에서 IR로 변환하는 단계 무엇인지 나무입니다, IR (확률값 어셈블리 또는 비트 코드)로 변환 한 후 구문 분석하는 방법 AST 궁금.
파서가 생성 한 AST
이 프런트 엔드에서 IR을 생성하는 데 사용된다는 것을 알고 있습니다.LLVM - AST를 IR로 변환하는 방법
나는
AST는 AST에서 IR로 변환하는 단계 무엇인지 나무입니다, IR (확률값 어셈블리 또는 비트 코드)로 변환 한 후 구문 분석하는 방법 AST 궁금.
LLVM IR from Clang ASTs
은 Clang의 code gen
단계에서 발생합니다. 이 단계의 코드는 lib/CodeGen/
(Clang의 소스 루트와 관련 있음)에 있습니다. Clang은 메모리 내 데이터 구조에 AST가 있기 때문에 AST를 구문 분석 할 필요가 없습니다. 코드 생성은 본질적으로 IR을 Module
으로 내보내는 AST의 재귀 적 워크 워크입니다. 관심있는 특정 단계가있는 경우이를 조사하는 가장 좋은 방법은 코드를 살펴 보는 것입니다.
감사합니다. Eli. IR을 모듈로 내보내는 AST를 걷는 동안 일어난 일에 대해 좀 더 설명해 주시겠습니까? – Sam
AST를 IR로 변환하는 방법은 무엇입니까? 그것은 매핑 파일인가? – Sam
@Sam 프로세스를 자세하게 설명하면 시간과 공간이 많이 필요합니다. 직접 소스를 확인하는 것이 좋습니다. –