Refactor parse table builder

This commit is contained in:
Max Brunsfeld 2013-12-18 08:25:50 -08:00
parent c49913a6b1
commit 73d8cb3722
2 changed files with 27 additions and 17 deletions

View file

@ -13,8 +13,10 @@ namespace tree_sitter {
ParseTable table;
std::unordered_map<const ItemSet, size_t> state_indices;
size_t add_item_set(const ItemSet &item_set);
long state_index_for_item_set(const ItemSet &item_set) const;
void add_shift_actions(const ItemSet &item_set, size_t state_index);
void add_reduce_actions(const ItemSet &item_set, size_t state_index);
size_t add_item_set(const ItemSet &item_set);
public:
ParseTableBuilder(const Grammar &grammar);
static ParseTable build_table(const Grammar &grammar);