parse: lex: add a range of new symbol tokens
This commit is contained in:
@@ -184,6 +184,7 @@ static const unsigned int operators[] = {
|
||||
};
|
||||
|
||||
static const unsigned int symbols[] = {
|
||||
SYM_BANG,
|
||||
SYM_PLUS,
|
||||
SYM_HYPHEN,
|
||||
SYM_FORWARD_SLASH,
|
||||
|
||||
@@ -68,6 +68,7 @@ static struct lex_token_def operators[] = {
|
||||
static const size_t nr_operators = sizeof operators / sizeof operators[0];
|
||||
|
||||
static struct lex_token_def symbols[] = {
|
||||
SYMBOL_DEF(SYM_BANG, "!", LEX_TOKEN_UNARY_ARITHMETIC),
|
||||
SYMBOL_DEF(SYM_PLUS, "+", LEX_TOKEN_UNARY_ARITHMETIC),
|
||||
SYMBOL_DEF(SYM_HYPHEN, "-", LEX_TOKEN_UNARY_ARITHMETIC),
|
||||
SYMBOL_DEF(SYM_FORWARD_SLASH, "/", 0),
|
||||
|
||||
@@ -141,12 +141,17 @@ const char *token_symbol_to_string(enum token_symbol sym)
|
||||
ENUM_STR(SYM_SQUOTE);
|
||||
ENUM_STR(SYM_DQUOTE);
|
||||
ENUM_STR(SYM_HASH);
|
||||
ENUM_STR(SYM_COLON_COLON);
|
||||
ENUM_STR(SYM_SEMICOLON);
|
||||
ENUM_STR(SYM_COMMA);
|
||||
ENUM_STR(SYM_DOLLAR);
|
||||
ENUM_STR(SYM_DOLLAR_LEFT_PAREN);
|
||||
ENUM_STR(SYM_DOLLAR_LEFT_BRACE);
|
||||
ENUM_STR(SYM_DOT);
|
||||
ENUM_STR(SYM_DOT_DOT);
|
||||
ENUM_STR(SYM_PIPE);
|
||||
ENUM_STR(SYM_AT);
|
||||
ENUM_STR(SYM_AT_LEFT_PAREN);
|
||||
ENUM_STR(SYM_AT_LEFT_BRACE);
|
||||
ENUM_STR(SYM_LEFT_BRACE);
|
||||
ENUM_STR(SYM_RIGHT_BRACE);
|
||||
@@ -157,9 +162,11 @@ const char *token_symbol_to_string(enum token_symbol sym)
|
||||
ENUM_STR(SYM_EQUAL);
|
||||
ENUM_STR(SYM_PLUS_EQUAL);
|
||||
ENUM_STR(SYM_HYPHEN_EQUAL);
|
||||
ENUM_STR(SYM_FORWARD_SLASH_EQUAL);
|
||||
ENUM_STR(SYM_ASTERISK_EQUAL);
|
||||
ENUM_STR(SYM_FORWARD_SLASH_EQUAL);
|
||||
ENUM_STR(SYM_PERCENT_EQUAL);
|
||||
ENUM_STR(SYM_QUESTION_DOT);
|
||||
ENUM_STR(SYM_QUESTION_LEFT_BRACKET);
|
||||
default:
|
||||
return "<unknown>";
|
||||
}
|
||||
|
||||
@@ -77,6 +77,7 @@ enum token_operator {
|
||||
enum token_symbol {
|
||||
SYM_NONE = 0,
|
||||
__SYM_INDEX_BASE = 400,
|
||||
SYM_BANG,
|
||||
SYM_PLUS,
|
||||
SYM_HYPHEN,
|
||||
SYM_FORWARD_SLASH,
|
||||
@@ -86,13 +87,17 @@ enum token_symbol {
|
||||
SYM_SQUOTE,
|
||||
SYM_DQUOTE,
|
||||
SYM_HASH,
|
||||
SYM_COLON_COLON,
|
||||
SYM_SEMICOLON,
|
||||
SYM_COMMA,
|
||||
SYM_DOLLAR,
|
||||
SYM_DOLLAR_LEFT_PAREN,
|
||||
SYM_DOLLAR_LEFT_BRACE,
|
||||
SYM_DOT,
|
||||
SYM_DOT_DOT,
|
||||
SYM_PIPE,
|
||||
SYM_AT,
|
||||
SYM_AT_LEFT_PAREN,
|
||||
SYM_AT_LEFT_BRACE,
|
||||
SYM_LEFT_BRACE,
|
||||
SYM_RIGHT_BRACE,
|
||||
@@ -106,6 +111,8 @@ enum token_symbol {
|
||||
SYM_ASTERISK_EQUAL,
|
||||
SYM_FORWARD_SLASH_EQUAL,
|
||||
SYM_PERCENT_EQUAL,
|
||||
SYM_QUESTION_DOT,
|
||||
SYM_QUESTION_LEFT_BRACKET,
|
||||
__SYM_INDEX_LIMIT,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user