aboutsummaryrefslogtreecommitdiff
path: root/asm/parser.c
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-11-01 21:39:48 +0000
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-11-01 21:40:25 +0000
commit75649381132924c4cb5e4fa215e200e2457a1434 (patch)
tree4abbb6ab858c2f8bb9003724bf4a8b0158aaeccc /asm/parser.c
parent32c1bcb859426c73e3bc45fa537e932018346d07 (diff)
downloadovm-75649381132924c4cb5e4fa215e200e2457a1434.tar.gz
ovm-75649381132924c4cb5e4fa215e200e2457a1434.tar.bz2
ovm-75649381132924c4cb5e4fa215e200e2457a1434.zip
Implemented lexer and parser for new memory management instructions
Diffstat (limited to 'asm/parser.c')
-rw-r--r--asm/parser.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/asm/parser.c b/asm/parser.c
index 41ffdb9..a7340f9 100644
--- a/asm/parser.c
+++ b/asm/parser.c
@@ -221,6 +221,18 @@ perr_t parse_next_inst(token_stream_t *stream, inst_t *ret)
case TOKEN_DUP:
ret->opcode = OP_DUP_BYTE;
return parse_utype_inst_with_operand(stream, ret);
+ case TOKEN_MALLOC:
+ ret->opcode = OP_MALLOC_BYTE;
+ return parse_utype_inst_with_operand(stream, ret);
+ case TOKEN_MSET:
+ ret->opcode = OP_MSET_BYTE;
+ return parse_utype_inst_with_operand(stream, ret);
+ case TOKEN_MGET:
+ ret->opcode = OP_MGET_BYTE;
+ return parse_utype_inst_with_operand(stream, ret);
+ case TOKEN_MDELETE:
+ ret->opcode = OP_MDELETE;
+ break;
case TOKEN_NOT:
ret->opcode = OP_NOT_BYTE;
return parse_utype_inst(stream, ret);