Skip to content

Commit

Permalink
v0.22.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Paebbels authored Jan 11, 2023
2 parents b00fb1c + b7d6695 commit 1314427
Show file tree
Hide file tree
Showing 32 changed files with 6,533 additions and 5,272 deletions.
4 changes: 2 additions & 2 deletions doc/Dependency.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pyVHDLModel Package
+--------------------------------------------------------+-------------+------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+========================================================+=============+==========================================================================================+=================================================================================================================================+
| `pyTooling <https://GitHub.com/pyTooling/pyTooling>`__ | ≥2.9.0 | `Apache License, 2.0 <https://GitHub.com/pyTooling/pyTooling/blob/master/LICENSE.txt>`__ | |
| `pyTooling <https://GitHub.com/pyTooling/pyTooling>`__ | ≥2.11.0 | `Apache License, 2.0 <https://GitHub.com/pyTooling/pyTooling/blob/master/LICENSE.txt>`__ | |
+--------------------------------------------------------+-------------+------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+


Expand Down Expand Up @@ -123,7 +123,7 @@ install the mandatory dependencies too.
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+============================================================================+==============+==========================================================================================================+======================================================================================================================================================+
| `pyTooling <https://GitHub.com/pyTooling/pyTooling>`__ | ≥2.9.0 | `Apache License, 2.0 <https://GitHub.com/pyTooling/pyTooling/blob/main/LICENSE.md>`__ | *None* |
| `pyTooling <https://GitHub.com/pyTooling/pyTooling>`__ | ≥2.11.0 | `Apache License, 2.0 <https://GitHub.com/pyTooling/pyTooling/blob/main/LICENSE.md>`__ | *None* |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| `wheel <https://GitHub.com/pypa/wheel>`__ | ≥0.38.1 | `MIT <https://github.com/pypa/wheel/blob/main/LICENSE.txt>`__ | *Not yet evaluated.* |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
Expand Down
18 changes: 18 additions & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,24 @@ Use Cases
News
****

.. only:: html

Jan. 2023 - Dependency, Hierarchy, Compile Order Analysis
=========================================================

.. only:: latex

.. rubric:: Dependency, Hierarchy, Compile Order Analysis

* Enhanced analysis of cross references.
* Enhanced dependency graphs:

* Hierarchy graph and toplevel detection
* Compile order computation

* Transformation from single module to >15 modules.
* Improved code coverage and test cases.

.. only:: html

Dec. 2022 - Added Documentation Property
Expand Down
2 changes: 1 addition & 1 deletion doc/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
-r ../requirements.txt

pyTooling>=2.9.0
pyTooling>=2.11.0

# Enforce latest version on ReadTheDocs
sphinx>=5.3.0
Expand Down
58 changes: 54 additions & 4 deletions pyVHDLModel/SemanticModel.py → pyVHDLModel/Association.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# #
# License: #
# ==================================================================================================================== #
# Copyright 2017-2022 Patrick Lehmann - Boetzingen, Germany #
# Copyright 2017-2023 Patrick Lehmann - Boetzingen, Germany #
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); #
Expand All @@ -30,8 +30,58 @@
# ==================================================================================================================== #
#
"""
This module contains an abstract document language model for VHDL.
This module contains parts of an abstract document language model for VHDL.
:copyright: Copyright 2007-2022 Patrick Lehmann - Bötzingen, Germany
:license: Apache License, Version 2.0
Associations are used in generic maps, port maps and parameter maps.
"""
from typing import Optional as Nullable

from pyTooling.Decorators import export

from pyVHDLModel.Base import ModelEntity, ExpressionUnion
from pyVHDLModel.Symbol import Symbol


@export
class AssociationItem(ModelEntity):
_formal: Nullable[Symbol]
_actual: ExpressionUnion

def __init__(self, actual: ExpressionUnion, formal: Symbol = None):
super().__init__()

self._formal = formal
if formal is not None:
formal._parent = self

self._actual = actual
# actual._parent = self # FIXME: actual is provided as None

@property
def Formal(self) -> Nullable[Symbol]: # TODO: can also be a conversion function !!
return self._formal

@property
def Actual(self) -> ExpressionUnion:
return self._actual

def __str__(self):
if self._formal is None:
return str(self._actual)
else:
return "{formal!s} => {actual!s}".format(formal=self._formal, actual=self._actual)


@export
class GenericAssociationItem(AssociationItem):
pass


@export
class PortAssociationItem(AssociationItem):
pass


@export
class ParameterAssociationItem(AssociationItem):
pass
Loading

0 comments on commit 1314427

Please sign in to comment.