Loop

data class Loop(var condition: Expression, var statement: Block, var evaluation: Loop.Evaluation, var line: Int) : AstObject, IsParent

Used to define loops

Example:

int a = 10;
while(a >= 0){
a--;
}

Constructors

Link copied to clipboard
constructor(condition: Expression, statement: Block, evaluation: Loop.Evaluation, line: Int)

Types

Link copied to clipboard

Properties

Link copied to clipboard

represents an expression evaluated at each iteration

Link copied to clipboard

represents an enum that specifies if the condition is evaluated before or after the statement

Link copied to clipboard
open override var line: Int

is the line at which the statement/code component begins in the program text file

Link copied to clipboard
open override var parent: IsParent?

is the parent of the node in the Syntax Tree

Link copied to clipboard
open override val scope: SymbolTable?

is the scope to which the node belongs

Link copied to clipboard

represents the set of instructions contained inside the loop

Functions

Link copied to clipboard
open override fun replaceChild(initial: AstObject, replacement: AstObject)

Is replacing a certain child of the class with another object of the same type If the two parameters don't have the same type, no block will be replaced. If the type of initial doesn't match any of the current node children, no child will be replaced

Link copied to clipboard
open override fun setParentForChildren()

Sets the object as a parent for its children