asm: lex: add left and right brace symbols
This commit is contained in:
@@ -39,6 +39,8 @@ enum ivy_asm_symbol {
|
|||||||
IVY_ASM_SYM_RIGHT_PAREN,
|
IVY_ASM_SYM_RIGHT_PAREN,
|
||||||
IVY_ASM_SYM_LEFT_BRACKET,
|
IVY_ASM_SYM_LEFT_BRACKET,
|
||||||
IVY_ASM_SYM_RIGHT_BRACKET,
|
IVY_ASM_SYM_RIGHT_BRACKET,
|
||||||
|
IVY_ASM_SYM_LEFT_BRACE,
|
||||||
|
IVY_ASM_SYM_RIGHT_BRACE,
|
||||||
IVY_ASM_SYM_COLON,
|
IVY_ASM_SYM_COLON,
|
||||||
IVY_ASM_SYM_SEMICOLON,
|
IVY_ASM_SYM_SEMICOLON,
|
||||||
IVY_ASM_SYM_DOLLAR,
|
IVY_ASM_SYM_DOLLAR,
|
||||||
|
|||||||
10
asm/lex.c
10
asm/lex.c
@@ -38,6 +38,8 @@ static struct lex_token_def symbols[] = {
|
|||||||
LEX_TOKEN_DEF(IVY_ASM_SYM_RIGHT_PAREN, ")"),
|
LEX_TOKEN_DEF(IVY_ASM_SYM_RIGHT_PAREN, ")"),
|
||||||
LEX_TOKEN_DEF(IVY_ASM_SYM_LEFT_BRACKET, "["),
|
LEX_TOKEN_DEF(IVY_ASM_SYM_LEFT_BRACKET, "["),
|
||||||
LEX_TOKEN_DEF(IVY_ASM_SYM_RIGHT_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_COLON, ":"),
|
||||||
LEX_TOKEN_DEF(IVY_ASM_SYM_SEMICOLON, ";"),
|
LEX_TOKEN_DEF(IVY_ASM_SYM_SEMICOLON, ";"),
|
||||||
LEX_TOKEN_DEF(IVY_ASM_SYM_DOLLAR, "$"),
|
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;
|
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;
|
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_RIGHT_BRACKET);
|
||||||
ENUM_STR(IVY_ASM_SYM_LEFT_PAREN);
|
ENUM_STR(IVY_ASM_SYM_LEFT_PAREN);
|
||||||
ENUM_STR(IVY_ASM_SYM_RIGHT_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_COLON);
|
||||||
ENUM_STR(IVY_ASM_SYM_HYPHEN);
|
ENUM_STR(IVY_ASM_SYM_HYPHEN);
|
||||||
ENUM_STR(IVY_ASM_SYM_COMMA);
|
ENUM_STR(IVY_ASM_SYM_COMMA);
|
||||||
|
|||||||
Reference in New Issue
Block a user