sysmlpy 0.33.0__tar.gz → 0.33.2__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.
Files changed (149) hide show
  1. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/PKG-INFO +13 -5
  2. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/README.md +12 -4
  3. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/pyproject.toml +1 -1
  4. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/__init__.py +1 -1
  5. sysmlpy-0.33.2/src/sysmlpy/antlr/SysMLv2Parser.interp +981 -0
  6. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/SysMLv2Parser.py +583 -573
  7. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr_visitor.py +13 -7
  8. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +1 -1
  9. sysmlpy-0.33.2/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +981 -0
  10. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.py +583 -573
  11. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/classes.py +3 -0
  12. sysmlpy-0.33.0/src/sysmlpy/antlr/SysMLv2Parser.interp +0 -981
  13. sysmlpy-0.33.0/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +0 -981
  14. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/LICENSE +0 -0
  15. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/__main__.py +0 -0
  16. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/README.md +0 -0
  17. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/SysMLv2Lexer.interp +0 -0
  18. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/SysMLv2Lexer.py +0 -0
  19. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/SysMLv2Lexer.tokens +0 -0
  20. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/SysMLv2Parser.tokens +0 -0
  21. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/SysMLv2ParserListener.py +0 -0
  22. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/SysMLv2ParserVisitor.py +0 -0
  23. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
  24. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
  25. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
  26. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/antlr_parser.py +0 -0
  27. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/definition.py +0 -0
  28. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/examples/attribute_values.py +0 -0
  29. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/examples/part_attributes.py +0 -0
  30. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/examples/tuples_sequences.py +0 -0
  31. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/formatting.py +0 -0
  32. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/README.md +0 -0
  33. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +0 -0
  34. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
  35. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
  36. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
  37. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +0 -0
  38. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +0 -0
  39. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +0 -0
  40. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/desc.xml +0 -0
  41. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/examples/camera.sysml +0 -0
  42. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/examples/toaster-system.sysml +0 -0
  43. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +0 -0
  44. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/grammar/antlr4/pom.xml +0 -0
  45. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/LICENSE +0 -0
  46. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/README.md +0 -0
  47. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/__init__.py +0 -0
  48. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +0 -0
  49. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml +0 -0
  50. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +0 -0
  51. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Analysis/TradeStudies.sysml +0 -0
  52. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +0 -0
  53. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +0 -0
  54. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Geometry/ShapeItems.sysml +0 -0
  55. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Geometry/SpatialItems.sysml +0 -0
  56. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Metadata/ImageMetadata.sysml +0 -0
  57. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +0 -0
  58. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +0 -0
  59. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Metadata/RiskMetadata.sysml +0 -0
  60. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQ.sysml +0 -0
  61. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +0 -0
  62. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +0 -0
  63. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +0 -0
  64. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +0 -0
  65. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +0 -0
  66. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +0 -0
  67. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +0 -0
  68. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +0 -0
  69. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +0 -0
  70. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +0 -0
  71. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +0 -0
  72. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +0 -0
  73. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +0 -0
  74. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +0 -0
  75. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml +0 -0
  76. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +0 -0
  77. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/SI.sysml +0 -0
  78. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +0 -0
  79. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +0 -0
  80. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml +0 -0
  81. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +0 -0
  82. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +0 -0
  83. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +0 -0
  84. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +0 -0
  85. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Base.kerml +0 -0
  86. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/BaseFunctions.kerml +0 -0
  87. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/BooleanFunctions.kerml +0 -0
  88. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Clocks.kerml +0 -0
  89. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/CollectionFunctions.kerml +0 -0
  90. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Collections.kerml +0 -0
  91. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/ComplexFunctions.kerml +0 -0
  92. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/ControlFunctions.kerml +0 -0
  93. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/ControlPerformances.kerml +0 -0
  94. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/DataFunctions.kerml +0 -0
  95. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +0 -0
  96. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/IntegerFunctions.kerml +0 -0
  97. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/KerML.kerml +0 -0
  98. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Links.kerml +0 -0
  99. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Metaobjects.kerml +0 -0
  100. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/NaturalFunctions.kerml +0 -0
  101. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/NumericalFunctions.kerml +0 -0
  102. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Objects.kerml +0 -0
  103. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Observation.kerml +0 -0
  104. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/OccurrenceFunctions.kerml +0 -0
  105. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Occurrences.kerml +0 -0
  106. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Performances.kerml +0 -0
  107. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/RationalFunctions.kerml +0 -0
  108. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/RealFunctions.kerml +0 -0
  109. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/ScalarFunctions.kerml +0 -0
  110. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/ScalarValues.kerml +0 -0
  111. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/SequenceFunctions.kerml +0 -0
  112. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/SpatialFrames.kerml +0 -0
  113. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/StatePerformances.kerml +0 -0
  114. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/StringFunctions.kerml +0 -0
  115. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Transfers.kerml +0 -0
  116. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/TransitionPerformances.kerml +0 -0
  117. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/TrigFunctions.kerml +0 -0
  118. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/Triggers.kerml +0 -0
  119. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/VectorFunctions.kerml +0 -0
  120. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/kernel/VectorValues.kerml +0 -0
  121. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Actions.sysml +0 -0
  122. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Allocations.sysml +0 -0
  123. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/AnalysisCases.sysml +0 -0
  124. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Attributes.sysml +0 -0
  125. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Calculations.sysml +0 -0
  126. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Cases.sysml +0 -0
  127. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Connections.sysml +0 -0
  128. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Constraints.sysml +0 -0
  129. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Flows.sysml +0 -0
  130. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Interfaces.sysml +0 -0
  131. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Items.sysml +0 -0
  132. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Metadata.sysml +0 -0
  133. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Parts.sysml +0 -0
  134. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Ports.sysml +0 -0
  135. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Requirements.sysml +0 -0
  136. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/StandardViewDefinitions.sysml +0 -0
  137. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/States.sysml +0 -0
  138. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/SysML.sysml +0 -0
  139. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/UseCases.sysml +0 -0
  140. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/VerificationCases.sysml +0 -0
  141. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/library/systems/Views.sysml +0 -0
  142. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/navigate.py +0 -0
  143. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/plantuml.py +0 -0
  144. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/project.py +0 -0
  145. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/semantic.py +0 -0
  146. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/store.py +0 -0
  147. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/us_customary_units.txt +0 -0
  148. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/usage.py +0 -0
  149. {sysmlpy-0.33.0 → sysmlpy-0.33.2}/src/sysmlpy/validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sysmlpy
