فهرست منبع

Add dictionary of valid instructions

Added the InstructionDictionary object to better track all valid
instructions in ¤><>
ApisNecros 1 سال پیش
والد
کامیت
d8f1be24c5
1فایلهای تغییر یافته به همراه81 افزوده شده و 0 حذف شده
  1. 81 0
      src/Instructions.ts

+ 81 - 0
src/Instructions.ts

@@ -0,0 +1,81 @@
+export const InstructionDictionary = {
+    // Foundational
+    NOP: " ",
+    EXIT: ";",
+    // Hex values
+    HEX_0: "0",
+    HEX_1: "1",
+    HEX_2: "2",
+    HEX_3: "3",
+    HEX_4: "4",
+    HEX_5: "5",
+    HEX_6: "6",
+    HEX_7: "7",
+    HEX_8: "8",
+    HEX_9: "9",
+    HEX_10: "a",
+    HEX_11: "b",
+    HEX_12: "c",
+    HEX_13: "d",
+    HEX_14: "e",
+    HEX_15: "f",
+    // Arthimetic
+    OPERATOR_ADD: "+",
+    OPERATOR_SUBTRACT: "-",
+    OPERATOR_MULTIPLY: "*",
+    OPERATOR_DIVIDE: ",",
+    OPERATOR_MODULO: "%",
+    OPERATOR_GREATER_THAN: ")",
+    OPERATOR_LESS_THAN: "(",
+    OPERATOR_EQUAL_TO: "=",
+    // String Mode
+    STRING_MODE_DOUBLE: "\"",
+    STRING_MODE_SINGLE: "'",
+    // Movement
+    MOVE_RIGHT: ">",
+    MOVE_LEFT: "<",
+    MOVE_UP: "^",
+    MOVE_DOWN: "v",
+    // Mirrors
+    MIRROR_FORWARD: "/",
+    MIRROR_BACKWARD: "\\",
+    MIRROR_VERTICAL: "_",
+    MIRROR_HORIZONTAL: "|",
+    MIRROR_OMNI: "#",
+    MIRROR_RANDOM: "x",
+    // Trampolines
+    TRAMPOLINE_CLASSIC: "!",
+    TRAMPLOINE_CONDITIONAL: "?",
+    // Dive & Rise
+    DIVE: "u",
+    RISE: "O",
+    // Functions
+    JUMP: ".",
+    JUMP_STORED: "C",
+    RETURN: "R",
+    // Stack Manipulation
+    STACK_DUPLICATE: ":",
+    STACK_REMOVE: "~",
+    STACK_SWAP_TWO: "$",
+    STACK_SWAP_THREE: "@",
+    STACK_SHIFT_RIGHT: "}",
+    STACK_SHIFT_LEFT: "{",
+    STACK_REVERSE: "r",
+    STACK_LENGTH: "l",
+    STACK_SPLIT: "[",
+    STACK_COLLAPSE: "]",
+    STACK_INDEX_INCREMENT: "I",
+    STACK_INDEX_DECREMENT: "D",
+    STACK_REGISTER: "&",
+    // I/O
+    OUTPUT_ASCII: "o",
+    OUTPUT_DECIMAL: "n",
+    // Time
+    TIME_SECONDS: "s",
+    TIME_MINUTES: "m",
+    TIME_HOURS: "h",
+    TIME_SLEEP: "S",
+    // Code Box Manipulation
+    CODE_BOX_FETCH: "g",
+    CODE_BOX_PLACE: "p"
+} as const;