An expression whose value is the logical AND of the values of two expressions.
A declaration of an array variable of the given size.
Marker trait for all expression node types that can be assigned.
A statement that evaluates its second expression and assigns it to the variable or array element denoted by its first expression.
An expression whose value is an Boolean constant.
A declaration of a Boolean variable.
Superclass of all declaration classes.
Marker trait for all node types that have an entity.
A declaration of an enumeration constant
A declaration of an enumeration variable with given enumeration constants.
An expression that compares the values of two expressions for equality.
A statement that exits the nearest enclosing loop.
A declaration of a new exception value
Superclass of all expression classes.
An expression that accesses a field of a record.
A statement that executes its body statements for each value of a variable in a range given by its two expressions.
An expression that compares the values of two expressions for greater-than order.
A representation of identifiers as strings.
An expression whose value is the current value of a named variable or constant.
A conditional statement that evaluates a Boolean expression and, if it is true, executes its first sequence of statements, and if its is false, executes its second sequence of statements.
An expression that indexes an array.
A declaration of an integer constant with the given value.
An expression whose value is an integer constant.
A declaration of an integer parameter.
A declaration of an integer variable.
An expression that compares the values of two expressions for less-than order.
A loop that executes forever.
An expression whose value is the difference between the values of two expressions.
An expression whose value is the modulus of its two expressions.
An expression whose value is the negation of the value of an expression.
An expression that compares the values of two expressions for inequality.
An expression whose value is the logical negation of the value of an expression.
An Obr program consisting of the given declarations and statements and returning an integer value.
Interface for all Obr tree nodes.
An expression whose value is the logical OR of the values of two expressions.
An expression whose value is the sum of the values of two expressions.
A statement that raises a specified exception.
A declaration of a record variable with the given fields.
A statement that returns a value and terminates the program.
An expression whose value is the division of the values of two expressions.
An expression whose value is the product of the values of two expressions.
Superclass of all statement classes.
A statement that is used to catch exception
A statement that executes its body while its expression is true.
Module containing structures for representing Obr programs.