Résultat du TP en C sur Forth
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

stackops.c 935B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "stackops.h"
  2. void dropCmd(struct State* state) {
  3. if (state->mode == EXECUTE) {
  4. pop(&(state->pile));
  5. }
  6. }
  7. void dupCmd(struct State* state) {
  8. if (state->mode == EXECUTE) {
  9. push(&(state->pile), top(&(state->pile)));
  10. }
  11. }
  12. void swapCmd(struct State* state) {
  13. if (state->mode == EXECUTE) {
  14. struct NumContainer num1;
  15. struct NumContainer num2;
  16. getlastnums(&num1, &num2, &(state->pile));
  17. push(&(state->pile), num2);
  18. push(&(state->pile), num1);
  19. }
  20. }
  21. void rotCmd(struct State* state) {
  22. if (state->mode == EXECUTE) {
  23. struct NumContainer num1;
  24. struct NumContainer num2;
  25. struct NumContainer num3;
  26. getlastnums(&num1, &num2, &(state->pile));
  27. num3 = top(&(state->pile));
  28. pop(&(state->pile));
  29. push(&(state->pile), num2);
  30. push(&(state->pile), num1);
  31. push(&(state->pile), num3);
  32. }
  33. }