Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
combo
Manage
Activity
Members
Labels
Plan
Issues
20
Issue boards
Milestones
Wiki
Redmine
Code
Merge requests
2
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Syntactic Tools
combo
Merge requests
!8
Enhanced dependency parsing
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Enhanced dependency parsing
enhanced_dependency_parsing
into
develop
Overview
0
Commits
19
Pipelines
0
Changes
29
Merged
Mateusz Klimaszewski
requested to merge
enhanced_dependency_parsing
into
develop
4 years ago
Overview
0
Commits
19
Pipelines
0
Changes
2
Expand
0
0
Merge request reports
Viewing commit
8e09e336
Prev
Next
Show latest version
2 files
+
29
−
0
Expand all files
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
2
Search (e.g. *.vue) (Ctrl+P)
8e09e336
Add restoring collapsed edges (gapping).
· 8e09e336
Mateusz Klimaszewski
authored
4 years ago
combo/utils/graph.py
+
27
−
0
Options
@@ -85,3 +85,30 @@ def _dfs(graph, start, end):
if
next_state
in
path
:
continue
fringe
.
append
((
next_state
,
path
+
[
next_state
]))
def
restore_collapse_edges
(
tree_tokens
):
empty_tokens
=
[]
for
token
in
tree_tokens
:
deps
=
token
[
"
deps
"
].
split
(
"
|
"
)
for
i
,
d
in
enumerate
(
deps
):
if
"
>
"
in
d
:
# {head}:{empty_node_relation}>{current_node_relation}
# should map to
# For new, empty node:
# {head}:{empty_node_relation}
# For current node:
# {new_empty_node_id}:{current_node_relation}
# TODO consider where to put new_empty_node_id (currently at the end)
head
,
relation
=
d
.
split
(
'
:
'
,
1
)
ehead
=
f
"
{
len
(
tree_tokens
)
}
.
{
len
(
empty_tokens
)
+
1
}
"
empty_node_relation
,
current_node_relation
=
relation
.
split
(
"
>
"
,
1
)
deps
[
i
]
=
f
"
{
ehead
}
:
{
current_node_relation
}
"
empty_tokens
.
append
(
{
"
id
"
:
ehead
,
"
deps
"
:
f
"
{
head
}
:
{
empty_node_relation
}
"
}
)
token
[
"
deps
"
]
=
"
|
"
.
join
(
deps
)
return
empty_tokens