text: #ifndef _BYTECODE_INSTRUCTIONS_H_
  #define _BYTECODE_INSTRUCTIONS_H_
  
  
  typedef enum BytecodeInstruction {
      // Load constant into the stack.
      // Code: "123", "'Hello'".
      // Structure: LOAD_CONSTANT constantIndex[2]
      BytecodeInstruction_LOAD_CONSTANT,
      // Loads "null" into the stack.
      // Code: "null".
      // Structure: LOAD_NULL
      BytecodeInstruction_LOAD_NULL,
      // Loads "true" into the stack.
      // Code: "true".
      // Structure: LOAD_TRUE
      BytecodeInstruction_LOAD_TRUE,
      // Loads "false" into the stack.
      // Code: "false".
      // Structure: LOAD_FALSE
      BytecodeInstruction_LOAD_FALSE,
  
      // Negate the last element in the stack.
      // Code: "-expression".
      // Structure: NEGATE
      BytecodeInstruction_NEGATE,
      // Reverse the last element in the stack.
      // Code: "!expression".
      // Structure: NOT
      BytecodeInstruction_NOT,
      // Calls the last element in the stack.
      // Code: "$expression".
      // Structure: CALL argumentsCount[int]
      BytecodeInstruction_CALL,
  
      // Adds the two the last element in the stack.
      // Code: "expression + expression".
      // Structure: ADD
      BytecodeInstruction_ADD,
      // Subtracts the two the last element in the stack.
      // Code: "expression - expression".
      // Structure: SUB
      BytecodeInstruction_SUB,
      // Multiplies the two the last element in the stack.
      // Code: "expression * expression".
      // Structure: MULTIPLY
      BytecodeInstruction_MULTIPLY,
      // Divides the two the last element in the stack.
      // Code: "expression / expression".
      // Structure: DIVIDE
      BytecodeInstruction_DIVIDE
  } BytecodeInstruction;
  
  
  #endif
  