Package edu.cornell.cs.apl.viaduct.syntax

Types

ArgumentLabel
Link copied to clipboard
data class ArgumentLabel(name: String) : Name, Comparable<ArgumentLabel>

The name assigned to an argument.

ArgumentLabelNode
Link copied to clipboard
typealias ArgumentLabelNode = Located<ArgumentLabel>
ArgumentLabelStyle
Link copied to clipboard
object ArgumentLabelStyle : Style

The display style of ArgumentLabels.

Arguments
Link copied to clipboard
class Arguments<out T> : HasSourceLocation, List<T>

A list of arguments.

Associativity
Link copied to clipboard
enum Associativity : Enum<Associativity>

Determines how operators of the same Precedence are grouped in the absence of parentheses.

BinaryOperator
Link copied to clipboard
interface BinaryOperator : Operator

An operator that takes two arguments.

ClassNameNode
Link copied to clipboard
typealias ClassNameNode = Located<ClassName>
ClosedOperator
Link copied to clipboard
interface ClosedOperator : Operator

An operator that surrounds its operands.

FunctionName
Link copied to clipboard
data class FunctionName(name: String) : Name

The name of a function.

FunctionNameNode
Link copied to clipboard
typealias FunctionNameNode = Located<FunctionName>
FunctionNameStyle
Link copied to clipboard
object FunctionNameStyle : Style
HasSourceLocation
Link copied to clipboard
interface HasSourceLocation

A node in the abstract syntax tree that has a SourceLocation.

HighestPrecedence
Link copied to clipboard
object HighestPrecedence : Precedence

The precedence that is higher than all other precedences.

HostNode
Link copied to clipboard
typealias HostNode = Located<Host>
HostTrustConfiguration
Link copied to clipboard
class HostTrustConfiguration : Map<Host, LabelExpression> , Function1<Host, LabelExpression>

A map that associates each host with its authority label.

InfixOperator
Link copied to clipboard
interface InfixOperator : Operator

An operator that is written between its operands.

InputPort
Link copied to clipboard
data class InputPort(protocol: Protocol, host: Host, id: PortId) : ProtocolPort
JumpLabel
Link copied to clipboard
data class JumpLabel(name: String) : Name

The target label for unstructured control statements like continue and break.

JumpLabelNode
Link copied to clipboard
typealias JumpLabelNode = Located<JumpLabel>
JumpLabelStyle
Link copied to clipboard
object JumpLabelStyle : Style

The display style of JumpLabels.

LabelNode
Link copied to clipboard
typealias LabelNode = Located<LabelExpression>
Located
Link copied to clipboard
data class Located<out T : PrettyPrintable>(value: T, sourceLocation: SourceLocation) : HasSourceLocation, PrettyPrintable

Attaches a source location to an arbitrary type.

LowestPrecedence
Link copied to clipboard
object LowestPrecedence : Precedence

The precedence that is lower than all other precedences.

MethodNameNode
Link copied to clipboard
typealias MethodNameNode = Located<MethodName>
NamedArguments
Link copied to clipboard
class NamedArguments<out T> : HasSourceLocation

A list of labelled arguments.

ObjectVariable
Link copied to clipboard
data class ObjectVariable(name: String) : Variable

A variable that binds an object.

ObjectVariableNode
Link copied to clipboard
typealias ObjectVariableNode = Located<ObjectVariable>
Operator
Link copied to clipboard
interface Operator

A pure function from values to a value.

Order
Link copied to clipboard
enum Order : Enum<Order>

The result of comparing two Precedences.

OutputPort
Link copied to clipboard
data class OutputPort(protocol: Protocol, host: Host, id: PortId) : ProtocolPort
ParameterDirection
Link copied to clipboard
enum ParameterDirection : Enum<ParameterDirection> , PrettyPrintable

Specifies whether a parameter is an IN parameter (can be used) or an OUT (has to be assigned in the function body).

PortId
Link copied to clipboard
typealias PortId = String
PostfixOperator
Link copied to clipboard
interface PostfixOperator : Operator

An operator that is written after its operands.

Precedence
Link copied to clipboard
interface Precedence

Determines the order of operations in the absence of parentheses.

PrefixOperator
Link copied to clipboard
interface PrefixOperator : Operator

An operator that is written before its operands.

Protocol
Link copied to clipboard
abstract class Protocol : Name, Comparable<Protocol>

An abstract location where computations can be placed.

ProtocolName
Link copied to clipboard
data class ProtocolName(name: String) : Name, Comparable<ProtocolName>

The name of a cryptographic protocol.

ProtocolNameNode
Link copied to clipboard
typealias ProtocolNameNode = Located<ProtocolName>
ProtocolNameStyle
Link copied to clipboard
object ProtocolNameStyle : Style

The display style of ProtocolNames.

ProtocolNode
Link copied to clipboard
typealias ProtocolNode = Located<Protocol>
ProtocolPort
Link copied to clipboard
interface ProtocolPort
ProtocolProjection
Link copied to clipboard
data class ProtocolProjection(protocol: Protocol, host: Host) : Name, Comparable<ProtocolProjection>
QueryNameNode
Link copied to clipboard
typealias QueryNameNode = Located<QueryName>
SourceLocation
Link copied to clipboard
typealias SourceLocation = SourceRange

Specifies what portion of the source code an abstract syntax tree node corresponds to.

Temporary
Link copied to clipboard
data class Temporary(name: String) : Variable

A variable that binds base values.

TemporaryNode
Link copied to clipboard
typealias TemporaryNode = Located<Temporary>
UnaryOperator
Link copied to clipboard
interface UnaryOperator : Operator

An operator that takes a single argument.

UpdateNameNode
Link copied to clipboard
typealias UpdateNameNode = Located<UpdateName>
ValueNode
Link copied to clipboard
typealias ValueNode = Located<Value>
ValueTypeNode
Link copied to clipboard
typealias ValueTypeNode = Located<ValueType>
Variable
Link copied to clipboard
sealed class Variable : Name

A variable is a name that stands for a value or an object instance.

VariableStyle
Link copied to clipboard
object VariableStyle : Style

The display style of Variables.

Functions

bindsTighterThan
Link copied to clipboard
fun Operator.bindsTighterThan(other: Operator): Boolean

Returns true when this operator has precedence higher than or equal to other.

Properties

arity
Link copied to clipboard
val Operator.arity: Int

The number of arguments this operator takes.