1 // =================================
 2 // Copyright (c) 2020 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef SNGCPP_PARSER_TOKEN_VALUE_PARSERS_INCLUDED
 7 #define SNGCPP_PARSER_TOKEN_VALUE_PARSERS_INCLUDED
 8 #include <sngcpp/parser/ParserApi.hpp>
 9 #include <sngcpp/ast/Literal.hpp>
10 #include <soulng/lexer/Token.hpp>
11 
12 namespace sngcpp { namespace cppparser {
13 
14 void ParseFloatingLiteral(const std::string& fileName, const soulng::lexer::Token& token, double& value, sngcpp::ast::Suffix& suffix);
15 void ParseIntegerLiteral(const std::string& fileName, const soulng::lexer::Token& token, uint64_t& value, sngcpp::ast::Base& base, sngcpp::ast::Suffix& suffix);
16 void ParseCharacterLiteral(const std::string& fileName, const soulng::lexer::Token& token, char32_t& value, char32_t& prefix);
17 void ParseStringLiteral(const std::string& fileName, const soulng::lexer::Token& token, std::u32string& encodingPrefix, std::u32string& value);
18 
19 } } // namespace sngcpp::cppparser
20 
21 #endif // SNGCPP_PARSER_TOKEN_VALUE_PARSERS_INCLUDED