Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
H
Hdlmake
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
15
Issues
15
List
Board
Labels
Milestones
Merge Requests
4
Merge Requests
4
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
Hdlmake
Commits
64829b99
Commit
64829b99
authored
Oct 28, 2019
by
Tristan Gingold
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new_dep_solver.py: minor refactoring.
parent
3cb452e2
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
14 deletions
+11
-14
new_dep_solver.py
hdlmake/sourcefiles/new_dep_solver.py
+11
-14
No files found.
hdlmake/sourcefiles/new_dep_solver.py
View file @
64829b99
...
@@ -51,7 +51,6 @@ def solve(fileset, standard_libs=None):
...
@@ -51,7 +51,6 @@ def solve(fileset, standard_libs=None):
fset
=
fileset
.
filter
(
DepFile
)
fset
=
fileset
.
filter
(
DepFile
)
# print(fileset)
# print(fileset)
# print(fset)
# print(fset)
not_satisfied
=
0
logging
.
debug
(
"PARSE BEGIN: Here, we will parse all the files in the "
logging
.
debug
(
"PARSE BEGIN: Here, we will parse all the files in the "
"fileset: no parsing should be done beyond this point"
)
"fileset: no parsing should be done beyond this point"
)
for
investigated_file
in
fset
:
for
investigated_file
in
fset
:
...
@@ -60,7 +59,9 @@ def solve(fileset, standard_libs=None):
...
@@ -60,7 +59,9 @@ def solve(fileset, standard_libs=None):
logging
.
debug
(
"Not parsed yet, let's go!"
)
logging
.
debug
(
"Not parsed yet, let's go!"
)
investigated_file
.
parser
.
parse
(
investigated_file
)
investigated_file
.
parser
.
parse
(
investigated_file
)
logging
.
debug
(
"PARSE END: now the parsing is done"
)
logging
.
debug
(
"PARSE END: now the parsing is done"
)
logging
.
debug
(
"SOLVE BEGIN"
)
logging
.
debug
(
"SOLVE BEGIN"
)
not_satisfied
=
0
for
investigated_file
in
fset
:
for
investigated_file
in
fset
:
# logging.info("INVESTIGATED FILE: %s" % investigated_file)
# logging.info("INVESTIGATED FILE: %s" % investigated_file)
# print(investigated_file.rels)
# print(investigated_file.rels)
...
@@ -131,7 +132,7 @@ def make_dependency_set(fileset, top_level_entity, extra_modules=None):
...
@@ -131,7 +132,7 @@ def make_dependency_set(fileset, top_level_entity, extra_modules=None):
fset
=
fileset
.
filter
(
DepFile
)
fset
=
fileset
.
filter
(
DepFile
)
def
_check_entity
(
test_file
,
entity_name
):
def
_check_entity
(
test_file
,
entity_name
):
""" Check if
the input file provides the entity pointed by the name
"""
""" Check if
:param test_file: provides the entity pointed by :param entity_name:
"""
if
entity_name
==
None
:
if
entity_name
==
None
:
return
False
return
False
entity_rel_vhdl
=
DepRelation
(
entity_rel_vhdl
=
DepRelation
(
...
@@ -150,7 +151,7 @@ def make_dependency_set(fileset, top_level_entity, extra_modules=None):
...
@@ -150,7 +151,7 @@ def make_dependency_set(fileset, top_level_entity, extra_modules=None):
for
chk_file
in
fset
:
for
chk_file
in
fset
:
if
_check_entity
(
chk_file
,
top_level_entity
):
if
_check_entity
(
chk_file
,
top_level_entity
):
top_file
=
chk_file
top_file
=
chk_file
if
not
extra_modules
==
None
:
if
extra_modules
is
not
None
:
for
entity_aux
in
extra_modules
:
for
entity_aux
in
extra_modules
:
if
_check_entity
(
chk_file
,
entity_aux
):
if
_check_entity
(
chk_file
,
entity_aux
):
extra_files
.
append
(
chk_file
)
extra_files
.
append
(
chk_file
)
...
@@ -167,18 +168,14 @@ def make_dependency_set(fileset, top_level_entity, extra_modules=None):
...
@@ -167,18 +168,14 @@ def make_dependency_set(fileset, top_level_entity, extra_modules=None):
return
fileset
return
fileset
# Collect only the files that the top level entity is dependant on, by
# Collect only the files that the top level entity is dependant on, by
# walking the dependancy tree.
# walking the dependancy tree.
try
:
dep_file_set
=
set
()
dep_file_set
=
set
()
file_set
=
set
([
top_file
]
+
extra_files
)
file_set
=
set
([
top_file
]
+
extra_files
)
while
True
:
while
len
(
file_set
)
>
0
:
chk_file
=
file_set
.
pop
()
chk_file
=
file_set
.
pop
()
dep_file_set
.
add
(
chk_file
)
dep_file_set
.
add
(
chk_file
)
file_set
.
update
(
chk_file
.
depends_on
-
dep_file_set
)
file_set
.
update
(
chk_file
.
depends_on
-
dep_file_set
)
except
KeyError
:
# no files left
pass
hierarchy_drivers
=
[
top_level_entity
]
hierarchy_drivers
=
[
top_level_entity
]
if
not
extra_modules
==
None
:
if
extra_modules
is
not
None
:
hierarchy_drivers
+=
extra_modules
hierarchy_drivers
+=
extra_modules
logging
.
info
(
"Found
%
d files as dependancies of
%
s."
,
logging
.
info
(
"Found
%
d files as dependancies of
%
s."
,
len
(
dep_file_set
),
", "
.
join
(
hierarchy_drivers
))
len
(
dep_file_set
),
", "
.
join
(
hierarchy_drivers
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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