Bachelorthesis: Abstract Syntax Tree Representation of IEC 61131-3 Structured Text based on Java Records

Valentin Jochinger

To aid the software development process, static code analysis tools are utilized. These tools usually work on an abstract syntax tree representations of the program. This work provides a Java class system suited to build abstract syntax trees for programmable logic controller software, conforming to the IEC 61131-3 standardized language Structured Text. It makes use of Java’s new record classes to reduce the effort required for the development of static analysis tools by enabling simple and concise handling of the abstract syntax tree. Using the CoCo/R compiler generator, a parser has been implemented, which performs the mapping of Structured Text programs to their respective abstract syntax tree representation.