Change repeat to mean zero-or-more

This commit is contained in:
Max Brunsfeld 2014-02-15 15:43:32 -08:00
parent bf07522026
commit 5c1a0982df
12 changed files with 219 additions and 155 deletions

View file

@ -5,6 +5,8 @@
#include "rules.h"
#include "grammar.h"
#include "stream_methods.h"
namespace tree_sitter {
using std::pair;
using std::string;
@ -109,6 +111,22 @@ namespace tree_sitter {
return state_index;
}
// TODO - remove
void dump_item_sets() {
std::vector<const ParseItemSet *> item_sets(parse_state_indices.size());
for (auto &pair : parse_state_indices)
item_sets[pair.second] = &pair.first;
for (int i = 0; i < item_sets.size(); i++) {
std:cout << "\n\n" << i;
for (auto &item : *item_sets[i]) {
cout << "\n" << item.lhs;
cout << "\n " << item.rule;
cout << "\n " << item.lookahead_sym.name;
}
}
}
public:
TableBuilder(const Grammar &grammar, const Grammar &lex_grammar) :