Skip to content

Commit 2d7ae65

Browse files
committed
feature: add variable++ and variable-- increment/decrement notation
1 parent 90a2e4d commit 2d7ae65

3 files changed

Lines changed: 26 additions & 0 deletions

File tree

keywords.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,8 @@ void keywords (char **cstatement)
306306
i = 0;
307307
removeCR (statement[0]);
308308
removeCR (statement[1]);
309+
removeCR (statement[2]);
310+
removeCR (statement[3]);
309311
if (!strncmp (statement[0], "return", 7))
310312
prerror ("return used as label");
311313
else if (statement[1][0] == '\0')
@@ -534,6 +536,10 @@ void keywords (char **cstatement)
534536
let (statement);
535537
else if (!strncmp (statement[1], "dec", 4))
536538
dec (statement);
539+
else if ((statement[2][0]=='+')&&(statement[3][0]=='+'))
540+
increment (statement);
541+
else if ((statement[2][0]=='-')&&(statement[3][0]=='-'))
542+
decrement (statement);
537543
else if (!strncmp (statement[1], "macro", 6))
538544
domacro (statement);
539545
else if (!strncmp (statement[1], "callmacro", 10))

statements.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9687,6 +9687,24 @@ void displayoperation (char *opcode, char *operand, int index)
96879687
}
96889688
}
96899689

9690+
void increment (char **statement)
9691+
{
9692+
// 1 2 3
9693+
// variable "+" "+"
9694+
9695+
assertminimumargs (statement, "increment notation", 2);
9696+
printf (" inc %s\n", statement[1]);
9697+
}
9698+
9699+
void decrement (char **statement)
9700+
{
9701+
// 1 2 3
9702+
// variable "-" "-"
9703+
9704+
assertminimumargs (statement, "decrement notation", 2);
9705+
printf (" dec %s\n", statement[1]);
9706+
}
9707+
96909708
void dec (char **cstatement) // "dec" is variation of "let" that uses decimal mode
96919709
{
96929710
decimal = 1;

statements.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@ void pokechar (char **);
107107
void setfade (char **statement);
108108
void let (char **);
109109
void dec (char **);
110+
void increment (char **);
111+
void decrement (char **);
110112
void bank (char **);
111113
void dmahole (char **);
112114
void rem (char **);

0 commit comments

Comments
 (0)