Boolean conjunction (AND) expression.
An argument with a given type and name.
An assignment of the value of the exp expression to the array element
of the named array whose index is given by the ind expression.
Common interface for binary expressions.
A block containing a possibly empty list of statements.
The basic Boolean type.
Method call expression.
Method call expression. Yield the value returned by the method with the
given name called on the object given by the base expression with the
given argument expressions.
A general class with a given name, optional super class, possibly empty list of instance variables, and a possibly empty list of methods.
The body of a class.
A type given by the named class.
Common superclass of expressions.
Boolean FALSE expression.
A class field with a given type and name.
A representation of identifiers as strings.
A defining occurrence of an identifier.
Identifier expression.
An identifier reference.
An applied occurrence (use) of an identifier.
A conditional statement that tests the given expression, choosing stmt1
if the expression is true, otherwise choosing stmt2.
Array index epression.
Array index epression. Yields the value of the ind element of the array
given by base.
An integer array type.
Integer value expression.
The basic integer type.
Array length expression.
Array length expression. Yields the length of the array base.
Less than expression.
A main class with a given name and body given by a single statement.
A method with a given return type, name, possibly empty list of arguments, possibly empty list of local variables, an optional list of statements that comprise the method body, and an expression whose value is to be returned by the method.
The body of a method.
The common supertype of all source tree nodes.
Subtraction expression.
Array creation expression.
Array creation expression. Yields a new integer array whose number of
elements is given by exp.
Instance creation expression.
Instance creation expression. Yields a new instance of the given class type.
Boolean NOT expression.
Addition expression.
An output statement that prints the value of the given expression followed by a newline.
A main program consisting of a main class and a possibly empty list of other classes (defines the root scope).
Multiplication expression.
Common superclass of statements.
THIS expression.
Boolean TRUE expression.
Common superclass for types.
Common interface for unary expressions.
A variable with a given type and name.
An assignment of the value of the given expression to the variable with the given name.
A while loop that tests the given expression and has as body the given statement.
Module containing tree structures for representing MiniJava programs.