sysmlpy 0.46.0__tar.gz → 0.47.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/PKG-INFO +1 -1
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/pyproject.toml +1 -1
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/__init__.py +1 -1
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr_visitor.py +46 -8
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/classes.py +50 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/LICENSE +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/README.md +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/__main__.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/README.md +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/SysMLv2Parser.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr_parser.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/boxes_view.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/definition.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/examples/attribute_values.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/examples/part_attributes.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/examples/tuples_sequences.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/formatting.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/README.md +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/desc.xml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/examples/camera.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/examples/toaster-system.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/grammar/antlr4/pom.xml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/LICENSE +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/README.md +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/__init__.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Analysis/TradeStudies.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Geometry/ShapeItems.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Geometry/SpatialItems.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Metadata/ImageMetadata.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Metadata/RiskMetadata.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQ.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/SI.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Base.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/BaseFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/BooleanFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Clocks.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/CollectionFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Collections.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/ComplexFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/ControlFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/ControlPerformances.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/DataFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/IntegerFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/KerML.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Links.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Metaobjects.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/NaturalFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/NumericalFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Objects.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Observation.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/OccurrenceFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Occurrences.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Performances.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/RationalFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/RealFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/ScalarFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/ScalarValues.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/SequenceFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/SpatialFrames.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/StatePerformances.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/StringFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Transfers.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/TransitionPerformances.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/TrigFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/Triggers.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/VectorFunctions.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/VectorValues.kerml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Actions.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Allocations.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/AnalysisCases.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Attributes.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Calculations.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Cases.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Connections.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Constraints.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Flows.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Interfaces.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Items.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Metadata.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Parts.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Ports.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Requirements.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/StandardViewDefinitions.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/States.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/SysML.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/UseCases.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/VerificationCases.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/systems/Views.sysml +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/navigate.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/plantuml.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/project.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/semantic.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/store.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/us_customary_units.txt +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/usage.py +0 -0
- {sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/validator.py +0 -0
|
@@ -25,7 +25,7 @@ __all__ = [
|
|
|
25
25
|
"render_state_transition_view_svg", "boxes_view",
|
|
26
26
|
]
|
|
27
27
|
__author__ = "Jon Fox"
|
|
28
|
-
__version__ = "0.
|
|
28
|
+
__version__ = "0.47.0"
|
|
29
29
|
|
|
30
30
|
from sysmlpy.usage import (
|
|
31
31
|
Item, Attribute, Part, Port, Action, Reference, UseCase, Requirement, Interface, Message,
|
|
@@ -7476,14 +7476,15 @@ def _make_nested_connection_usage_dict(ctx, prefix=None):
|
|
|
7476
7476
|
|
|
7477
7477
|
def _build_connector_part_dict(ctx):
|
|
7478
7478
|
"""Build a ConnectorPart dictionary from a connectorPart context.
|
|
7479
|
-
|
|
7479
|
+
|
|
7480
7480
|
Grammar:
|
|
7481
7481
|
connectorPart : binaryConnectorPart | naryConnectorPart ;
|
|
7482
7482
|
binaryConnectorPart : connectorEndMember TO connectorEndMember ;
|
|
7483
|
+
naryConnectorPart : LPAREN connectorEndMember (COMMA connectorEndMember)* RPAREN ;
|
|
7483
7484
|
"""
|
|
7484
7485
|
if ctx is None:
|
|
7485
7486
|
return None
|
|
7486
|
-
|
|
7487
|
+
|
|
7487
7488
|
if hasattr(ctx, 'binaryConnectorPart') and ctx.binaryConnectorPart():
|
|
7488
7489
|
bcp = ctx.binaryConnectorPart()
|
|
7489
7490
|
owned_rel = []
|
|
@@ -7495,7 +7496,7 @@ def _build_connector_part_dict(ctx):
|
|
|
7495
7496
|
end_dict = _visit_connector_end_member(end)
|
|
7496
7497
|
if end_dict:
|
|
7497
7498
|
owned_rel.append(end_dict)
|
|
7498
|
-
|
|
7499
|
+
|
|
7499
7500
|
return {
|
|
7500
7501
|
"name": "ConnectorPart",
|
|
7501
7502
|
"part": {
|
|
@@ -7503,7 +7504,27 @@ def _build_connector_part_dict(ctx):
|
|
|
7503
7504
|
"ownedRelationship": owned_rel
|
|
7504
7505
|
}
|
|
7505
7506
|
}
|
|
7506
|
-
|
|
7507
|
+
|
|
7508
|
+
if hasattr(ctx, 'naryConnectorPart') and ctx.naryConnectorPart():
|
|
7509
|
+
ncp = ctx.naryConnectorPart()
|
|
7510
|
+
owned_rel = []
|
|
7511
|
+
if hasattr(ncp, 'connectorEndMember') and ncp.connectorEndMember():
|
|
7512
|
+
ends = ncp.connectorEndMember()
|
|
7513
|
+
if not isinstance(ends, list):
|
|
7514
|
+
ends = [ends]
|
|
7515
|
+
for end in ends:
|
|
7516
|
+
end_dict = _visit_connector_end_member(end)
|
|
7517
|
+
if end_dict:
|
|
7518
|
+
owned_rel.append(end_dict)
|
|
7519
|
+
|
|
7520
|
+
return {
|
|
7521
|
+
"name": "ConnectorPart",
|
|
7522
|
+
"part": {
|
|
7523
|
+
"name": "NaryConnectorPart",
|
|
7524
|
+
"ownedRelationship": owned_rel
|
|
7525
|
+
}
|
|
7526
|
+
}
|
|
7527
|
+
|
|
7507
7528
|
return None
|
|
7508
7529
|
|
|
7509
7530
|
|
|
@@ -7924,20 +7945,30 @@ def _make_concern_usage_dict(ctx, prefix=None):
|
|
|
7924
7945
|
|
|
7925
7946
|
def _make_allocation_usage_dict(ctx, prefix=None):
|
|
7926
7947
|
"""Create an AllocationUsage dictionary.
|
|
7927
|
-
|
|
7948
|
+
|
|
7928
7949
|
allocationUsage: occurrenceUsagePrefix allocationUsageDeclaration usageBody
|
|
7950
|
+
allocationUsageDeclaration
|
|
7951
|
+
: ALLOCATION usageDeclaration? (ALLOCATE connectorPart)?
|
|
7952
|
+
| ALLOCATE connectorPart
|
|
7953
|
+
;
|
|
7954
|
+
|
|
7955
|
+
Issue #5: the connector endpoints (`allocate X to Y`) were silently
|
|
7956
|
+
dropped before reaching the dict. Mirror the InterfaceUsage pattern:
|
|
7957
|
+
walk `aud.connectorPart()` (when present) and emit a ConnectorPart
|
|
7958
|
+
dict with binary or nary ends.
|
|
7929
7959
|
"""
|
|
7930
7960
|
name = None
|
|
7931
7961
|
shortname = None
|
|
7962
|
+
connector_part = None
|
|
7932
7963
|
if ctx is not None:
|
|
7933
7964
|
aud = None
|
|
7934
7965
|
if hasattr(ctx, 'allocationUsageDeclaration') and ctx.allocationUsageDeclaration():
|
|
7935
7966
|
aud = ctx.allocationUsageDeclaration()
|
|
7936
|
-
|
|
7967
|
+
|
|
7937
7968
|
ud = None
|
|
7938
7969
|
if aud and hasattr(aud, 'usageDeclaration') and aud.usageDeclaration():
|
|
7939
7970
|
ud = aud.usageDeclaration()
|
|
7940
|
-
|
|
7971
|
+
|
|
7941
7972
|
if ud and hasattr(ud, 'identification') and ud.identification():
|
|
7942
7973
|
ident = ud.identification()
|
|
7943
7974
|
if hasattr(ident, 'name'):
|
|
@@ -7949,7 +7980,13 @@ def _make_allocation_usage_dict(ctx, prefix=None):
|
|
|
7949
7980
|
elif len(name_list) == 1:
|
|
7950
7981
|
name_text = name_list[0].getText()
|
|
7951
7982
|
name, shortname = _extract_name_shortname(name_text)
|
|
7952
|
-
|
|
7983
|
+
|
|
7984
|
+
# Issue #5: capture the `allocate X to Y` (or `allocate X, Y to Z`)
|
|
7985
|
+
# connector part. Either standalone or appended after the
|
|
7986
|
+
# allocation keyword + optional usageDeclaration.
|
|
7987
|
+
if aud and hasattr(aud, 'connectorPart') and aud.connectorPart():
|
|
7988
|
+
connector_part = _build_connector_part_dict(aud.connectorPart())
|
|
7989
|
+
|
|
7953
7990
|
return {
|
|
7954
7991
|
"name": "PackageMember",
|
|
7955
7992
|
"prefix": None,
|
|
@@ -7974,6 +8011,7 @@ def _make_allocation_usage_dict(ctx, prefix=None):
|
|
|
7974
8011
|
"specialization": None
|
|
7975
8012
|
}
|
|
7976
8013
|
},
|
|
8014
|
+
"connectorPart": connector_part,
|
|
7977
8015
|
"body": {
|
|
7978
8016
|
"name": "UsageBody",
|
|
7979
8017
|
"body": {
|
|
@@ -7386,6 +7386,8 @@ class ConnectorPart:
|
|
|
7386
7386
|
if valid_definition(definition, self.__class__.__name__):
|
|
7387
7387
|
if definition["part"]["name"] == "BinaryConnectorPart":
|
|
7388
7388
|
self.part = BinaryConnectorPart(definition["part"])
|
|
7389
|
+
elif definition["part"]["name"] == "NaryConnectorPart":
|
|
7390
|
+
self.part = NaryConnectorPart(definition["part"])
|
|
7389
7391
|
else:
|
|
7390
7392
|
print(f"ConnectorPart: unhandled {definition['part']['name']}") # pragma: no cover
|
|
7391
7393
|
self.part = None # pragma: no cover
|
|
@@ -7417,6 +7419,23 @@ class BinaryConnectorPart:
|
|
|
7417
7419
|
}
|
|
7418
7420
|
|
|
7419
7421
|
|
|
7422
|
+
class NaryConnectorPart:
|
|
7423
|
+
def __init__(self, definition):
|
|
7424
|
+
if valid_definition(definition, self.__class__.__name__):
|
|
7425
|
+
self.children = []
|
|
7426
|
+
for relationship in definition["ownedRelationship"]:
|
|
7427
|
+
self.children.append(ConnectorEndMember(relationship))
|
|
7428
|
+
|
|
7429
|
+
def dump(self):
|
|
7430
|
+
return "(" + ", ".join([child.dump() for child in self.children]) + ")"
|
|
7431
|
+
|
|
7432
|
+
def get_definition(self):
|
|
7433
|
+
return {
|
|
7434
|
+
"name": self.__class__.__name__,
|
|
7435
|
+
"ownedRelationship": [c.get_definition() for c in self.children],
|
|
7436
|
+
}
|
|
7437
|
+
|
|
7438
|
+
|
|
7420
7439
|
class ConnectorEndMember:
|
|
7421
7440
|
def __init__(self, definition):
|
|
7422
7441
|
if valid_definition(definition, self.__class__.__name__):
|
|
@@ -9862,8 +9881,39 @@ class _PrefixedUsageBase:
|
|
|
9862
9881
|
|
|
9863
9882
|
class AllocationUsage(_PrefixedUsageBase):
|
|
9864
9883
|
# allocationUsage : occurrenceUsagePrefix ALLOCATION usageDeclaration? usageBody
|
|
9884
|
+
# allocationUsageDeclaration : ALLOCATION usageDeclaration? (ALLOCATE connectorPart)?
|
|
9885
|
+
# | ALLOCATE connectorPart
|
|
9865
9886
|
keyword = "allocation"
|
|
9866
9887
|
|
|
9888
|
+
def __init__(self, definition=None):
|
|
9889
|
+
super().__init__(definition)
|
|
9890
|
+
self.connectorPart = None
|
|
9891
|
+
if definition is not None and valid_definition(definition, self.__class__.__name__):
|
|
9892
|
+
if definition.get("connectorPart") is not None:
|
|
9893
|
+
self.connectorPart = ConnectorPart(definition["connectorPart"])
|
|
9894
|
+
|
|
9895
|
+
def dump(self):
|
|
9896
|
+
parts = []
|
|
9897
|
+
if self.prefix is not None:
|
|
9898
|
+
parts.append(self.prefix.dump())
|
|
9899
|
+
# Render as `allocation [name] [allocate X to Y]`
|
|
9900
|
+
parts.append(self.keyword)
|
|
9901
|
+
if self.declaration is not None:
|
|
9902
|
+
decl_dump = self.declaration.dump()
|
|
9903
|
+
if decl_dump:
|
|
9904
|
+
parts.append(decl_dump)
|
|
9905
|
+
if self.connectorPart is not None:
|
|
9906
|
+
parts.append("allocate")
|
|
9907
|
+
parts.append(self.connectorPart.dump())
|
|
9908
|
+
if self.body is not None:
|
|
9909
|
+
parts.append(self.body.dump())
|
|
9910
|
+
return " ".join(parts)
|
|
9911
|
+
|
|
9912
|
+
def get_definition(self):
|
|
9913
|
+
output = super().get_definition()
|
|
9914
|
+
output["connectorPart"] = self.connectorPart.get_definition() if self.connectorPart else None
|
|
9915
|
+
return output
|
|
9916
|
+
|
|
9867
9917
|
|
|
9868
9918
|
class RenderingUsage(_PrefixedUsageBase):
|
|
9869
9919
|
# renderingUsage : occurrenceUsagePrefix RENDERING usage
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp
RENAMED
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py
RENAMED
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml
RENAMED
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml
RENAMED
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.46.0 → sysmlpy-0.47.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|