Fennel: InstructionFactory Class Reference (original) (raw)
Dynamically create Instruction objects given an InstructionDescription description of the desired Instruction. More...
#include <[InstructionFactory.h](InstructionFactory%5F8h-source.html)>
| Public Member Functions | |
|---|---|
| InstructionFactory () | |
| Static Public Member Functions | |
| static Instruction * | createInstruction (string const &name, vector< RegisterReference * > const &operands) |
| static Instruction * | createInstruction (string const &name, TProgramCounter pc, RegisterReference *operand) |
| static Instruction * | createInstruction (string const &name, string const &function, vector< RegisterReference * > const &operands) |
| static string | signatures () |
| static string | extendedSignatures () |
| static void | registerInstructions () |
| static StringToCreateFn * | getInstructionTable () |
| static ExtendedInstructionTable * | getExtendedInstructionTable () |
| Static Private Member Functions | |
| static Instruction * | createInstructionHelper (InstructionSignature const &sig) |
| Static Private Attributes | |
| static StringToCreateFn | instructionTable |
| A map to hold regular instructions. | |
| static ExtendedInstructionTable | extendedTable |
| A map to hold extended instructions. |
Detailed Description
Dynamically create Instruction objects given an InstructionDescription description of the desired Instruction.
Definition at line 40 of file InstructionFactory.h.
Constructor & Destructor Documentation
| InstructionFactory::InstructionFactory | ( | | ) | [inline, explicit] | | -------------------------------------- | - | | - | -------------------- |
Member Function Documentation
| Instruction * InstructionFactory::createInstruction | ( | string const & | name, |
|---|---|---|---|
| string const & | function, | ||
| vector< RegisterReference * > const & | operands | ||
| ) | [static] |
| string InstructionFactory::signatures | ( | | ) | [static] | | ------------------------------------- | - | | - | ---------- |
| string InstructionFactory::extendedSignatures | ( | | ) | [static] | | --------------------------------------------- | - | | - | ---------- |
| void InstructionFactory::registerInstructions | ( | | ) | [static] | | --------------------------------------------- | - | | - | ---------- |
Definition at line 106 of file InstructionFactory.cpp.
References ReturnInstructionRegister::registerInstructions(), PointerPointerInstructionRegister::registerInstructions(), PointerIntegralInstructionRegister::registerInstructions(), NativeNativeInstructionRegister::registerInstructions(), JumpInstructionRegister::registerInstructions(), IntegralPointerInstructionRegister::registerInstructions(), IntegralNativeInstructionRegister::registerInstructions(), CastInstructionRegister::registerInstructions(), BoolPointerInstructionRegister::registerInstructions(), BoolNativeInstructionRegister::registerInstructions(), and BoolInstructionRegister::registerInstructions().
Referenced by CalcInit::instance(), and main().
| static StringToCreateFn* InstructionFactory::getInstructionTable | ( | | ) | [inline, static] | | ------------------------------------------------------------------------------------------------------------------------------------ | - | | - | ------------------ |
Member Data Documentation
The documentation for this class was generated from the following files:
- /home/pub/open/dev/fennel/calculator/InstructionFactory.h
- /home/pub/open/dev/fennel/calculator/InstructionFactory.cpp
