Преглед на файлове

[lexer/token.h] Adding token for *, - and .

Vinicius Teshima преди 1 година
родител
ревизия
35904b1a29
променени са 2 файла, в които са добавени 9 реда и са изтрити 0 реда
  1. 3 0
      src/lexer.h
  2. 6 0
      src/token.h

+ 3 - 0
src/lexer.h

@@ -56,6 +56,9 @@ lexer_next_token(struct lexer *l)
 	case '(':  t = token_create(TT_LPAREN,    str_from_cstr("(", 1)); break;
 	case ')':  t = token_create(TT_RPAREN,    str_from_cstr(")", 1)); break;
 	case ',':  t = token_create(TT_COMMA,     str_from_cstr(",", 1)); break;
+	case '*':  t = token_create(TT_ASTERISK,  str_from_cstr("*", 1)); break;
+	case '-':  t = token_create(TT_DASH,      str_from_cstr("-", 1)); break;
+	case '.':  t = token_create(TT_DOT,       str_from_cstr(".", 1)); break;
 	case '+':  t = token_create(TT_PLUS,      str_from_cstr("+", 1)); break;
 	case '{':  t = token_create(TT_LBRACE,    str_from_cstr("{", 1)); break;
 	case '}':  t = token_create(TT_RBRACE,    str_from_cstr("}", 1)); break;

+ 6 - 0
src/token.h

@@ -15,6 +15,9 @@ enum token_type_enum {
 
 	TT_COMMA,
 	TT_SEMICOLON,
+	TT_ASTERISK, /* '*' */
+	TT_DASH,     /* '-' */
+	TT_DOT,      /* '.' */
 
 	TT_LPAREN,
 	TT_RPAREN,
@@ -90,6 +93,9 @@ 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_DASH);
+	_TOKEN_CASE(TT_DOT);
 
 	_TOKEN_CASE(TT_LPAREN);
 	_TOKEN_CASE(TT_RPAREN);