diff --git a/SLS_C/include/sls/lexer.h b/SLS_C/include/sls/lexer.h index f996d64..c1dce9b 100644 --- a/SLS_C/include/sls/lexer.h +++ b/SLS_C/include/sls/lexer.h @@ -118,8 +118,10 @@ typedef struct { size_t length; } StringLiteral; +typedef struct Token Token; + typedef struct { - Token *tokens; // TODO: Bootstrap Problem + Token *tokens; size_t length; } TokenString; @@ -152,7 +154,7 @@ typedef struct ArrayLiteral { size_t dimensions; } ArrayLiteral; -typedef struct { +struct Token { TokenType type; union { Identifier identifier; // type == TOKEN_IDENTIFIER @@ -165,7 +167,7 @@ typedef struct { TokenString token_string; // type == TOKEN_TOKEN_STRING TypeTuple type_tuple; // type == TOKEN_TYPE_TUPLE }; -} Token; +}; typedef struct LexerTokenResult { SlsResultType type;