Skip to content

Printing JML for quantifiers with multiple variables #119

@samysweb

Description

@samysweb

This is either a parsing bug in KeY or a printing bug in JML Parser.
Given the file

public class PolishFlagSort {
    /*@
      @ public normal_behavior
      @    ensures (\forall int I, J; 0 <= I && I < J && J < ar.length; ar[I] <= ar[J]);
      @*/
    public static void sort ( int[] ar ) {
	return;
    }
}

reprinting via JML Parser produces:

public class PolishFlagSort {
    /*@  normal_behavior
        ensures (\forall int I, int J;0 <= I && I < J && J < ar.length; ar[I] <= ar[J]);
        */
    public static void sort(int[] ar) {
        return;
    }
}

Note the , int J vs , J.

This is not blocking our project so no hurry, but I wanted to persist this observation.
From a superficial glance this does not seem to be fixable quickly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions