У меня есть язык, специфичный для предметной области, и я хочу провести статический анализ на этом языке, чтобы создать отличный график. Спасибо, если кто-то может порекомендовать план действий по этому вопросу.
Доменный язык
{
run_and_branch(ULSDCompHash)
then
{
run(DownComponent_Reset);
run(DownComponent_Reset2);
}
else
{
run(ULSD_EndOfTest);
}
run(ULSD_EndOfTest2);
}, closed,"EMCSETUP",""
Информация о языке
- Выполнение не имеет значения, если условие прошло или не выполнено
- run_and_branch похож на if - else, если pass или fail что-то вроде
- Значение в () - это имя узла
Ожидаемый результат (если запустить DFS на графике)
ULSDCompHash -> DownComponent_Reset -> DownComponent_Reset2 -> ULSD_EndOfTest2
ULSDCompHash -> ULSD_EndOfTest -> ULSD_EndOfTest2