• Home
  • Raw
  • Download

Lines Matching refs:Item

44 base::Optional<ParseResult> Rule::RunAction(const Item* completed_item,  in RunAction()
47 for (const Item* child : completed_item->Children()) { in RunAction()
67 std::vector<const Item*> Item::Children() const { in Children()
68 std::vector<const Item*> children; in Children()
69 for (const Item* current = this; current->prev_; current = current->prev_) { in Children()
78 std::string Item::SplitByChildren(const LexerResult& tokens) const { in SplitByChildren()
80 if (const Item* child = Children()[0]) in SplitByChildren()
85 for (const Item* item : Children()) { in SplitByChildren()
94 void Item::CheckAmbiguity(const Item& other, const LexerResult& tokens) const { in CheckAmbiguity()
182 const Item* RunEarleyAlgorithm( in RunEarleyAlgorithm()
184 std::unordered_set<Item, base::hash<Item>>* processed) { in RunEarleyAlgorithm() argument
186 std::vector<Item> worklist; in RunEarleyAlgorithm()
188 std::vector<Item> future_items; in RunEarleyAlgorithm()
191 std::vector<const Item*> completed_items; in RunEarleyAlgorithm()
192 std::unordered_map<std::pair<size_t, Symbol*>, std::set<const Item*>, in RunEarleyAlgorithm()
196 std::vector<const Item*> debug_trace; in RunEarleyAlgorithm()
203 worklist.push_back(Item{top_level.rule(0), 0, 0, 0}); in RunEarleyAlgorithm()
210 const Item& item = *insert_result.first; in RunEarleyAlgorithm()
223 for (const Item* parent : waiting[{item.start(), item.left()}]) { in RunEarleyAlgorithm()
242 processed->find(Item{rule, rule->right().size(), pos, pos}); in RunEarleyAlgorithm()
254 worklist.push_back(Item{rule, 0, pos, pos}); in RunEarleyAlgorithm()
263 processed->find(Item{top_level.rule(0), 1, 0, input_length}); in RunEarleyAlgorithm()
269 const Item& last_item = *debug_trace.back(); in RunEarleyAlgorithm()