• Home
  • Raw
  • Download

Lines Matching refs:Item

35 base::Optional<ParseResult> Rule::RunAction(const Item* completed_item,  in RunAction()
38 for (const Item* child : completed_item->Children()) { in RunAction()
58 std::vector<const Item*> Item::Children() const { in Children()
59 std::vector<const Item*> children; in Children()
60 for (const Item* current = this; current->prev_; current = current->prev_) { in Children()
69 std::string Item::SplitByChildren(const LexerResult& tokens) const { in SplitByChildren()
71 if (const Item* child = Children()[0]) in SplitByChildren()
76 for (const Item* item : Children()) { in SplitByChildren()
85 void Item::CheckAmbiguity(const Item& other, const LexerResult& tokens) const { in CheckAmbiguity()
171 const Item* RunEarleyAlgorithm( in RunEarleyAlgorithm()
173 std::unordered_set<Item, base::hash<Item>>* processed) { in RunEarleyAlgorithm() argument
175 std::vector<Item> worklist; in RunEarleyAlgorithm()
177 std::vector<Item> future_items; in RunEarleyAlgorithm()
180 std::vector<const Item*> completed_items; in RunEarleyAlgorithm()
181 std::unordered_map<std::pair<size_t, Symbol*>, std::set<const Item*>, in RunEarleyAlgorithm()
185 std::vector<const Item*> debug_trace; in RunEarleyAlgorithm()
192 worklist.push_back(Item{top_level.rule(0), 0, 0, 0}); in RunEarleyAlgorithm()
199 const Item& item = *insert_result.first; in RunEarleyAlgorithm()
212 for (const Item* parent : waiting[{item.start(), item.left()}]) { in RunEarleyAlgorithm()
231 processed->find(Item{rule, rule->right().size(), pos, pos}); in RunEarleyAlgorithm()
243 worklist.push_back(Item{rule, 0, pos, pos}); in RunEarleyAlgorithm()
252 processed->find(Item{top_level.rule(0), 1, 0, input_length}); in RunEarleyAlgorithm()
258 const Item& last_item = *debug_trace.back(); in RunEarleyAlgorithm()