Gyoji Compiler
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Gyoji::mir::OperationArrayIndex Class Reference

This subclass of OperationBinary represents indexing an array. More...

#include <operations.hpp>

Inheritance diagram for Gyoji::mir::OperationArrayIndex:
Inheritance graph
[legend]
Collaboration diagram for Gyoji::mir::OperationArrayIndex:
Collaboration graph
[legend]

Public Member Functions

 OperationArrayIndex (const Gyoji::context::SourceReference &_src_ref, size_t _result, size_t _array_tmpvar, size_t _index_tmpvar)
 Create an array index operation.
 
virtual ~OperationArrayIndex ()
 Move along, nothing to see here.
 
- Public Member Functions inherited from Gyoji::mir::OperationBinary
 OperationBinary (OperationType _type, const Gyoji::context::SourceReference &_src_ref, size_t _result, size_t _operand_a, size_t _operand_b)
 Construct binary operation with a two operands operand.
 
virtual ~OperationBinary ()
 Move along, nothing to see here.
 
size_t get_a () const
 Access the first operand (a).
 
size_t get_b () const
 Access the second operand (b).
 
- Public Member Functions inherited from Gyoji::mir::Operation
 Operation (OperationType _type, const Gyoji::context::SourceReference &_src_ref, size_t _result)
 
 Operation (OperationType _type, const Gyoji::context::SourceReference &_src_ref, size_t _result, size_t _operand)
 
 Operation (OperationType _type, const Gyoji::context::SourceReference &_src_ref, size_t _result, size_t _operand_a, size_t _operand_b)
 
 Operation (OperationType _type, const Gyoji::context::SourceReference &_src_ref, size_t _result, size_t _operand_a, size_t _operand_b, size_t _operand_c)
 
virtual ~Operation ()
 Move along, nothing to see here.
 
void dump (FILE *out) const
 
OperationType get_type () const
 Opcode of this operation.
 
const std::vector< size_t > & get_operands () const
 Get the operands.
 
size_t get_result () const
 Get the result of this operation.
 
bool is_terminating () const
 Returns true if this is a terminating operation for a block.
 
const Gyoji::context::SourceReferenceget_source_ref () const
 Get the reference to the source which originated this operation.
 
virtual std::string get_description () const
 Produce a description of the operation.
 

Additional Inherited Members

- Public Types inherited from Gyoji::mir::Operation
enum  OperationType {
  OP_FUNCTION_CALL , OP_SYMBOL , OP_WIDEN_SIGNED , OP_WIDEN_UNSIGNED ,
  OP_WIDEN_FLOAT , OP_ARRAY_INDEX , OP_DOT , OP_LOCAL_DECLARE ,
  OP_LOCAL_UNDECLARE , OP_LOCAL_VARIABLE , OP_LITERAL_CHAR , OP_LITERAL_STRING ,
  OP_LITERAL_INT , OP_LITERAL_FLOAT , OP_LITERAL_BOOL , OP_LITERAL_NULL ,
  OP_ADDRESSOF , OP_DEREFERENCE , OP_NEGATE , OP_BITWISE_NOT ,
  OP_LOGICAL_NOT , OP_SIZEOF_TYPE , OP_ADD , OP_SUBTRACT ,
  OP_MULTIPLY , OP_DIVIDE , OP_MODULO , OP_LOGICAL_AND ,
  OP_LOGICAL_OR , OP_BITWISE_AND , OP_BITWISE_OR , OP_BITWISE_XOR ,
  OP_SHIFT_LEFT , OP_SHIFT_RIGHT , OP_COMPARE_LESS , OP_COMPARE_GREATER ,
  OP_COMPARE_LESS_EQUAL , OP_COMPARE_GREATER_EQUAL , OP_COMPARE_NOT_EQUAL , OP_COMPARE_EQUAL ,
  OP_ASSIGN , OP_JUMP_CONDITIONAL , OP_JUMP , OP_RETURN ,
  OP_RETURN_VOID
}
 Operations of the MIR virtual-machine. More...
 
- Protected Member Functions inherited from Gyoji::mir::Operation
void add_operand (size_t operand)
 Add an operand.
 

Detailed Description

This subclass of OperationBinary represents indexing an array.

See OP_ARRAY_INDEX for details.

Constructor & Destructor Documentation

◆ OperationArrayIndex()

OperationArrayIndex::OperationArrayIndex ( const Gyoji::context::SourceReference _src_ref,
size_t  _result,
size_t  _array_tmpvar,
size_t  _index_tmpvar 
)

Create an array index operation.

This constructor creates an array index operation from the index variable and the type of data contained in the array.

◆ ~OperationArrayIndex()

OperationArrayIndex::~OperationArrayIndex ( )
virtual

Move along, nothing to see here.

Move along, nothing to see here.


The documentation for this class was generated from the following files: