Data Flow and Call Graph Analysis for IEC 61631-3 Structure Text Programs (Java, optional Kotlin)
IEC 61631-3 is a standard for languages for Programmable Logic Controller (PLC) Programs.
One language within this standard is Structure Text, which is a language similar to Pascal.
In this project, data flow and call graph graphs should be created for Structured Text programs.
Data flow graphs represent the data dependencies between program statements.
A call graph represents the call dependencies between procedures.
The input is an abstract syntax tree of Structured Text programs (see project above).
Remark: It is also possible to split the task into two independent projects, one for the data flow and one for the call graph.