change in literals, literal types

This commit is contained in:
ProgramSnail 2023-08-12 15:55:33 +03:00
parent 17ff590048
commit 43dfa75b74
10 changed files with 168 additions and 39 deletions

View file

@ -83,10 +83,15 @@ enum class Type {
OPERATOR_TAIL2,
OPERATOR_TAIL3,
FLOAT_NUMBER_LITERAL,
NUMBER_LITERAL,
FLOAT_LITERAL,
DOUBLE_LITERAL,
INT_LITERAL,
LONG_LITERAL,
INDEX_LITERAL,
STRING_LITERAL,
UNICODE_STRING_LITERAL,
CHAR_LITERAL,
UNICODE_LITERAL,
BOOL_LITERAL,
UNIT_LITERAL,
NULL_LITERAL,
@ -173,10 +178,15 @@ const static std::string OPERATOR_TAIL1 = "operator_tail1";
const static std::string OPERATOR_TAIL2 = "operator_tail2";
const static std::string OPERATOR_TAIL3 = "operator_tail3";
const static std::string FLOAT_NUMBER_LITERAL = "float_number_literal";
const static std::string NUMBER_LITERAL = "number_literal";
const static std::string FLOAT_LITERAL = "float_literal";
const static std::string DOUBLE_LITERAL = "double_literal";
const static std::string INT_LITERAL = "int_literal";
const static std::string LONG_LITERAL = "long_literal";
const static std::string INDEX_LITERAL = "index_literal";
const static std::string STRING_LITERAL = "string_literal";
const static std::string UNICODE_STRING_LITERAL = "unicode_string_literal";
const static std::string CHAR_LITERAL = "char_literal";
const static std::string UNICODE_LITERAL = "unicode_literal";
const static std::string BOOL_LITERAL = "bool_literal";
const static std::string UNIT_LITERAL = "unit_literal";
const static std::string NULL_LITERAL = "null_literal";
@ -270,14 +280,24 @@ inline Type string_to_type(const std::string &str) {
return Type::OPERATOR_TAIL2;
} else if (str == OPERATOR_TAIL3) {
return Type::OPERATOR_TAIL3;
} else if (str == FLOAT_NUMBER_LITERAL) {
return Type::FLOAT_NUMBER_LITERAL;
} else if (str == NUMBER_LITERAL) {
return Type::NUMBER_LITERAL;
} else if (str == FLOAT_LITERAL) {
return Type::FLOAT_LITERAL;
} else if (str == DOUBLE_LITERAL) {
return Type::DOUBLE_LITERAL;
} else if (str == INT_LITERAL) {
return Type::INT_LITERAL;
} else if (str == LONG_LITERAL) {
return Type::LONG_LITERAL;
} else if (str == INDEX_LITERAL) {
return Type::INDEX_LITERAL;
} else if (str == STRING_LITERAL) {
return Type::STRING_LITERAL;
} else if (str == UNICODE_STRING_LITERAL) {
return Type::UNICODE_STRING_LITERAL;
} else if (str == CHAR_LITERAL) {
return Type::CHAR_LITERAL;
} else if (str == UNICODE_LITERAL) {
return Type::UNICODE_LITERAL;
} else if (str == BOOL_LITERAL) {
return Type::BOOL_LITERAL;
} else if (str == UNIT_LITERAL) {