zuspec-arl-dm 0.1.0.15264414400rc0__cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

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 (166) hide show
  1. zsp_arl_dm/__build_num__.py +1 -0
  2. zsp_arl_dm/__init__.py +22 -0
  3. zsp_arl_dm/__version__.py +3 -0
  4. zsp_arl_dm/core.cpython-312-x86_64-linux-gnu.so +0 -0
  5. zsp_arl_dm/core.pxd +395 -0
  6. zsp_arl_dm/decl.pxd +317 -0
  7. zsp_arl_dm/libzsp-arl-dm.so +0 -0
  8. zsp_arl_dm/pkginfo.py +23 -0
  9. zsp_arl_dm/py_val_to_val_ref.py +46 -0
  10. zsp_arl_dm/share/include/TypeFieldAddrClaim.cpp +39 -0
  11. zsp_arl_dm/share/include/TypeFieldAddrClaim.h +41 -0
  12. zsp_arl_dm/share/include/zsp/arl/dm/FactoryExt.h +6 -0
  13. zsp_arl_dm/share/include/zsp/arl/dm/IAccept.h +28 -0
  14. zsp_arl_dm/share/include/zsp/arl/dm/IArl.h +30 -0
  15. zsp_arl_dm/share/include/zsp/arl/dm/IComponentMap.h +41 -0
  16. zsp_arl_dm/share/include/zsp/arl/dm/IContext.h +443 -0
  17. zsp_arl_dm/share/include/zsp/arl/dm/IContextDumper.h +47 -0
  18. zsp_arl_dm/share/include/zsp/arl/dm/IContextLoader.h +40 -0
  19. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAction.h +43 -0
  20. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivity.h +37 -0
  21. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityBind.h +45 -0
  22. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityParallel.h +17 -0
  23. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityReplicate.h +45 -0
  24. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivitySchedule.h +25 -0
  25. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityScope.h +46 -0
  26. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivitySequence.h +26 -0
  27. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityTraverse.h +33 -0
  28. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityTraverseType.h +32 -0
  29. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrClaim.h +42 -0
  30. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrClaimTransparent.h +42 -0
  31. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrHandle.h +44 -0
  32. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrSpaceC.h +46 -0
  33. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrSpaceTransparentC.h +41 -0
  34. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeArlStruct.h +51 -0
  35. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeComponent.h +40 -0
  36. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeCoreLibComponent.h +44 -0
  37. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFlowObj.h +36 -0
  38. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunction.h +115 -0
  39. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunctionImport.h +45 -0
  40. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunctionParamDecl.h +53 -0
  41. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePackedStruct.h +48 -0
  42. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePureComponent.h +41 -0
  43. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePyObj.h +41 -0
  44. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeReg.h +55 -0
  45. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeRegGroup.h +40 -0
  46. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeResource.h +22 -0
  47. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeTransparentAddrSpace.h +44 -0
  48. zsp_arl_dm/share/include/zsp/arl/dm/IFactory.h +64 -0
  49. zsp_arl_dm/share/include/zsp/arl/dm/IMarker.h +56 -0
  50. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivity.h +39 -0
  51. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityBind.h +46 -0
  52. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityParallel.h +41 -0
  53. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityReplicate.h +49 -0
  54. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivitySchedule.h +30 -0
  55. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityScope.h +52 -0
  56. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivitySequence.h +28 -0
  57. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityTraverse.h +53 -0
  58. zsp_arl_dm/share/include/zsp/arl/dm/IModelBuildContext.h +36 -0
  59. zsp_arl_dm/share/include/zsp/arl/dm/IModelComponentTreeData.h +92 -0
  60. zsp_arl_dm/share/include/zsp/arl/dm/IModelEvalIterator.h +72 -0
  61. zsp_arl_dm/share/include/zsp/arl/dm/IModelEvalIteratorListener.h +62 -0
  62. zsp_arl_dm/share/include/zsp/arl/dm/IModelEvaluator.h +41 -0
  63. zsp_arl_dm/share/include/zsp/arl/dm/IModelExec.h +40 -0
  64. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldAction.h +34 -0
  65. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldClaim.h +43 -0
  66. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldComponent.h +32 -0
  67. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldComponentRoot.h +51 -0
  68. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutor.h +41 -0
  69. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutorClaim.h +42 -0
  70. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutorGroup.h +50 -0
  71. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldInOut.h +44 -0
  72. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldPool.h +38 -0
  73. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegGroup.h +41 -0
  74. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegGroupRef.h +40 -0
  75. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegRef.h +41 -0
  76. zsp_arl_dm/share/include/zsp/arl/dm/IPoolBindDirective.h +33 -0
  77. zsp_arl_dm/share/include/zsp/arl/dm/IPyImport.h +45 -0
  78. zsp_arl_dm/share/include/zsp/arl/dm/IRegGroup.h +32 -0
  79. zsp_arl_dm/share/include/zsp/arl/dm/IRewriteContext.h +44 -0
  80. zsp_arl_dm/share/include/zsp/arl/dm/IType.h +30 -0
  81. zsp_arl_dm/share/include/zsp/arl/dm/ITypeAction.h +25 -0
  82. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExec.h +53 -0
  83. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecGroup.h +50 -0
  84. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecProc.h +44 -0
  85. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecTargetTmpl.h +59 -0
  86. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprMethodCallContext.h +45 -0
  87. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprMethodCallStatic.h +49 -0
  88. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPureCompMethodCall.h +50 -0
  89. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPyImportRef.h +44 -0
  90. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonFieldRef.h +47 -0
  91. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonMethodCall.h +47 -0
  92. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonModuleRef.h +45 -0
  93. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonSubscript.h +40 -0
  94. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldActivity.h +32 -0
  95. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldAddrClaim.h +52 -0
  96. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldAddrClaimTransparent.h +45 -0
  97. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldClaim.h +27 -0
  98. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldExecutor.h +40 -0
  99. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldExecutorClaim.h +41 -0
  100. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldInOut.h +27 -0
  101. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldMethod.h +39 -0
  102. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldPool.h +29 -0
  103. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldReg.h +47 -0
  104. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegGroup.h +40 -0
  105. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegGroupArr.h +49 -0
  106. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegRef.h +41 -0
  107. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegVec.h +52 -0
  108. zsp_arl_dm/share/include/zsp/arl/dm/ITypeModelDumper.h +47 -0
  109. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmt.h +43 -0
  110. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtAssign.h +61 -0
  111. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtBreak.h +41 -0
  112. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtContinue.h +40 -0
  113. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtDeclScope.h +44 -0
  114. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtExpr.h +44 -0
  115. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtForeach.h +41 -0
  116. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtIfClause.h +46 -0
  117. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtIfElse.h +53 -0
  118. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtMatch.h +53 -0
  119. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtMatchChoice.h +48 -0
  120. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtRepeat.h +47 -0
  121. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtRepeatWhile.h +46 -0
  122. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtReturn.h +45 -0
  123. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtScope.h +62 -0
  124. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtVarDecl.h +50 -0
  125. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtWhile.h +47 -0
  126. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtYield.h +42 -0
  127. zsp_arl_dm/share/include/zsp/arl/dm/IVisitor.h +246 -0
  128. zsp_arl_dm/share/include/zsp/arl/dm/TypeKindE.h +23 -0
  129. zsp_arl_dm/share/include/zsp/arl/dm/impl/ContextDelegator.h +549 -0
  130. zsp_arl_dm/share/include/zsp/arl/dm/impl/CopyVisitor.h +204 -0
  131. zsp_arl_dm/share/include/zsp/arl/dm/impl/IsResourcePool.h +55 -0
  132. zsp_arl_dm/share/include/zsp/arl/dm/impl/ModelBuildContext.h +52 -0
  133. zsp_arl_dm/share/include/zsp/arl/dm/impl/ModelEvalIteratorListenerBase.h +60 -0
  134. zsp_arl_dm/share/include/zsp/arl/dm/impl/RewriteVisitorBase.h +346 -0
  135. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskActionHasMemClaim.h +76 -0
  136. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskCollectTopLevelActivities.h +63 -0
  137. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskFindExecutor.h +69 -0
  138. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetExprDataType.h +84 -0
  139. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetSubField.h +98 -0
  140. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetTypeBitWidth.h +76 -0
  141. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsDataTypeFlowObj.h +73 -0
  142. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsDataTypePyObj.h +55 -0
  143. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsPackedStruct.h +57 -0
  144. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsRefGroupRef.h +60 -0
  145. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsTypeFieldRegGroup.h +60 -0
  146. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsTypeFieldRegGroupArr.h +40 -0
  147. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskPackStruct2Int.h +80 -0
  148. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskUnpackInt2Struct.h +123 -0
  149. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitActionTypeClaimRef.h +70 -0
  150. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitModelFieldClaim.h +64 -0
  151. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitModelFieldInOut.h +64 -0
  152. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefAction.h +43 -0
  153. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefActivity.h +63 -0
  154. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefActivityScope.h +51 -0
  155. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefPyObj.h +75 -0
  156. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefRegGroup.h +32 -0
  157. zsp_arl_dm/share/include/zsp/arl/dm/impl/VisitorBase.h +456 -0
  158. zsp_arl_dm/share/include/zsp/arl/dm/impl/VisitorDelegator.h +356 -0
  159. zsp_arl_dm/share/include/zsp/arl/dm/loader.h +39 -0
  160. zsp_arl_dm/val_ref_to_py_val.py +58 -0
  161. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/METADATA +25 -0
  162. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/RECORD +166 -0
  163. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/WHEEL +6 -0
  164. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/entry_points.txt +2 -0
  165. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/licenses/LICENSE +201 -0
  166. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,115 @@
