Skip to content
Alexander Weigl edited this page May 4, 2024 · 4 revisions

This project provides a library for the parsing of Java with the Java Modelling Language (JML). JML is a formal specification for Java to describe the functional behavior, e.g., pre- and post-conditions of methods, class and loop invariants.

The bases of this project is the Java Parser project, which is extended in the following ways:

  • lexer and grammar rules for JML

  • new AST classes for representing JML extension to Java expressions, contracts, clauses, JML statements, JML body declarations etc.

  • new attributes for contract carrying Java statements and entities (loop statements, block statements, constructors and methods)

  • extension of the name resolution

You can find the extension of the AST very easily, they are marked with the interface Jmlish and are also inside com.github.javaparser.ast.jml package.

Clone this wiki locally