Skip to content

Commit 7d9fdbc

Browse files
author
davidcok
committed
More editing
1 parent ceeb8b0 commit 7d9fdbc

File tree

4 files changed

+28
-10
lines changed

4 files changed

+28
-10
lines changed

tutorial/Execution.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ The details of all the options are given in the [OpenJML Users' Guide](../docume
2525

2626
Use `--class-path` or `-cp` just as you would for `javac` to specify the list of folders on which to find files. `openjml` uses a classpath and a sourcepath exactly like `javac` does; in addition `openjml` considers a _specspath_ for finding specification files. For most applications, it is simplest to define a single classpath (using the `-cp` command-line option or the `CLASSPATH` environment variable) giving the jar files and folder roots of package hierarchies for all the class, source and specification files. The details are an advanced topic presented [here](SpecificationFiles).
2727

28+
A simple, example command-line is `openjml --esc --progress A.java` .
29+
2830
## Exit codes
2931

3032
The executable returns with one of these exit values:

tutorial/SpecStatements.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: Specifications in Method Bodies
3+
---
4+
5+
The basic unit of specification and verification in JML is the method,
6+
with the method body being compared to the method's specification.
7+
However, sometimes specifications within the body of a method can
8+
assist or are required to be able to prove that the body meets the
9+
method specification.
10+
11+
The most common such specification statements are `assert`, `assume`,
12+
and `ghost` declaration statements. In addition, loops in a method
13+
body require a loop specification to be able to reason about the
14+
effect of that method body.s

tutorial/Syntax.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ if
9393
So positive keys enable a comment and negative keys disable it, with any
9494
negative key overriding any positive ones.
9595

96-
For example, a comment beginning `//-RAC@` will be used for typechecking (`--check`) and static checking (`--esc`), but ignored for runtime checking (`--rac`). A comment beginning `//+ESC@` will only be used when `-esc` is being applied.
96+
For example, a comment beginning `//-RAC@` will be used for typechecking (`--check`) and static checking (`--esc`), but ignored for runtime checking (`--rac`). A comment beginning `//+ESC@` will only be used when `--esc` is being applied.
9797
The most common use of conditional JML annotations is the first example: to turn off
9898
non-executable annotations during runtime-assertion checking but leave
9999
them in place for static checking.

tutorial/index.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,24 @@ example code; just add the appropriate path to the `openjml` command.
4444
* Simple Method Specifications
4545
* [Postconditions](Postconditions)
4646
* [Preconditions](Preconditions)
47-
* [Assert statements](AssertStatement)
48-
* [Assume statements](AssumeStatement)
49-
* [JML Expressions](Expressions)
50-
* [Well-defined Expressions](WellDefinedExpressions)
47+
* [Specifying Exceptions](SpecifyingExceptions)
48+
* [Method Specifications: old clauses and clause ordering](OldAndOrdering)
49+
* [Multiple Method Behaviors](MultipleBehaviors)
50+
* [Minimizing replicated specifications --- initially, constraint, invariant clauses](InitiallyConstraint)
5151
* [Verifying Method Calls](MethodCalls)
5252
* [Frame Conditions](FrameConditions)
5353
* [Specifying Constructors](Constructors)
5454
* [Using Method Calls in Specifications](MethodsInSpecifications)
55+
* [Visibility](Visibility)
56+
* JML Expressions
57+
* [JML Expressions](Expressions)
58+
* [Well-defined Expressions](WellDefinedExpressions)
5559
* [Arithmetic](ArithmeticModes)
5660
* [Null and non-null](Nullness)
57-
* [Visibility](Visibility)
61+
* [Method Body Specifications](SpecStatements)
62+
* [Assert statements](AssertStatement)
63+
* [Assume statements](AssumeStatement)
5864
* [Specifying Loops](Loops)
59-
* [Specifying Exceptions](SpecifyingExceptions)
60-
* [Method Specifications: old clauses and clause ordering](OldAndOrdering)
61-
* [Multiple Method Behaviors](MultipleBehaviors)
62-
* [Minimizing replicated specifications --- initially, constraint, invariant clauses](InitiallyConstraint)
6365
* [Ghost variables and computations](Ghost)
6466

6567
* Inheritance

0 commit comments

Comments
 (0)