1
+ /**
2
+ * IDataTypeFunction.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include <memory>
23
+ #include <string>
24
+ #include <vector>
25
+ #include "vsc/dm/IAssociatedData.h"
26
+ #include "vsc/dm/IDataTypeStruct.h"
27
+ #include "zsp/arl/dm/IDataTypeFunctionImport.h"
28
+ #include "zsp/arl/dm/IDataTypeFunctionParamDecl.h"
29
+ #include "zsp/arl/dm/ITypeProcStmtDeclScope.h"
30
+ #include "zsp/arl/dm/ITypeProcStmtScope.h"
31
+ #include "vsc/dm/IAccept.h"
32
+ #include "vsc/dm/IDataType.h"
33
+
34
+ namespace zsp {
35
+ namespace arl {
36
+ namespace dm {
37
+
38
+ enum class DataTypeFunctionFlags {
39
+ NoFlags = 0,
40
+ Solve = (1 << 0),
41
+ Target = (1 << 1), // Target function
42
+ Blocks = (1 << 2), // Blocking target function
43
+ Core = (1 << 3),
44
+ Context = (1 << 4), // Non-static member of a containing type
45
+ Import = (1 << 5),
46
+ Export = (1 << 6),
47
+ };
48
+
49
+ static inline DataTypeFunctionFlags operator | (const DataTypeFunctionFlags lhs, const DataTypeFunctionFlags rhs) {
50
+ return static_cast<DataTypeFunctionFlags>(
51
+ static_cast<uint32_t>(lhs) | static_cast<uint32_t>(rhs));
52
+ }
53
+
54
+ static inline DataTypeFunctionFlags operator & (const DataTypeFunctionFlags lhs, const DataTypeFunctionFlags rhs) {
55
+ return static_cast<DataTypeFunctionFlags>(
56
+ static_cast<uint32_t>(lhs) & static_cast<uint32_t>(rhs));
57
+ }
58
+
59
+ static inline DataTypeFunctionFlags operator ~ (const DataTypeFunctionFlags lhs) {
60
+ return static_cast<DataTypeFunctionFlags>(~static_cast<uint32_t>(lhs));
61
+ }
62
+
63
+ class IDataTypeFunction;
64
+ using IDataTypeFunctionUP=vsc::dm::UP<IDataTypeFunction>;
65
+ class IDataTypeFunction :
66
+ public virtual vsc::dm::IAccept {
67
+ public:
68
+
69
+ virtual ~IDataTypeFunction() { }
70
+
71
+ virtual const std::string &name() const = 0;
72
+
73
+ virtual vsc::dm::IDataType *getReturnType() const = 0;
74
+
75
+ virtual const std::vector<IDataTypeFunctionParamDecl *> &getParameters() const = 0;
76
+
77
+ virtual void addParameter(IDataTypeFunctionParamDecl *p) = 0;
78
+
79
+ // Returns the data type of the parameters frame
80
+ virtual vsc::dm::IDataTypeStruct *getParametersType() const = 0;
81
+
82
+ // Appears to not be used
83
+ virtual ITypeProcStmtDeclScope *getParamScope() = 0;
84
+
85
+ virtual vsc::dm::IDataTypeStruct *getContext() const = 0;
86
+
87
+ virtual bool getIsExport() const = 0;
88
+
89
+ virtual void setIsExport(bool e) = 0;
90
+
91
+ virtual ITypeProcStmtScope *getBody() const = 0;
92
+
93
+ virtual const std::vector<IDataTypeFunctionImportUP> &getImportSpecs() const = 0;
94
+
95
+ virtual void addImportSpec(IDataTypeFunctionImport *spec) = 0;
96
+
97
+ virtual DataTypeFunctionFlags getFlags() const = 0;
98
+
99
+ virtual void setFlags(DataTypeFunctionFlags flags) = 0;
100
+
101
+ virtual bool hasFlags(DataTypeFunctionFlags f) const = 0;
102
+
103
+ virtual void clrFlags(DataTypeFunctionFlags f) = 0;
104
+
105
+ virtual void setAssociatedData(vsc::dm::IAssociatedData *data) = 0;
106
+
107
+ virtual vsc::dm::IAssociatedData *getAssociatedData() const = 0;
108
+
109
+ };
110
+
111
+ }
112
+ }
113
+ }
114
+
115
+
@@ -0,0 +1,45 @@
1
+ /**
2
+ * IDataTypeFunctionImport.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include "vsc/dm/impl/UP.h"
23
+
24
+ namespace zsp {
25
+ namespace arl {
26
+ namespace dm {
27
+
28
+ class IDataTypeFunctionImport;
29
+ using IDataTypeFunctionImportUP=vsc::dm::UP<IDataTypeFunctionImport>;
30
+ class IDataTypeFunctionImport {
31
+ public:
32
+
33
+ virtual ~IDataTypeFunctionImport() { }
34
+
35
+ virtual bool isTarget() = 0;
36
+
37
+ virtual bool isSolve() = 0;
38
+
39
+ };
40
+
41
+ } /* namespace dm */
42
+ } /* namespace arl */
43
+ } /* namespace zsp */
44
+
45
+
@@ -0,0 +1,53 @@
1
+ /**
2
+ * IDataTypeFunctionParamDecl.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include <memory>
23
+ #include <string>
24
+ #include "vsc/dm/IDataType.h"
25
+ #include "vsc/dm/ITypeExpr.h"
26
+ #include "zsp/arl/dm/ITypeProcStmtVarDecl.h"
27
+
28
+ namespace zsp {
29
+ namespace arl {
30
+ namespace dm {
31
+
32
+ enum class ParamDir {
33
+ In,
34
+ Out,
35
+ InOut
36
+ };
37
+
38
+ class IDataTypeFunctionParamDecl;
39
+ using IDataTypeFunctionParamDeclUP=vsc::dm::UP<IDataTypeFunctionParamDecl>;
40
+ class IDataTypeFunctionParamDecl : public virtual ITypeProcStmtVarDecl {
41
+ public:
42
+
43
+ virtual ~IDataTypeFunctionParamDecl() { }
44
+
45
+ virtual ParamDir getDirection() const = 0;
46
+
47
+ };
48
+
49
+ }
50
+ }
51
+ }
52
+
53
+
@@ -0,0 +1,48 @@
1
+ /**
2
+ * IDataTypePackedStruct.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include "vsc/dm/IDataTypeStruct.h"
23
+
24
+ namespace zsp {
25
+ namespace arl {
26
+ namespace dm {
27
+
28
+ enum class Endian {
29
+ Big,
30
+ Little
31
+ };
32
+
33
+ class IDataTypePackedStruct;
34
+ using IDataTypePackedStructUP=vsc::dm::UP<IDataTypePackedStruct>;
35
+ class IDataTypePackedStruct : public virtual vsc::dm::IDataTypeStruct {
36
+ public:
37
+
38
+ virtual ~IDataTypePackedStruct() { }
39
+
40
+ virtual Endian getEndian() const = 0;
41
+
42
+ };
43
+
44
+ } /* namespace dm */
45
+ } /* namespace arl */
46
+ } /* namespace zsp */
47
+
48
+
@@ -0,0 +1,41 @@
1
+ /**
2
+ * IDataTypePureComponent.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include "zsp/arl/dm/IDataTypeArlStruct.h"
23
+
24
+ namespace zsp {
25
+ namespace arl {
26
+ namespace dm {
27
+
28
+ class IDataTypePureComponent;
29
+ using IDataTypePureComponentUP=vsc::dm::UP<IDataTypePureComponent>;
30
+ class IDataTypePureComponent : public arl::dm::IDataTypeArlStruct {
31
+ public:
32
+
33
+ virtual ~IDataTypePureComponent() { }
34
+
35
+ };
36
+
37
+ } /* namespace dm */
38
+ } /* namespace arl */
39
+ } /* namespace zsp */
40
+
41
+
@@ -0,0 +1,41 @@
1
+ /**
2
+ * IDataTypePyObj.h
3
+ *
4
+ * Copyright 2023 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include "vsc/dm/IDataType.h"
23
+
24
+ namespace zsp {
25
+ namespace arl {
26
+ namespace dm {
27
+
28
+
29
+
30
+ class IDataTypePyObj : public virtual vsc::dm::IDataType {
31
+ public:
32
+
33
+ virtual ~IDataTypePyObj() { }
34
+
35
+ };
36
+
37
+ } /* namespace dm */
38
+ } /* namespace arl */
39
+ } /* namespace zsp */
40
+
41
+
@@ -0,0 +1,55 @@
1
+ /**
2
+ * IDataTypeReg.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include <stdint.h>
23
+ #include "zsp/arl/dm/IDataTypePackedStruct.h"
24
+ #include "zsp/arl/dm/IDataTypePureComponent.h"
25
+
26
+ namespace zsp {
27
+ namespace arl {
28
+ namespace dm {
29
+
30
+ enum class RegAccess {
31
+ READWRITE,
32
+ READONLY,
33
+ WRITEONLY
34
+ };
35
+
36
+ class IDataTypeReg : public virtual IDataTypePureComponent {
37
+ public:
38
+
39
+ virtual ~IDataTypeReg() { }
40
+
41
+ virtual IDataTypePackedStruct *getDataType() const = 0;
42
+
43
+ virtual uint32_t getOffset() const = 0;
44
+
45
+ virtual uint32_t getWidth() const = 0;
46
+
47
+ virtual RegAccess getAccess() const = 0;
48
+
49
+ };
50
+
51
+ } /* namespace dm */
52
+ } /* namespace arl */
53
+ } /* namespace zsp */
54
+
55
+
@@ -0,0 +1,40 @@
1
+ /**
2
+ * IDataTypeRegGroup.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include "zsp/arl/dm/IDataTypeComponent.h"
23
+
24
+ namespace zsp {
25
+ namespace arl {
26
+ namespace dm {
27
+
28
+
29
+ class IDataTypeRegGroup : public virtual IDataTypeComponent {
30
+ public:
31
+
32
+ virtual ~IDataTypeRegGroup() { }
33
+
34
+ };
35
+
36
+ } /* namespace dm */
37
+ } /* namespace arl */
38
+ } /* namespace zsp */
39
+
40
+
@@ -0,0 +1,22 @@
1
+
2
+ #pragma once
3
+ #include "zsp/arl/dm/IDataTypeFlowObj.h"
4
+ #include "vsc/dm/ITypeField.h"
5
+
6
+ namespace zsp {
7
+ namespace arl {
8
+ namespace dm {
9
+
10
+
11
+ class IDataTypeResource : public virtual IDataTypeFlowObj {
12
+ public:
13
+
14
+ virtual ~IDataTypeResource() { }
15
+
16
+ virtual vsc::dm::ITypeField *getInstanceId() const = 0;
17
+
18
+ };
19
+
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * IDataTypeTransparentAddrSpace.h
3
+ *
4
+ * Copyright 2023 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include "vsc/dm/IValOpsDelegator.h"
23
+ #include "zsp/arl/dm/IDataTypeComponent.h"
24
+
25
+ namespace zsp {
26
+ namespace arl {
27
+ namespace dm {
28
+
29
+
30
+
31
+ class IDataTypeTransparentAddrSpace :
32
+ public virtual IDataTypeComponent,
33
+ public virtual vsc::dm::IValOpsDelegator {
34
+ public:
35
+
36
+ virtual ~IDataTypeTransparentAddrSpace() { }
37
+
38
+ };
39
+
40
+ } /* namespace dm */
41
+ } /* namespace arl */
42
+ } /* namespace zsp */
43
+
44
+
@@ -0,0 +1,64 @@
1
+ /**
2
+ * IFactory.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include <iostream>
23
+ #include "dmgr/IDebugMgr.h"
24
+ #include "vsc/dm/IContext.h"
25
+ #include "zsp/arl/dm/IContext.h"
26
+ #include "zsp/arl/dm/IContextDumper.h"
27
+ #include "zsp/arl/dm/IContextLoader.h"
28
+ #include "zsp/arl/dm/IRewriteContext.h"
29
+ #include "zsp/arl/dm/ITypeModelDumper.h"
30
+
31
+ namespace zsp {
32
+ namespace arl {
33
+ namespace dm {
34
+
35
+
36
+
37
+ class IFactory {
38
+ public:
39
+
40
+ virtual ~IFactory() { }
41
+
42
+ virtual void init(dmgr::IDebugMgr *dmgr) = 0;
43
+
44
+ virtual dmgr::IDebugMgr *getDebugMgr() = 0;
45
+
46
+ virtual IContext *mkContext(vsc::dm::IContext *ctxt) = 0;
47
+
48
+ virtual IRewriteContext *mkRewriteContext(
49
+ IContext *ctxt,
50
+ const std::vector<vsc::dm::IAccept *> &roots) = 0;
51
+
52
+ virtual ITypeModelDumper *mkTypeModelDumperJSON(
53
+ std::ostream *out, int32_t indent) = 0;
54
+
55
+ // virtual IContextDumper *mkContextDumperJSON(std::ostream *out) = 0;
56
+
57
+
58
+ };
59
+
60
+ } /* namespace dm */
61
+ } /* namespace arl */
62
+ } /* namespace zsp */
63
+
64
+
@@ -0,0 +1,56 @@
1
+ /**
2
+ * IMarker.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include <memory>
23
+ #include <string>
24
+ #include "vsc/dm/IAccept.h"
25
+
26
+ namespace zsp {
27
+ namespace arl {
28
+ namespace dm {
29
+
30
+
31
+ enum class MarkerSeverity {
32
+ Note,
33
+ Warning,
34
+ Error
35
+ };
36
+
37
+ class IMarker;
38
+ using IMarkerUP=vsc::dm::UP<IMarker>;
39
+ class IMarker {
40
+ public:
41
+
42
+ virtual ~IMarker() { }
43
+
44
+ virtual vsc::dm::IAccept *getTarget() const = 0;
45
+
46
+ virtual MarkerSeverity getSeverity() const = 0;
47
+
48
+ virtual const std::string &getMessage() const = 0;
49
+
50
+ };
51
+
52
+ }
53
+ }
54
+ }
55
+
56
+
@@ -0,0 +1,39 @@
1
+ /*
2
+ * IModelActivity.h
3
+ *
4
+ * Created on: Jun 5, 2022
5
+ * Author: mballance
6
+ */
7
+
8
+ #pragma once
9
+ #include <memory>
10
+ #include <vector>
11
+ #include "vsc/dm/IAccept.h"
12
+ #include "vsc/dm/IModelConstraint.h"
13
+
14
+ namespace zsp {
15
+ namespace arl {
16
+ namespace dm {
17
+
18
+
19
+ class IModelActivity;
20
+ using IModelActivityUP=vsc::dm::UP<IModelActivity>;
21
+ class IModelActivity : public virtual vsc::dm::IAccept {
22
+ public:
23
+
24
+ virtual ~IModelActivity() { }
25
+
26
+ virtual int32_t getNext() const = 0;
27
+
28
+ virtual void setNext(int32_t n) = 0;
29
+
30
+ /*
31
+ virtual void getConstraintsLookahead(
32
+ std::vector<vsc::dm::IModelConstraint *> &constraints) = 0;
33
+ */
34
+
35
+ };
36
+
37
+ }
38
+ }
39
+ }