|
Gyoji Compiler
|
Literal character. More...
#include <operations.hpp>


Public Member Functions | |
| OperationLiteralChar (const Gyoji::context::SourceReference &_src_ref, size_t _result, char _literal_char) | |
| virtual | ~OperationLiteralChar () |
| Move along, nothing to see here. | |
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::SourceReference & | get_source_ref () const |
| Get the reference to the source which originated this operation. | |
Protected Member Functions | |
| virtual std::string | get_description () const |
| Produce a description of the operation. | |
Protected Member Functions inherited from Gyoji::mir::Operation | |
| void | add_operand (size_t operand) |
| Add an operand. | |
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... | |
Literal character.
This operation loads a constant character (u8) literal into the return-value. See OP_LITERAL_CHAR.
| OperationLiteralChar::OperationLiteralChar | ( | const Gyoji::context::SourceReference & | _src_ref, |
| size_t | _result, | ||
| char | _literal_char | ||
| ) |
Loads the literal character constant into the return-value.
|
virtual |
Move along, nothing to see here.
Move along, nothing to see here.
|
protectedvirtual |
Produce a description of the operation.
This method returns a full description of the operation including the return-value, operands, and any other ancilary information about the operation. This is a string that is constructed dynamically when needed and is used almost exclusively by the "dump" method to provide debuginng information.
Reimplemented from Gyoji::mir::Operation.