The srcML format is an XML representation for source code, where the markup tags identify elements of the abstract syntax for the language. The srcml program is a command-line application for the conversion of source code to srcML, an interface for the exploration, analysis, and manipulation of source code in this form, and the conversion of srcML back to source code. The current parsing technologies support C, C++, C#, Objective-C, Java, and Python. zulu-openjdk17 in dependencies is to state the need for JDK for a successful build, but specific version and variant can differ. jdk8, openjdk8, zulu-openjdk8, or their newer versions should work the same. It's for building and running antlr2, which is old.