132 TokenMapping{.type = TokenType::Function, .str =
"function"},
133 TokenMapping{.type = TokenType::Return, .str =
"return"},
142 TokenMapping{.type = TokenType::LogicalAnd, .str =
"&&"},
143 TokenMapping{.type = TokenType::LogicalOr, .str =
"||"},
229 if (!s.starts_with(Prefix.view())) {
232 auto idx_str = s.substr(Prefix.view().size());
233 if (idx_str.empty()) {
237 if (!std::ranges::all_of(idx_str,
238 [](
char c) {
return std::isdigit(c) != 0; })) {
243 const char* begin = idx_str.data();
244 const char* end = begin +
static_cast<std::ptrdiff_t
>(idx_str.size());
245 auto res = std::from_chars(begin, end, idx);
246 if (res.ec != std::errc{} || res.ptr != end) {
std::optional< int > get_buffer_index(const std::string &s)
bool is_clip_name(const std::string &s)
bool is_buffer_name(const std::string &s)
std::string token_type_to_string(TokenType type)
std::optional< int > get_clip_index(const std::string &s)
constexpr std::array TOKEN_MAPPINGS
std::optional< int > get_index_with_prefix(const std::string &s)
bool is_name(const std::string &s)
std::set< std::string > specific_globals
std::set< std::string > used_globals
std::vector< ParameterInfo > params
std::string to_string() const