Package scale.clef.expr

Provides for describing expressions in the Clef AST.

See:
          Description

Class Summary
AbsoluteValueOp The AbsoluteValueOp class represents the absolute value operation.
AdditionAssignmentOp This class represents x += y.
AdditionOp This class represents the addition operator.
AddressLiteral A class which represents the address of a Declaration.
AddressOp This class represents the operation of obtaining the address of some thing.
AggregateOp A class which represents a field/member selection, or aggregate, operator.
AggregationElements The AggregationElements class represents an aggregation of values used to initialize a variable.
AllocatePlacementOp This class represents a heap allocation operation that has a default value and a placement parameter.
AllocateSettingFieldsOp This class represents a heap allocation operation for an aggregate entity and then uses the specified positional arguments to initialize the entity.
AndConditionalOp This class represents a logical and operation with conditional evaluation of its second operand.
AndOp This class represents the logical and operation.
AssignmentOp The AssignmentOp class is the abstract class for all assignment operations.
AssignSimpleOp This class represents the assignment operation for atomic data.
BitAndAssignmentOp This class represents x &= y.
BitAndOp This class represents a bit-and operation.
BitComplementOp This class represents the bit-complement operation.
BitOrAssignmentOp This class represents x |= y.
BitOrOp This class represents the bit-or operation.
BitShiftAssignmentOp This class represents x <<= y and x >>= y.
BitShiftOp The BitShiftOp class is the class for all bit shifting operations.
BitXorAssignmentOp This class represents x ^= y.
BitXorOp This class represents the bit-exclusive or operation.
BooleanLiteral A class which represents a boolean literal value.
CallFunctionOp A class which represents a call to a function.
CallOp A class which represents a generic routine call expression.
CharLiteral A class which represents a char literal value.
ComplexLiteral A class which represents a floating point literal value.
ComplexOp A class which represents the operation using two values to create a complex value.
CompoundAssignmentOp This is the base class for all compound assignments such as +=.
DefOp This class allows a temporary variable, created by the compiler, to be added to the appropriate places.
DeleteArrayOp A class which represents the C++ delete operator for arrays.
DeleteOp A class which represents the C++ delete operator for heap allocated structures.
DereferenceOp The DereferenceOp class represents the derefernce (*) operator.
DivisionAssignmentOp This class represents x /= y.
DivisionOp This class represents the division operator.
DyadicOp This class is the abstract class for operations with two arguments.
EqualityOp This class represents the test for equality.
ExponentiationOp This class represents the exponentiation operator.
Expression This is the base class for expressions such as add, subscript, etc.
ExpressionIfOp This class is used to represents the C conditional operator.
FloatArrayLiteral A class which represents a floating point literal array.
FloatLiteral A class which represents a floating point literal value.
GreaterEqualOp This class represnts the test for greater than or equal.
GreaterOp This class represnts the test for greater than.
HeapOp This is the base class for all allocation operators.
IdAddressOp A class which represents the address of a Declaration.
IdReferenceOp A class which represents a reference to a Declaration.
IdValueOp A class which represents the value of a Declaration.
IncrementOp This is the base class for all modify and replace operations such as x++.
IntArrayLiteral A class which represents a integer literal array.
IntLiteral A class which represents a integer literal value including address constants.
LessEqualOp This class represnts the test for less than or equal.
LessOp This class represnts the test for less than.
Literal The base class for classes which represent a literal, or constant, value.
MaximumOp This class represents the max(a, b) operation.
MinimumOp This class represents the min(a, b) operation.
ModulusOp Un-used.
MonadicOp This is the abstract class which represents an operation with one argument.
MultiplicationAssignmentOp This class represents x *= y.
MultiplicationOp This class represents the multiplication operator.
NegativeOp This class represents the unary - operator.
NilOp A class which represents the nil pointer value.
NotEqualOp This class represents the test for inequality.
NotOp A Class representing a boolean not operation.
OrConditionalOp This class represents a logical or operation with conditional evaluation of its second operand.
OrOp This class represents the logical or operation.
ParenthesesOp This class represents an expression inside a set of parens.
PositionFieldOp The PositionFieldOp class represents a position in an aggregation by specifying the struct field to be initialized.
PositionIndexOp The PositionIndexOp class represents a position in an aggregation as an single dimension array index from the start of the aggregation.
PositionOffsetOp The PositionOffsetOp class represents a position in an aggregation as an offset, in bytes, from the start of the aggregation.
PositionOp The PositionOp class represents a position in an aggregation.
PositionRepeatOp The PositionRepeatOp class specifies a repeat count for the next constant in an aggregation.
PositiveOp This class representes the unary plus operator.
PostDecrementOp This class represents the x-- operator.
PostIncrementOp This class represents the x++ operator.
PreDecrementOp This class represents the --x operator.
PreIncrementOp This class represents the ++x operator.
RemainderAssignmentOp This class represents x %= y.
RemainderOp This class represents the remainder operator.
SelectIndirectOp A class which represents the address of the value of the "." and "->" operators in C.
SelectOp A class which represents value of the "." and "->" operators in C.
SeriesOp The SeriesOp class represents the C-style comma operator.
SizeofLiteral A class which represents a literal value that is the size of some type or variable.
StatementOp A class which allows a statement to be included as part of an expression.
StringLiteral A class which represents a literal string value.
SubscriptAddressOp A class representing an array subscript operation that returns a address.
SubscriptOp This is the base class for subscripting operations.
SubscriptValueOp A class representing an array subscript operation that returns a value.
SubstringOp A class which represents the substring operationapplied to a Fortran CHARACTER variable.
SubtractionAssignmentOp This class represents x -= y.
SubtractionOp This class represents the subtraction operator.
TernaryOp A class which represents ternary operators.
ThisOp A class which represents the use of the this keyword.
Transcendental2Op This class represents dyadic intrinsic functions.
TranscendentalOp This class represents the monadic intrinsic functions.
TypeConversionOp A class which represents a language defined type conversion operation.
VaArgOp A class which represents the va_arg(va_list, type) C construct in the Clef AST.
VaCopyOp A class which represents the va_copy(va_list src, va_list dest) C construct in the Clef AST.
VaEndOp A class which represents the va_end(va_list) C construct in the Clef AST.
VarArgOp A class which represents the C variable argument processing.
VaStartOp A class which represents the va_start(va_list, parmN) C construct in the Clef AST.
 

Enum Summary
CastMode This enum specifies the type conversion - address cast, real, etc.
ShiftMode This enum specifies the type of shift operation - logical left, arithmetic right, etc.
TransFtn This enum specifies the different transcendental functions - sin, cos, etc.
 

Package scale.clef.expr Description

Provides for describing expressions in the Clef AST. The Expression class is the base class for all expressions.