equal
deleted
inserted
replaced
17 # __call__(program) parses program into a labeled tree |
17 # __call__(program) parses program into a labeled tree |
18 |
18 |
19 from __future__ import absolute_import |
19 from __future__ import absolute_import |
20 |
20 |
21 from .i18n import _ |
21 from .i18n import _ |
22 from . import error |
22 from . import ( |
|
23 error, |
|
24 util, |
|
25 ) |
23 |
26 |
24 class parser(object): |
27 class parser(object): |
25 def __init__(self, elements, methods=None): |
28 def __init__(self, elements, methods=None): |
26 self._elements = elements |
29 self._elements = elements |
27 self._methods = methods |
30 self._methods = methods |
162 args[k] = x[2] |
165 args[k] = x[2] |
163 return args |
166 return args |
164 |
167 |
165 def unescapestr(s): |
168 def unescapestr(s): |
166 try: |
169 try: |
167 return s.decode("string_escape") |
170 return util.unescapestr(s) |
168 except ValueError as e: |
171 except ValueError as e: |
169 # mangle Python's exception into our format |
172 # mangle Python's exception into our format |
170 raise error.ParseError(str(e).lower()) |
173 raise error.ParseError(str(e).lower()) |
171 |
174 |
172 def _prettyformat(tree, leafnodes, level, lines): |
175 def _prettyformat(tree, leafnodes, level, lines): |