ArkScript
A small, fast, functional and scripting language for video games
Instructions.hpp File Reference

The different instructions used by the compiler and virtual machine. More...

#include <cinttypes>
+ Include dependency graph for Instructions.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Ark
 
namespace  Ark::internal
 

Enumerations

enum  Ark::internal::Instruction : uint8_t {
  Ark::internal::NOP = 0x00 , Ark::internal::SYM_TABLE_START = 0x01 , Ark::internal::VAL_TABLE_START = 0x02 , Ark::internal::NUMBER_TYPE = 0x01 ,
  Ark::internal::STRING_TYPE = 0x02 , Ark::internal::FUNC_TYPE = 0x03 , Ark::internal::CODE_SEGMENT_START = 0x03 , Ark::internal::FIRST_COMMAND = 0x01 ,
  Ark::internal::LOAD_SYMBOL = 0x01 , Ark::internal::LOAD_CONST = 0x02 , Ark::internal::POP_JUMP_IF_TRUE = 0x03 , Ark::internal::STORE = 0x04 ,
  Ark::internal::LET = 0x05 , Ark::internal::POP_JUMP_IF_FALSE = 0x06 , Ark::internal::JUMP = 0x07 , Ark::internal::RET = 0x08 ,
  Ark::internal::HALT = 0x09 , Ark::internal::CALL = 0x0a , Ark::internal::CAPTURE = 0x0b , Ark::internal::BUILTIN = 0x0c ,
  Ark::internal::MUT = 0x0d , Ark::internal::DEL = 0x0e , Ark::internal::SAVE_ENV = 0x0f , Ark::internal::GET_FIELD = 0x10 ,
  Ark::internal::PLUGIN = 0x11 , Ark::internal::LIST = 0x12 , Ark::internal::APPEND = 0x13 , Ark::internal::CONCAT = 0x14 ,
  Ark::internal::APPEND_IN_PLACE = 0x15 , Ark::internal::CONCAT_IN_PLACE = 0x16 , Ark::internal::POP_LIST = 0x17 , Ark::internal::POP_LIST_IN_PLACE = 0x18 ,
  Ark::internal::POP = 0x19 , Ark::internal::LAST_COMMAND = 0x19 , Ark::internal::FIRST_OPERATOR = 0x20 , Ark::internal::ADD = 0x20 ,
  Ark::internal::SUB = 0x21 , Ark::internal::MUL = 0x22 , Ark::internal::DIV = 0x23 , Ark::internal::GT = 0x24 ,
  Ark::internal::LT = 0x25 , Ark::internal::LE = 0x26 , Ark::internal::GE = 0x27 , Ark::internal::NEQ = 0x28 ,
  Ark::internal::EQ = 0x29 , Ark::internal::LEN = 0x2a , Ark::internal::EMPTY = 0x2b , Ark::internal::TAIL = 0x2c ,
  Ark::internal::HEAD = 0x2d , Ark::internal::ISNIL = 0x2e , Ark::internal::ASSERT = 0x2f , Ark::internal::TO_NUM = 0x30 ,
  Ark::internal::TO_STR = 0x31 , Ark::internal::AT = 0x32 , Ark::internal::AND_ = 0x33 , Ark::internal::OR_ = 0x34 ,
  Ark::internal::MOD = 0x35 , Ark::internal::TYPE = 0x36 , Ark::internal::HASFIELD = 0x37 , Ark::internal::NOT = 0x38 ,
  Ark::internal::LAST_OPERATOR = 0x38 , Ark::internal::LAST_INSTRUCTION = 0x38
}
 The different bytecodes are stored here. More...
 

Detailed Description

The different instructions used by the compiler and virtual machine.

Author
Alexandre Plateau (lexpl.nosp@m.t.de.nosp@m.v@gma.nosp@m.il.c.nosp@m.om)
Version
0.1
Date
2020-10-27

Definition in file Instructions.hpp.