4

추상 구문 트리가 주어지면 입력 프로그램 코드의 데이터 흐름 그래프를 작성하는 프로그램을 작성해야합니다. 나는 데이터 흐름 그래프의 정의를 온라인으로 검색하고 코드 세그먼트의 데이터 흐름 분석에 많은 것들이 있다는 것을 발견했다. 나는 주어진 코드에 대한 데이터 흐름 그래프를 만들기 위해 정확히 무엇을 그리어야하는지 알고 싶다. 어떤 도움이라도 대단히 감사합니다! 데이터 흐름 그래프를 생성하기 위해, AST 감안할 때데이터 흐름 그래프 구성

답변

6

, 다음을 수행해야합니다

  • 사용되는 모든 식별자는 명시 적 또는 암시 적으로 정의 된 형식에 매핑되도록 또한 당신이 구별 수, 심볼 테이블을 구축 하나의 스코프에서 다른 스코프의 동일한 식별자로부터 식별자

  • control flow graph은 프로그램 코드가 실행 된 순서와 조건부 브랜치를 나타냅니다.

  • 일종의 data flow analysis framework을 사용하여 데이터가 제어 흐름 그래프를 따라 흐르는 방식을 결정하고, 변수 수명에 대한 참조를 작성하고이를 모두 그래프로 캡처합니다.

당신은 외부 그래프 그리기 패키지의 어떤 종류를 사용하여 최종 그래프를 그릴 수 있습니다.

이 모든 단계는 매우 복잡하며 생각했던 것보다 훨씬 많은 작업이 될 수 있습니다. 나는 여기에 배경이별로 없다는 인상을 받는다. 당신은 표준 컴파일러 텍스트 (Aho/Sethi/Ullman "Compilers")를 공부함으로써 그 배경을 얻을 수 있습니다. 매우 고전적이며 아주 좋습니다. 그러나 시작하기 전에 그렇게해야합니다. 그렇지 않으면 단계를 실제로 이해할 수없고 서로 연결됩니다.

관련 문제