| Package | Description |
|---|---|
| wyal.io | |
| wyal.lang | |
| wyal.util | |
| wytp.proof | |
| wytp.proof.util |
| Modifier and Type | Method and Description |
|---|---|
void |
WyalFilePrinter.writeStatement(WyalFile.Stmt loc,
int indent) |
| Modifier and Type | Interface and Description |
|---|---|
static interface |
WyalFile.Expr |
| Modifier and Type | Class and Description |
|---|---|
static class |
WyalFile.Expr.Addition
Represents an arithmetic addition expression of the form
"
e1 + ... |
static class |
WyalFile.Expr.ArrayAccess
Represents an array access expression of the form
"
arr[e]" where arr is the source
array and e the subscript expression. |
static class |
WyalFile.Expr.ArrayGenerator
Represents an array generator expression of the form
"
[e1;e2]" where e1 is the element
expression and e2 is the length expression. |
static class |
WyalFile.Expr.ArrayInitialiser
Represents an array initialiser expression of the form
"
[e1,...,en]" where e1 ... |
static class |
WyalFile.Expr.ArrayLength
Represents an array length expression of the form
"
|arr|" where arr is the source
array. |
static class |
WyalFile.Expr.ArrayUpdate
Represents an array update expression of the form
"
arr[e1:=e2]" where arr is the source
array, e1 the subscript expression and
e2 is the value expression. |
static class |
WyalFile.Expr.Cast
Represents a cast expression of the form "
(T) e" where
T is the cast type and e the
casted expression. |
static class |
WyalFile.Expr.Constant
Represents the use of a constant within some expression.
|
static class |
WyalFile.Expr.Dereference |
static class |
WyalFile.Expr.Division
Represents an arithmetic division expression of the form
"
e1 / ... |
static class |
WyalFile.Expr.Equal
Represents an equality expression of the form
"
e1 == ... |
static class |
WyalFile.Expr.ExistentialQuantifier
Represents an unbounded existentially quantified expression of the
form "
some(T v1, ... |
static class |
WyalFile.Expr.GreaterThan
Represents a strict inequality expression of the form
"
e1 > ... |
static class |
WyalFile.Expr.GreaterThanOrEqual
Represents a non-strict inequality expression of the form
"
e1 >= ... |
static class |
WyalFile.Expr.InfixOperator |
static class |
WyalFile.Expr.Invoke
Represents an invocation of the form "
x.y.f(e1,..en)". |
static class |
WyalFile.Expr.Is
Represents a type test expression of the form
"
e is T" where e is the test
expression and T is the test type. |
static class |
WyalFile.Expr.LessThan
Represents a strict inequality expression of the form
"
e1 < ... |
static class |
WyalFile.Expr.LessThanOrEqual
Represents a non-strict inequality expression of the form
"
e1 <= ... |
static class |
WyalFile.Expr.LogicalAnd
Represents a logical conjunction of the form
"
e1 && .. |
static class |
WyalFile.Expr.LogicalIff
Represents a logical biconditional of the form
"
e1 <==> ... |
static class |
WyalFile.Expr.LogicalImplication
Represents a logical implication of the form
"
e1 ==> ... |
static class |
WyalFile.Expr.LogicalNot
Represents a logical negation of the form "
!e"
where e is the operand expression. |
static class |
WyalFile.Expr.LogicalOr
Represents a logical disjunction of the form
"
e1 || .. |
static class |
WyalFile.Expr.Multiplication
Represents an arithmetic multiplication expression of the form
"
e1 * ... |
static class |
WyalFile.Expr.Negation
Represents an arithmetic negation expression of the form
"
-e" where e is the operand
expression. |
static class |
WyalFile.Expr.NotEqual
Represents an unequality expression of the form
"
e1 != ... |
static class |
WyalFile.Expr.Operator
Represents an abstract operator expression over one or more
operand expressions.
|
static class |
WyalFile.Expr.Quantifier
Represents an abstract quantified expression of the form
"
forall(T v1, ... |
static class |
WyalFile.Expr.RecordAccess
Represents a record access expression of the form
"
rec.f" where rec is the source record
and f is the field. |
static class |
WyalFile.Expr.RecordInitialiser
Represents a record initialiser expression of the form
{ f1: e1, ..., fn: en } where f1: e1 ... |
static class |
WyalFile.Expr.RecordUpdate
Represents a record update expression of the form
"
rec[f:=e]" where rec is the source
record, f is the field and e is
the value expression. |
static class |
WyalFile.Expr.Remainder
Represents an arithmetic remainder expression of the form
"
e1 / ... |
static class |
WyalFile.Expr.Subtraction
Represents an arithmetic subtraction expression of the form
"
e1 - ... |
static class |
WyalFile.Expr.UniversalQuantifier
Represents an unbounded universally quantified expression of the form
"
forall(T v1, ... |
static class |
WyalFile.Expr.VariableAccess
Represents a use of some variable within an expression.
|
static class |
WyalFile.Stmt.Block |
static class |
WyalFile.Stmt.CaseOf |
static class |
WyalFile.Stmt.ExistentialQuantifier
Represents an unbounded existentially quantified expression of the
form "
some(T v1, ... |
static class |
WyalFile.Stmt.IfThen |
static class |
WyalFile.Stmt.Quantifier |
static class |
WyalFile.Stmt.UniversalQuantifier
Represents an unbounded universally quantified expression of the form
"
forall(T v1, ... |
| Modifier and Type | Method and Description |
|---|---|
WyalFile.Stmt |
WyalFile.Stmt.Block.get(int i) |
WyalFile.Stmt[] |
WyalFile.Stmt.Block.getAll() |
| Constructor and Description |
|---|
Block(WyalFile.Stmt... stmts) |
| Modifier and Type | Method and Description |
|---|---|
protected TypeInferer.Environment |
TypeChecker.checkStatement(TypeInferer.Environment env,
boolean sign,
WyalFile.Stmt stmt)
Type check a given statement in a given environment with a given sign.
|
protected Interpreter.Result |
Interpreter.evaluateStatement(WyalFile.Stmt stmt,
Interpreter.Environment environment) |
| Modifier and Type | Interface and Description |
|---|---|
interface |
Formula
A special kind of expression which maintains a normal form representation.
|
static interface |
Formula.ArithmeticEquation |
static interface |
Formula.Equation |
| Modifier and Type | Class and Description |
|---|---|
static class |
Formula.ArithmeticEquality |
static class |
Formula.Conjunct |
static class |
Formula.Disjunct |
static class |
Formula.Equality |
static class |
Formula.Inequality |
static class |
Formula.Invoke |
static class |
Formula.Is |
static class |
Formula.Quantifier |
static class |
Formula.Truth |
| Modifier and Type | Method and Description |
|---|---|
static Formula |
Formulae.toFormula(WyalFile.Stmt stmt,
TypeSystem types)
Take a tree of statements and expressions, and return a formula.
|
static Formula[] |
Formulae.toFormulae(WyalFile.Stmt[] stmts,
TypeSystem types)
Convert an array of statements into an array of (equivalent) formulae.
|
Copyright © 2017. All rights reserved.