Expanded the tokenizer to recognize some opcodes and registers.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user