도메인 특정 언어를 사용하고 있으며 그 언어에 대한 정적 분석을 수행하여 훌륭한 그래프를 만들고 싶습니다. 누군가가 이것을하기 위해 행동 계획을 추천 할 수 있다면 감사하게 생각하십시오. 조건 패스 또는 도메인 특정 언어에 대한 정적 분석 수행
도메인 언어
{
run_and_branch(ULSDCompHash)
then
{
run(DownComponent_Reset);
run(DownComponent_Reset2);
}
else
{
run(ULSD_EndOfTest);
}
run(ULSD_EndOfTest2);
}, closed,"EMCSETUP",""
세부
- 실행 상관하지 않는 것입니다 같은 경우 - 다른 사람, 만약 통과 또는 실패한 종류의 것
- () 내의 값은 이름 노드의
예상 출력 (실행 그래프에서 DFS 경우)
ULSDCompHash -> DownComponent_Reset -> DownComponent_Reset2 -> ULSD_EndOfTest2
ULSDCompHash -> ULSD_EndOfTest -> ULSD_EndOfTest2
정확히 어떤 종류의 그래프를 만들고 싶습니까? 제어 흐름 그래프? 그리고 일반 텍스트 표현의 유물입니까 아니면 두 개의 코드 경로에서 발생하는 것에 대해 별도의 노드가 있어야합니까? – delnan
모든 가능한 경로를 얻기 위해 DFS 탐색을 수행 할 수 있도록 필자가 생각하는 제어 흐름 그래프가 적절합니다. 그래프는 일반 텍스트 표현을 모방해야합니다. 그래서 내 예제에서는 하나의 노드 ULSDCompHash 하나 OutComponent_Reset 및 ULSD_EndofTest 다른 가장자리가 있습니다. – tabiul
주위에 더 많은 검색 작업을 수행 한 후 첫 번째 단계는 소스 코드에 대한 AST 트리를 만들고 변환합니다 제어 흐름 그래프. AST를 CFG로 변환하는 방법에 대한 단계별 설명과 같은 좋은 소스를 찾을 수 없습니다 – tabiul