blob: abf1f0af8ea0cd0d8670cd9963e20ed7ec78cad1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/usr/bin/env python3
from sys import argv
from pathlib import Path
from pydecor import export
from pyGHDL.dom import Misc
from pyGHDL import GHDLBaseException
__all__ = []
__api__ = __all__
from pyGHDL.dom.formatting.prettyprint import PrettyPrint
@export
class Application:
_design: Misc.Design
def __init__(self):
self._design = Misc.Design()
def addFile(self, filename: Path, library: str):
document = Misc.Document(filename)
self._design.Documents.append(document)
def prettyPrint(self):
buffer = []
PP = PrettyPrint()
for doc in self._design.Documents:
for line in PP.formatDocument(doc):
buffer.append(line)
print("\n".join(buffer))
def main():
items = argv[1:]
if len(items) < 1:
print("Please, provide the files to be analyzed as CLI arguments.")
print("Using <testsuite/pyunit/SimpleEntity.vhdl> for demo purposes.\n")
items = ["testsuite/pyunit/SimpleEntity.vhdl"]
for item in items:
print("·", item)
try:
app = Application()
app.addFile(Path(item), "default_lib")
except GHDLBaseException as ex:
print(ex)
app.prettyPrint()
if __name__ == "__main__":
main()
|