Add helper functions for making shared pointers to rules
- start work on item set class
This commit is contained in:
parent
ec8b7ccf20
commit
11e3980319
33 changed files with 486 additions and 150 deletions
16
src/lr/item.cpp
Normal file
16
src/lr/item.cpp
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#include "item.h"
|
||||
|
||||
namespace tree_sitter {
|
||||
namespace lr {
|
||||
Item::Item(const std::string &rule_name, rules::rule_ptr rule, int consumed_sym_count) :
|
||||
rule_name(rule_name),
|
||||
rule(rule),
|
||||
consumed_sym_count(consumed_sym_count) {};
|
||||
|
||||
TransitionMap<Item> Item::transitions() const {
|
||||
return rule->transitions().map<Item>([&](rules::rule_ptr to_rule) {
|
||||
return item_ptr(new Item(rule_name, to_rule, consumed_sym_count + 1));
|
||||
});
|
||||
};
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue