Package-level declarations
The abstract syntax of the surface language.
Types
Asserting that a condition is true, and failing otherwise.
An expression that requires no computation to reduce to a value.
Declaration of an authority delegation.
A sequence of statements.
Breaking out of a loop.
Call to an object constructor. Used for out parameter initialization.
Constructing a new object and binding it to a variable.
Revealing the result of an expression (reducing confidentiality).
Reducing the confidentiality or increasing the integrity of the result of an expression.
Trusting the result of an expression (increasing integrity).
Function argument that is an expression.
A computation that produces a result.
A for loop.
Arguments to functions.
Function call.
A function declaration associating a name with code.
Out arguments to functions.
Declaration of a participant and their authority.
Declaration of an IFC delegation.
Executing statements conditionally.
Executing a statement until a break statement is encountered.
An external input.
The display style used for the keyword in the language.
Binding the result of an expression to a new temporary variable.
A literal constant.
A loop statement.
A node in the abstract syntax tree of a surface level program.
Declaration of a new object as a return argument of a function.
Function argument that is an object reference (e.g. &a in the surface syntax).
An n-ary operator applied to n arguments.
Out parameter initialized as an out parameter to a function call.
Initialization for an out parameter.
An external output.
A parameter to a function declaration.
Represents a surface level program which is a sequence of top level declarations.
A query method applied to an object.
Reading the value stored in a temporary.
A statement that is not a combination of other statements, and that does not affect control flow.
A statement that does nothing.
A computation with side effects.
A declaration at the top level of a file.
An update method applied to an object.
Executing a statement repeatedly as long as a condition is true.