Expanded the tokenizer to recognize some opcodes and registers.

This commit is contained in:
2022-01-24 17:09:02 +00:00
parent 2570c5cac0
commit f88613a160
4 changed files with 68 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
#include "../includes/opcodes.h"
char *opcodes[OPCODECOUNT] = {
"copy",
"add",
"sub",
"jz",
"int",
"hlt",
"ret"
};
char *registers[REGISTERCOUNT] = {
"r1",
"r2",
"r3",
"r4",
"r5",
"r6",
"r7",
"r8"
};
int IsOpcode(const char* text) {
if (!text) return 0;
for(int i = 0; i < OPCODECOUNT; i++) {
if (strcmp(opcodes[i], text) == 0) return 1;
}
return 0;
}
int IsRegister(const char* text) {
if (!text) return 0;
for(int i = 0; i < REGISTERCOUNT; i++) {
if (strcmp(registers[i], text) == 0) return 1;
}
return 0;
}