22 lines
622 B
C++
22 lines
622 B
C++
#pragma once
|
|
|
|
#include "decl.h"
|
|
|
|
namespace bed::internal::syntax {
|
|
struct MiniParser {
|
|
Language ⟨
|
|
void *start_state;
|
|
std::vector<std::pair<void *, std::vector<io::Token>>> lines;
|
|
|
|
explicit MiniParser(Language &lang, vase::Shard *vase, void *initial_state);
|
|
~MiniParser();
|
|
|
|
MiniParser(const MiniParser &) = delete;
|
|
MiniParser &operator=(const MiniParser &) = delete;
|
|
|
|
void dirty(vase::Shard *vase, uint64_t start, uint64_t count);
|
|
void insert(vase::Shard *vase, uint64_t start, uint64_t count);
|
|
void erase(vase::Shard *vase, uint64_t start, uint64_t count);
|
|
};
|
|
} // namespace bed::internal::syntax
|