diff --git a/include/lang/token.hpp b/include/lang/token.hpp index 0f4a26f1d..ab6f3b159 100644 --- a/include/lang/token.hpp +++ b/include/lang/token.hpp @@ -4,6 +4,7 @@ #include "helpers/utils.hpp" +#include #include #include @@ -193,7 +194,7 @@ namespace hex::lang { #define KEYWORD_IF COMPONENT(Keyword, If) #define KEYWORD_ELSE COMPONENT(Keyword, Else) -#define INTEGER hex::lang::Token::Type::Integer, hex::lang::Token::IntegerLiteral({ hex::lang::Token::ValueType::Any, 0xFFFF'FFFF'FFFF'FFFF }) +#define INTEGER hex::lang::Token::Type::Integer, hex::lang::Token::IntegerLiteral(hex::lang::Token::ValueType::Any, u64(0)) #define IDENTIFIER hex::lang::Token::Type::Identifier, "" #define OPERATOR_AT COMPONENT(Operator, AtDeclaration) diff --git a/source/lang/lexer.cpp b/source/lang/lexer.cpp index 2f6ea3627..d76ea030d 100644 --- a/source/lang/lexer.cpp +++ b/source/lang/lexer.cpp @@ -292,7 +292,7 @@ namespace hex::lang { if (offset >= code.length() || code[offset] != '\'') throwLexerError("missing terminating ' after character literal", lineNumber); - tokens.emplace_back(VALUE_TOKEN(Integer, Token::IntegerLiteral({ Token::ValueType::Character, character }) )); + tokens.emplace_back(VALUE_TOKEN(Integer, Token::IntegerLiteral(Token::ValueType::Character, character) )); offset += 1; } else if (std::isalpha(c)) { @@ -319,9 +319,9 @@ namespace hex::lang { else if (identifier == "else") tokens.emplace_back(TOKEN(Keyword, Else)); else if (identifier == "false") - tokens.emplace_back(VALUE_TOKEN(Integer, Token::IntegerLiteral({ Token::ValueType::Unsigned8Bit, u8(0) }))); + tokens.emplace_back(VALUE_TOKEN(Integer, Token::IntegerLiteral(Token::ValueType::Unsigned8Bit, u8(0)))); else if (identifier == "true") - tokens.emplace_back(VALUE_TOKEN(Integer, Token::IntegerLiteral({ Token::ValueType::Unsigned8Bit, u8(1) }))); + tokens.emplace_back(VALUE_TOKEN(Integer, Token::IntegerLiteral(Token::ValueType::Unsigned8Bit, u8(1)))); // Check for built-in types else if (identifier == "u8")