I have a domain specific language and I want to do a static analysis on that language in order to great a graph. Appreciate if somebody could recommend a action plan on doing this.
Domain Language
{
run_and_branch(ULSDCompHash)
then
{
run(DownComponent_Reset);
run(DownComponent_Reset2);
}
else
{
run(ULSD_EndOfTest);
}
run(ULSD_EndOfTest2);
}, closed,"EMCSETUP",""
Details on the Language
- run does not care if the condition pass or fail
- run_and_branch is like if - else, if pass or fail kind of thing
- The value within the () is the name of the node
Expected Output (If Run a DFS on the Graph)
ULSDCompHash -> DownComponent_Reset -> DownComponent_Reset2 -> ULSD_EndOfTest2
ULSDCompHash -> ULSD_EndOfTest -> ULSD_EndOfTest2