JMLtk -- JML Toolkit
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.
Explore
Documentation
For more information, visit Hextra.