소스 검색

BUGFIX: Non-linearity in tree construction, causing performance issues for large inputs (Issue #94)

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.5.5
Erez Shinan 6 년 전
부모
커밋
d5c617f0fe
2개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. +4
    -1
      lark/parse_tree_builder.py
  2. +1
    -1
      lark/tree.py

+ 4
- 1
lark/parse_tree_builder.py 파일 보기

@@ -61,7 +61,10 @@ class ChildFilter:
filtered = []
for i, to_expand in self.to_include:
if to_expand:
filtered += children[i].children
if filtered:
filtered += children[i].children
else: # Optimize for left-recursion
filtered = children[i].children
else:
filtered.append(children[i])



+ 1
- 1
lark/tree.py 파일 보기

@@ -11,7 +11,7 @@ from .utils import inline_args
class Tree(object):
def __init__(self, data, children):
self.data = data
self.children = list(children)
self.children = children

def __repr__(self):
return 'Tree(%s, %s)' % (self.data, self.children)


불러오는 중...
취소
저장