저는 Flex와 Bison을 사용하여 미니 Fortran 컴파일러를 작성하고 있습니다. 지금까지는 어휘 및 구문 분석을 마쳤습니다. 나는 유형 검사에서의 의미 론적 분석에있어 IR을 선택해야합니다. 내 타겟 컴퓨터는 MIPS입니다. 그래서 MIPS IAS에 기반한 최종 코드 생성을 원합니다. 그래서 저는 훌륭한 IR은 네 배를 믿습니다. 하지만 몇 가지 최적화를 소개하고 싶습니다. 그런 이유로 나는 해시 테이블을 사용하여 DAG 구조를 만들었습니다. IR에는 두 개의 경로가 있습니다 : quadruples 또는 DAG 및 quadruples.내 포트란 컴파일러의 중간 코드 생성 : DAG 또는 quadruples
DAG를 IR로 사용하는 경우 문에 백 패칭 방법을 어떻게 사용할 수 있습니까? 4 배로 쉬울 것입니다. 다른 방식의 DAG는 더 추상적입니다. 나는 그것을 4 배로 변환해야 할 것이다. 나는 그것을 안다. 내 두려움은 뒷받침하고있다.
SSA에 대해 알고 있습니다 .LLVM GCC 이상. 내 수업 프로젝트를위한 컴파일러를 만들고있다. 구현의 문제는 공개되어 있습니다. 최종 코드의 경우 MIPS와 x86 중 하나를 선택해야합니다. 내가 정말 잘 안다면 MIPS와 함께 갈거야. 나는 사물의 질서에 대해 혼란 스럽다. 쿼드로 즉시 가서 DAG로 또는 DAG로 즉시해야합니까? 두 번째 경우에는 어떻게 백 패칭을 사용할 수 있습니까? – gon1332