123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "stackops.h"
-
- void dropCmd(struct State* state) {
- if (state->mode == EXECUTE) {
- pop(&(state->pile));
- }
- }
-
- void dupCmd(struct State* state) {
- if (state->mode == EXECUTE) {
- push(&(state->pile), top(&(state->pile)));
- }
- }
-
- void swapCmd(struct State* state) {
- if (state->mode == EXECUTE) {
- struct NumContainer num1;
- struct NumContainer num2;
-
- getlastnums(&num1, &num2, &(state->pile));
- push(&(state->pile), num2);
- push(&(state->pile), num1);
- }
- }
-
- void rotCmd(struct State* state) {
- if (state->mode == EXECUTE) {
- struct NumContainer num1;
- struct NumContainer num2;
- struct NumContainer num3;
-
- getlastnums(&num1, &num2, &(state->pile));
- num3 = top(&(state->pile));
- pop(&(state->pile));
- push(&(state->pile), num2);
- push(&(state->pile), num1);
- push(&(state->pile), num3);
- }
- }
|