asm: lex: add left and right brace symbols

This commit is contained in:
2024-11-20 22:15:10 +00:00
parent 17ee2b6b57
commit 230e66e066
2 changed files with 11 additions and 1 deletions

View File

@@ -39,6 +39,8 @@ enum ivy_asm_symbol {
IVY_ASM_SYM_RIGHT_PAREN,
IVY_ASM_SYM_LEFT_BRACKET,
IVY_ASM_SYM_RIGHT_BRACKET,
IVY_ASM_SYM_LEFT_BRACE,
IVY_ASM_SYM_RIGHT_BRACE,
IVY_ASM_SYM_COLON,
IVY_ASM_SYM_SEMICOLON,
IVY_ASM_SYM_DOLLAR,

View File

@@ -38,6 +38,8 @@ static struct lex_token_def symbols[] = {
LEX_TOKEN_DEF(IVY_ASM_SYM_RIGHT_PAREN, ")"),
LEX_TOKEN_DEF(IVY_ASM_SYM_LEFT_BRACKET, "["),
LEX_TOKEN_DEF(IVY_ASM_SYM_RIGHT_BRACKET, "]"),
LEX_TOKEN_DEF(IVY_ASM_SYM_LEFT_BRACE, "{"),
LEX_TOKEN_DEF(IVY_ASM_SYM_RIGHT_BRACE, "}"),
LEX_TOKEN_DEF(IVY_ASM_SYM_COLON, ":"),
LEX_TOKEN_DEF(IVY_ASM_SYM_SEMICOLON, ";"),
LEX_TOKEN_DEF(IVY_ASM_SYM_DOLLAR, "$"),
@@ -974,7 +976,11 @@ struct ivy_asm_token *ivy_asm_lexer_read(struct ivy_asm_lexer *lex)
}
struct ivy_asm_token *tok = lex->lex_queue;
lex->lex_queue = lex->lex_queue->t_next;
if (tok) {
lex->lex_queue = tok->t_next;
}
return tok;
}
@@ -1042,6 +1048,8 @@ const char *ivy_asm_symbol_to_string(enum ivy_asm_symbol sym)
ENUM_STR(IVY_ASM_SYM_RIGHT_BRACKET);
ENUM_STR(IVY_ASM_SYM_LEFT_PAREN);
ENUM_STR(IVY_ASM_SYM_RIGHT_PAREN);
ENUM_STR(IVY_ASM_SYM_LEFT_BRACE);
ENUM_STR(IVY_ASM_SYM_RIGHT_BRACE);
ENUM_STR(IVY_ASM_SYM_COLON);
ENUM_STR(IVY_ASM_SYM_HYPHEN);
ENUM_STR(IVY_ASM_SYM_COMMA);