Selaa lähdekoodia

Merge pull request #680 from TG-Techie/evalable_repr

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.10.0
Erez Shinan 4 vuotta sitten
committed by GitHub
vanhempi
commit
756aa0354f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 muutettua tiedostoa jossa 6 lisäystä ja 4 poistoa
  1. +1
    -1
      lark/lexer.py
  2. +1
    -2
      lark/tree.py
  3. +4
    -1
      tests/test_trees.py

+ 1
- 1
lark/lexer.py Näytä tiedosto

@@ -142,7 +142,7 @@ class Token(Str):
return (self.__class__, (self.type, self.value, self.pos_in_stream, self.line, self.column, ))

def __repr__(self):
return 'Token(%s, %r)' % (self.type, self.value)
return 'Token(%r, %r)' % (self.type, self.value)

def __deepcopy__(self, memo):
return Token(self.type, self.value, self.pos_in_stream, self.line, self.column)


+ 1
- 2
lark/tree.py Näytä tiedosto

@@ -39,7 +39,7 @@ class Tree(object):
return self._meta

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

def _pretty_label(self):
return self.data
@@ -207,4 +207,3 @@ def pydot__tree_to_graph(tree, rankdir="LR", **kwargs):

_to_pydot(tree)
return graph

+ 4
- 1
tests/test_trees.py Näytä tiedosto

@@ -7,6 +7,7 @@ import pickle
import functools

from lark.tree import Tree
from lark.lexer import Token
from lark.visitors import Visitor, Visitor_Recursive, Transformer, Interpreter, visit_children_decor, v_args, Discard


@@ -22,6 +23,9 @@ class TestTrees(TestCase):
data = pickle.dumps(s)
assert pickle.loads(data) == s

def test_repr_runnable(self):
assert self.tree1 == eval(repr(self.tree1))

def test_iter_subtrees(self):
expected = [Tree('b', 'x'), Tree('c', 'y'), Tree('d', 'z'),
Tree('a', [Tree('b', 'x'), Tree('c', 'y'), Tree('d', 'z')])]
@@ -232,4 +236,3 @@ class TestTrees(TestCase):

if __name__ == '__main__':
unittest.main()


Ladataan…
Peruuta
Tallenna