Package org.norecess.citkit.tir.expressions

This package provides the classes for the expressions in a language.

See:
          Description

Interface Summary
IArrayETIR  
IAssignmentETIR  
IBooleanETIR  
ICallETIR  
IFieldAssignmentTIR  
IForETIR  
IIfETIR  
IIntegerETIR  
ILambdaETIR  
ILetETIR  
IOperatorETIR  
IOperatorETIR.IOperator This is for easy mocking of an OperatorETIR.Operator.
IRecordETIR  
ISequenceETIR  
IStringETIR  
IVariableETIR  
IWhileETIR  
 

Class Summary
ArrayETIR The TIR for the expression to create (i.e., allocate) a new array.
AssignmentETIR The TIR for an assignment expression.
BooleanETIR A way to represent boolean values in Hobbes.
BreakETIR The TIR for a break statement.
CallETIR The TIR for a function invocation.
FieldAssignmentTIR The TIR for initializating a field in a record..
ForETIR The TIR for a for loop.
IfETIR The TIR for an if statement.
IntegerETIR The TIR for a literal integer expression.
LambdaETIR  
LetETIR The TIR for a let expression.
NilETIR The TIR for a nil value.
OperatorETIR The TIR for an operator expression.
RecordETIR The TIR for an expression that creates (i.e., allocates) a new record object.
SequenceETIR The TIR for a sequence of expressions.
StringETIR The TIR for a literal string expression.
VariableETIR The TIR for a variable (i.e., l-value) expression.
WhileETIR The TIR for a while statement.
 

Enum Summary
OperatorETIR.Operator Represents an operator like addition or multiplication.
 

Package org.norecess.citkit.tir.expressions Description

This package provides the classes for the expressions in a language. The most effective way to process objects from these classes is through ExpressionTIRVisitor.

Most of the classes in this package are self-explanatory. One in particular is strange at first: VariableETIR is an abstraction of three different l-values: a simple variable reference, an array reference, and a field reference (from a record). See the VariableETIR class and the LValueTIR interface for more information.