我有一个特定于域的语言,我想对该语言进行静态分析,以便获得精彩的图表。感谢是否有人可以建议采取行动计划。
域名语言
{
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
答案 0 :(得分:1)
大多数编译器书籍都包含有关如何生成控制流图的非常详细的说明。
我为Java程序提供了SO answer as to how to crawl an AST to produce a CFG,但答案非常通用。