Bladeren bron

[lexer/token.h] Adding token for &, [ and ]

Vinicius Teshima 1 jaar geleden
bovenliggende
commit
bb6c7fb590
2 gewijzigde bestanden met toevoegingen van 12 en 3 verwijderingen
  1. 3 0
      src/lexer.h
  2. 9 3
      src/token.h

+ 3 - 0
src/lexer.h

@@ -131,11 +131,14 @@ lexer_next_token(struct lexer *l, struct lexer_err *err)
 		break;
 	case ',':  t = token_create(TT_COMMA,     _LEXER_CUR_CHAR); break;
 	case '*':  t = token_create(TT_ASTERISK,  _LEXER_CUR_CHAR); break;
+	case '&':  t = token_create(TT_AMPERSAND, _LEXER_CUR_CHAR); break;
 	case '-':  t = token_create(TT_DASH,      _LEXER_CUR_CHAR); break;
 	case '.':  t = token_create(TT_DOT,       _LEXER_CUR_CHAR); break;
 	case '+':  t = token_create(TT_PLUS,      _LEXER_CUR_CHAR); break;
 	case '{':  t = token_create(TT_LBRACE,    _LEXER_CUR_CHAR); break;
 	case '}':  t = token_create(TT_RBRACE,    _LEXER_CUR_CHAR); break;
+	case '[':  t = token_create(TT_LBRACKET,  _LEXER_CUR_CHAR); break;
+	case ']':  t = token_create(TT_RBRACKET,  _LEXER_CUR_CHAR); break;
 	case '<':  t = token_create(TT_LABRACKET, _LEXER_CUR_CHAR); break;
 	case '>':  t = token_create(TT_RABRACKET, _LEXER_CUR_CHAR); break;
 	case '\'': t = token_create(TT_SQUOTE,    _LEXER_CUR_CHAR); break;

+ 9 - 3
src/token.h

@@ -21,14 +21,17 @@ enum token_type_enum {
 
 	TT_COMMA,
 	TT_SEMICOLON,
-	TT_ASTERISK, /* '*' */
-	TT_DASH,     /* '-' */
-	TT_DOT,      /* '.' */
+	TT_ASTERISK,  /* '*' */
+	TT_AMPERSAND, /* '&' */
+	TT_DASH,      /* '-' */
+	TT_DOT,       /* '.' */
 
 	TT_LPAREN,
 	TT_RPAREN,
 	TT_LBRACE,
 	TT_RBRACE,
+	TT_LBRACKET,  /* '[' */
+	TT_RBRACKET,  /* ']' */
 	TT_LABRACKET, /* '<' */
 	TT_RABRACKET, /* '>' */
 
@@ -124,6 +127,7 @@ token_type_enum_2_cstr(enum token_type_enum tte)
 	_TOKEN_CASE(TT_COMMA);
 	_TOKEN_CASE(TT_SEMICOLON);
 	_TOKEN_CASE(TT_ASTERISK);
+	_TOKEN_CASE(TT_AMPERSAND);
 	_TOKEN_CASE(TT_DASH);
 	_TOKEN_CASE(TT_DOT);
 
@@ -131,6 +135,8 @@ token_type_enum_2_cstr(enum token_type_enum tte)
 	_TOKEN_CASE(TT_RPAREN);
 	_TOKEN_CASE(TT_LBRACE);
 	_TOKEN_CASE(TT_RBRACE);
+	_TOKEN_CASE(TT_LBRACKET);
+	_TOKEN_CASE(TT_RBRACKET);
 	_TOKEN_CASE(TT_LABRACKET);
 	_TOKEN_CASE(TT_RABRACKET);