3
- Version: 0.33.0
3
+ Version: 0.33.2
4
4
  Summary:
5
5
  License-File: LICENSE
6
6
  Author: Jon R. Fox (mycr0ft)
@@ -805,6 +805,11 @@ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all rendered exampl
805
805
 
806
806
  ## Changelog
807
807
 
808
+ - **v0.32.5** — Fix double-space in dump output when `:>>` (redefinition) or
809
+ `: ` (typing) appears after `attribute`, `part`, or other usage keywords.
810
+ Root cause: `Redefinitions.keyword` and `TypedBy.keyword` had leading spaces
811
+ that doubled the separator in `AttributeUsage.dump()` and similar join points.
812
+
808
813
  - **v0.33.0** — Fix three parser issues from PARSING_ISSUES.md:
809
814
  1. `subject` with qualified name (e.g. `subject SystemGateway::System_Driver;`) now parses and round-trips inside requirement def bodies.
810
815
  2. `guard` keyword now accepted as alternative to `if` in transition guard expressions (e.g. `transition first A guard condition then B;`).
@@ -812,10 +817,13 @@ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all rendered exampl
812
817
 
813
818
  Also: `rendering` usage now supported inside definition bodies (previously silently dropped), `RenderingUsage` dispatch added to `Package.load_from_grammar`, `ViewRenderingMember`/`ViewRenderingUsage` grammar classes added, `ViewDefinitionBody`/`ViewBody` grammar classes replace `DefinitionBody` for view contexts.
814
819
 
