main.c 851 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "common.h"
  2. #include "chunk.h"
  3. #include "debug.h"
  4. #include "vm.h"
  5. /*!
  6. * @brief 程序主入口
  7. * @param argc
  8. * @param argv
  9. * @return
  10. */
  11. int main(int argc, char *argv[]) {
  12. initVM();
  13. Chunk chunk;
  14. initChunk(&chunk);
  15. int constant = addConstant(&chunk, 1.2);
  16. writeChunk(&chunk, OP_CONSTANT, 123);
  17. writeChunk(&chunk, constant, 123);
  18. constant = addConstant(&chunk, 3.4);
  19. writeChunk(&chunk, OP_CONSTANT, 123);
  20. writeChunk(&chunk, constant, 123);
  21. writeChunk(&chunk, OP_ADD, 123);
  22. constant = addConstant(&chunk, 5.6);
  23. writeChunk(&chunk, OP_CONSTANT, 123);
  24. writeChunk(&chunk, constant, 123);
  25. writeChunk(&chunk, OP_DIVIDE, 123);
  26. writeChunk(&chunk, OP_NEGATE, 123);
  27. writeChunk(&chunk, OP_RETURN, 123);
  28. disassembleChunk(&chunk, "test chunk");
  29. interpret(&chunk);
  30. freeVM();
  31. freeChunk(&chunk);
  32. return 0;
  33. }