finsh_init.c 734 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include <finsh.h>
  2. #include "finsh_node.h"
  3. #include "finsh_vm.h"
  4. #include "finsh_parser.h"
  5. #include "finsh_var.h"
  6. #include "finsh_error.h"
  7. #include "finsh_heap.h"
  8. int finsh_init(struct finsh_parser* parser)
  9. {
  10. finsh_parser_init(parser);
  11. /* finsh init */
  12. finsh_node_init();
  13. finsh_var_init();
  14. finsh_error_init();
  15. finsh_heap_init();
  16. return 0;
  17. }
  18. long finsh_stack_bottom()
  19. {
  20. return finsh_vm_stack[0].long_value;
  21. }
  22. int finsh_flush(struct finsh_parser* parser)
  23. {
  24. finsh_parser_init(parser);
  25. /* finsh init */
  26. finsh_node_init();
  27. finsh_error_init();
  28. return 0;
  29. }
  30. int finsh_reset(struct finsh_parser* parser)
  31. {
  32. /* finsh init */
  33. finsh_node_init();
  34. finsh_var_init();
  35. finsh_error_init();
  36. finsh_heap_init();
  37. return 0;
  38. }