Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
9.2.2023: Due to updates GitLab will be unavailable for some minutes between 9:00 and 11:00.
Open sidebar
badw-it
DHParser
Commits
1e0e6d25
Commit
1e0e6d25
authored
Jun 09, 2018
by
eckhart
Browse files
comments added to syntaxtree.RootNode
parent
2d813a0a
Changes
1
Hide whitespace changes
Inline
Side-by-side
DHParser/syntaxtree.py
View file @
1e0e6d25
...
...
@@ -713,30 +713,17 @@ class RootNode(Node):
if
node
is
not
None
:
self
.
swallow
(
node
)
# def _propagate_errors(self):
# if not self.all_errors or not self.error_propagation:
# return
# self.all_errors.sort(key=lambda e: e.pos)
# i = 0
# for leaf in self.select(lambda nd: not nd.children, False):
# leaf.errors = []
# while i < len(self.all_errors) \
# and leaf.pos <= self.all_errors[i].add_pos < leaf.add_pos + leaf.len:
# leaf._errors.append(self.all_errors[i])
# i += 1
# if i >= len(self.all_errors):
# break
#
# def _propagate_new_error(self, error):
# if self.error_propagation:
# for leaf in self.select(lambda nd: not nd.children, True):
# if leaf.pos <= error.add_pos < leaf.add_pos + leaf.len:
# leaf._errors.append(error)
# break
# else:
# assert False, "Error %s at pos %i out of bounds" % (str(error), error.add_pos)
def
swallow
(
self
,
node
:
Node
)
->
'RootNode'
:
"""Put `self` in the place of `node` by copying all its data.
Returns self.
This is done by the parse.Grammar object after
parsing has finished, so that the Grammar object always
returns a syntax tree rooted in a RootNode object.
It is possible to add errors to a RootNode object, before it
has actually swallowed the root of the syntax tree.
"""
self
.
_result
=
node
.
_result
self
.
children
=
node
.
children
self
.
_len
=
node
.
_len
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment