Rename numeric_literal -> primitive_literal
This commit is contained in:
parent
35435ac626
commit
c3c208b6a3
4 changed files with 26 additions and 26 deletions
|
|
@ -9,25 +9,25 @@ namespace pslang::ast
|
|||
{
|
||||
|
||||
template <typename T>
|
||||
struct numeric_literal_base
|
||||
struct primitive_literal_base
|
||||
{
|
||||
T value;
|
||||
ast::location location;
|
||||
};
|
||||
|
||||
using bool_literal = numeric_literal_base<bool>;
|
||||
using bool_literal = primitive_literal_base<bool>;
|
||||
|
||||
using i8_literal = numeric_literal_base<std::int8_t>;
|
||||
using u8_literal = numeric_literal_base<std::uint8_t>;
|
||||
using i16_literal = numeric_literal_base<std::int16_t>;
|
||||
using u16_literal = numeric_literal_base<std::uint16_t>;
|
||||
using i32_literal = numeric_literal_base<std::int32_t>;
|
||||
using u32_literal = numeric_literal_base<std::uint32_t>;
|
||||
using i64_literal = numeric_literal_base<std::int64_t>;
|
||||
using u64_literal = numeric_literal_base<std::uint64_t>;
|
||||
using i8_literal = primitive_literal_base<std::int8_t>;
|
||||
using u8_literal = primitive_literal_base<std::uint8_t>;
|
||||
using i16_literal = primitive_literal_base<std::int16_t>;
|
||||
using u16_literal = primitive_literal_base<std::uint16_t>;
|
||||
using i32_literal = primitive_literal_base<std::int32_t>;
|
||||
using u32_literal = primitive_literal_base<std::uint32_t>;
|
||||
using i64_literal = primitive_literal_base<std::int64_t>;
|
||||
using u64_literal = primitive_literal_base<std::uint64_t>;
|
||||
|
||||
using f32_literal = numeric_literal_base<float>;
|
||||
using f64_literal = numeric_literal_base<double>;
|
||||
using f32_literal = primitive_literal_base<float>;
|
||||
using f64_literal = primitive_literal_base<double>;
|
||||
|
||||
using literal = std::variant<
|
||||
bool_literal,
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ namespace pslang::ast
|
|||
using const_expression_visitor::apply;
|
||||
|
||||
template <typename T>
|
||||
location apply(numeric_literal_base<T> const & node)
|
||||
location apply(primitive_literal_base<T> const & node)
|
||||
{
|
||||
return node.location;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ namespace pslang::interpreter
|
|||
value eval_impl(context & context, ast::expression_ptr const & expression);
|
||||
|
||||
template <typename T>
|
||||
value eval_impl(context & context, ast::numeric_literal_base<T> const & literal)
|
||||
value eval_impl(context & context, ast::primitive_literal_base<T> const & literal)
|
||||
{
|
||||
return primitive_value(primitive_value_base<T>{literal.value});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,13 +44,13 @@ struct context;
|
|||
YY_DECL;
|
||||
|
||||
template <typename T>
|
||||
::pslang::ast::literal parse_numeric_literal(std::string const & str, ::pslang::ast::location const & location)
|
||||
::pslang::ast::literal parse_primitive_literal(std::string const & str, ::pslang::ast::location const & location)
|
||||
{
|
||||
T value;
|
||||
auto result = std::from_chars(str.data(), str.data() + str.size(), value);
|
||||
if (result.ec != std::errc())
|
||||
throw std::system_error(std::make_error_code(result.ec));
|
||||
return ::pslang::ast::numeric_literal_base<T>{value, location};
|
||||
return ::pslang::ast::primitive_literal_base<T>{value, location};
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -324,16 +324,16 @@ nonempty_comma_separated_expression_list
|
|||
literal
|
||||
: true { $$ = ast::literal(ast::bool_literal{true, ctx.location}); }
|
||||
| false { $$ = ast::literal(ast::bool_literal{false, ctx.location}); }
|
||||
| lit_i8 { $$ = parse_numeric_literal<std::int8_t>($1, ctx.location); }
|
||||
| lit_u8 { $$ = parse_numeric_literal<std::uint8_t>($1, ctx.location); }
|
||||
| lit_i16 { $$ = parse_numeric_literal<std::int16_t>($1, ctx.location); }
|
||||
| lit_u16 { $$ = parse_numeric_literal<std::uint16_t>($1, ctx.location); }
|
||||
| lit_i32 { $$ = parse_numeric_literal<std::int32_t>($1, ctx.location); }
|
||||
| lit_u32 { $$ = parse_numeric_literal<std::uint32_t>($1, ctx.location); }
|
||||
| lit_i64 { $$ = parse_numeric_literal<std::int64_t>($1, ctx.location); }
|
||||
| lit_u64 { $$ = parse_numeric_literal<std::uint64_t>($1, ctx.location); }
|
||||
| lit_f32 { $$ = parse_numeric_literal<float>($1, ctx.location); }
|
||||
| lit_f64 { $$ = parse_numeric_literal<double>($1, ctx.location); }
|
||||
| lit_i8 { $$ = parse_primitive_literal<std::int8_t>($1, ctx.location); }
|
||||
| lit_u8 { $$ = parse_primitive_literal<std::uint8_t>($1, ctx.location); }
|
||||
| lit_i16 { $$ = parse_primitive_literal<std::int16_t>($1, ctx.location); }
|
||||
| lit_u16 { $$ = parse_primitive_literal<std::uint16_t>($1, ctx.location); }
|
||||
| lit_i32 { $$ = parse_primitive_literal<std::int32_t>($1, ctx.location); }
|
||||
| lit_u32 { $$ = parse_primitive_literal<std::uint32_t>($1, ctx.location); }
|
||||
| lit_i64 { $$ = parse_primitive_literal<std::int64_t>($1, ctx.location); }
|
||||
| lit_u64 { $$ = parse_primitive_literal<std::uint64_t>($1, ctx.location); }
|
||||
| lit_f32 { $$ = parse_primitive_literal<float>($1, ctx.location); }
|
||||
| lit_f64 { $$ = parse_primitive_literal<double>($1, ctx.location); }
|
||||
| lit_char8 { $$ = ast::u8_literal{static_cast<std::uint8_t>($1), ctx.location}; }
|
||||
;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue