Ver código fonte

Important optimization for fix

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.5.1
Erez Shinan 6 anos atrás
pai
commit
93302d7ceb
1 arquivos alterados com 2 adições e 1 exclusões
  1. +2
    -1
      lark/parsers/earley.py

+ 2
- 1
lark/parsers/earley.py Ver arquivo

@@ -181,12 +181,13 @@ class Parser:
while True: while True:
to_predict = {x.expect for x in column.to_predict.get_news() to_predict = {x.expect for x in column.to_predict.get_news()
if x.ptr} # if not part of an already predicted batch if x.ptr} # if not part of an already predicted batch
to_reduce = column.to_reduce.get_news()
to_reduce = set(column.to_reduce.get_news())
if not (to_predict or to_reduce): if not (to_predict or to_reduce):
break break


for nonterm in to_predict: for nonterm in to_predict:
column.add( predict(nonterm, column) ) column.add( predict(nonterm, column) )

for item in to_reduce: for item in to_reduce:
new_items = list(complete(item)) new_items = list(complete(item))
for new_item in new_items: for new_item in new_items:


Carregando…
Cancelar
Salvar