815
- - **v0.32.5** — Fix double-space in dump output when `:>>` (redefinition) or
816
- `: ` (typing) appears after `attribute`, `part`, or other usage keywords.
817
- Root cause: `Redefinitions.keyword` and `TypedBy.keyword` had leading spaces
818
- that doubled the separator in `AttributeUsage.dump()` and similar join points.
820
+ - **v0.33.1** — Fix `guard` keyword preservation in round-trip: `GuardExpressionMember.get_definition()` now includes the `keyword` field so `guard` is no longer silently converted to `if` on dump.
821
+
822
+ - **v0.33.2** Fix two user-reported bugs:
823
+ 1. `PerformedActionUsage` regression: `get_definition()` no longer references non-existent `self.keyword` and `self.children` attributes.
824
+ 2. Double-quoted strings now accepted in `annotation` directives per SysML v2 spec (string literals use `"..."`, single quotes `'...'` are for escaped names only).
825
+
826
+ Rejected: `interface` as unquoted identifier (use `'interface'` per spec), guard after `then` in transitions (guard must precede `then` per spec).
819
827
 
820
828
  ## Conformance
821
829
 
@@ -780,6 +780,11 @@ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all rendered exampl
780
780
 
781
781
  ## Changelog
782
782
 
783
+ - **v0.32.5** — Fix double-space in dump output when `:>>` (redefinition) or
784
+ `: ` (typing) appears after `attribute`, `part`, or other usage keywords.
785
+ Root cause: `Redefinitions.keyword` and `TypedBy.keyword` had leading spaces
786
+ that doubled the separator in `AttributeUsage.dump()` and similar join points.
787
+
783
788
  - **v0.33.0** — Fix three parser issues from PARSING_ISSUES.md:
784
789
  1. `subject` with qualified name (e.g. `subject SystemGateway::System_Driver;`) now parses and round-trips inside requirement def bodies.
785
790
  2. `guard` keyword now accepted as alternative to `if` in transition guard expressions (e.g. `transition first A guard condition then B;`).
@@ -787,10 +792,13 @@ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all rendered exampl
787
792
 
788
793
  Also: `rendering` usage now supported inside definition bodies (previously silently dropped), `RenderingUsage` dispatch added to `Package.load_from_grammar`, `ViewRenderingMember`/`ViewRenderingUsage` grammar classes added, `ViewDefinitionBody`/`ViewBody` grammar classes replace `DefinitionBody` for view contexts.
789
794
 
790
- - **v0.32.5** — Fix double-space in dump output when `:>>` (redefinition) or
791
- `: ` (typing) appears after `attribute`, `part`, or other usage keywords.
792
- Root cause: `Redefinitions.keyword` and `TypedBy.keyword` had leading spaces
793
- that doubled the separator in `AttributeUsage.dump()` and similar join points.
795
+ - **v0.33.1** — Fix `guard` keyword preservation in round-trip: `GuardExpressionMember.get_definition()` now includes the `keyword` field so `guard` is no longer silently converted to `if` on dump.
796
+
797
+ - **v0.33.2** Fix two user-reported bugs:
798
+ 1. `PerformedActionUsage` regression: `get_definition()` no longer references non-existent `self.keyword` and `self.children` attributes.
799
+ 2. Double-quoted strings now accepted in `annotation` directives per SysML v2 spec (string literals use `"..."`, single quotes `'...'` are for escaped names only).
800
+
801
+ Rejected: `interface` as unquoted identifier (use `'interface'` per spec), guard after `then` in transitions (guard must precede `then` per spec).
794
802
 
795
803
  ## Conformance
796
804
 
@@ -6,7 +6,7 @@ build-backend = "poetry.core.masonry.api"
6
6
 
7
7
  [project]
8
8
  name = "sysmlpy"
9
- version = "0.33.0"
9
+ version = "0.33.2"
10
10
  description = ""
11
11
  authors = [{ name = "Jon R. Fox (mycr0ft)", email = "jon.fox@drfox.com" }]
12
12
  readme = "README.md"
@@ -21,7 +21,7 @@ __all__ = [
21
21
  "SysMLSyntaxError",
22
22
  ]
23
23
  __author__ = "Jon Fox"
24
- __version__ = "0.33.0"
24
+ __version__ = "0.33.2"
25
25
 
26
26
  from sysmlpy.usage import (
27
27
  Item, Attribute, Part, Port, Action, Reference, UseCase, Requirement, Interface, Message,