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,443 @@
1
+ /*
2
+ * IContext.h
3
+ *
4
+ * Created on: Apr 2, 2022
5
+ * Author: mballance
6
+ */
7
+ #pragma once
8
+ #include "vsc/dm/IContext.h"
9
+ #include "zsp/arl/dm/IDataTypeAction.h"
10
+ #include "zsp/arl/dm/IDataTypeActivityBind.h"
11
+ #include "zsp/arl/dm/IDataTypeActivityParallel.h"
12
+ #include "zsp/arl/dm/IDataTypeActivitySchedule.h"
13
+ #include "zsp/arl/dm/IDataTypeActivitySequence.h"
14
+ #include "zsp/arl/dm/IDataTypeActivityTraverse.h"
15
+ #include "zsp/arl/dm/IDataTypeAction.h"
16
+ #include "zsp/arl/dm/IDataTypeAddrClaim.h"
17
+ #include "zsp/arl/dm/IDataTypeAddrClaimTransparent.h"
18
+ #include "zsp/arl/dm/IDataTypeAddrHandle.h"
19
+ #include "zsp/arl/dm/IDataTypeAddrSpaceC.h"
20
+ #include "zsp/arl/dm/IDataTypeAddrSpaceTransparentC.h"
21
+ #include "zsp/arl/dm/IDataTypeComponent.h"
22
+ #include "zsp/arl/dm/IDataTypeCoreLibComponent.h"
23
+ #include "zsp/arl/dm/IDataTypeFlowObj.h"
24
+ #include "zsp/arl/dm/IDataTypeFunction.h"
25
+ #include "zsp/arl/dm/IDataTypeFunctionImport.h"
26
+ #include "zsp/arl/dm/IDataTypeFunctionParamDecl.h"
27
+ #include "zsp/arl/dm/IDataTypePackedStruct.h"
28
+ #include "zsp/arl/dm/IDataTypeRegGroup.h"
29
+ #include "zsp/arl/dm/IModelActivityParallel.h"
30
+ #include "zsp/arl/dm/IModelActivitySchedule.h"
31
+ #include "zsp/arl/dm/IModelActivityScope.h"
32
+ #include "zsp/arl/dm/IModelActivitySequence.h"
33
+ #include "zsp/arl/dm/IModelActivityTraverse.h"
34
+ #include "zsp/arl/dm/IModelEvalIterator.h"
35
+ #include "zsp/arl/dm/IModelFieldAction.h"
36
+ #include "zsp/arl/dm/IModelFieldClaim.h"
37
+ #include "zsp/arl/dm/IModelFieldComponent.h"
38
+ #include "zsp/arl/dm/IModelFieldExecutor.h"
39
+ #include "zsp/arl/dm/IModelFieldExecutorClaim.h"
40
+ #include "zsp/arl/dm/IModelFieldRegGroup.h"
41
+ #include "zsp/arl/dm/IPyImport.h"
42
+ #include "zsp/arl/dm/ITypeExecGroup.h"
43
+ #include "zsp/arl/dm/ITypeExecProc.h"
44
+ #include "zsp/arl/dm/ITypeExprMethodCallContext.h"
45
+ #include "zsp/arl/dm/ITypeExprMethodCallStatic.h"
46
+ #include "zsp/arl/dm/ITypeExprPyImportRef.h"
47
+ #include "zsp/arl/dm/ITypeExprPythonFieldRef.h"
48
+ #include "zsp/arl/dm/ITypeExprPythonMethodCall.h"
49
+ #include "zsp/arl/dm/ITypeExprPythonModuleRef.h"
50
+ #include "zsp/arl/dm/ITypeFieldAddrClaim.h"
51
+ #include "zsp/arl/dm/ITypeFieldAddrClaimTransparent.h"
52
+ #include "zsp/arl/dm/ITypeFieldClaim.h"
53
+ #include "zsp/arl/dm/ITypeFieldExecutor.h"
54
+ #include "zsp/arl/dm/ITypeFieldExecutorClaim.h"
55
+ #include "zsp/arl/dm/ITypeFieldInOut.h"
56
+ #include "zsp/arl/dm/ITypeFieldPool.h"
57
+ #include "zsp/arl/dm/ITypeFieldReg.h"
58
+ #include "zsp/arl/dm/ITypeFieldRegGroup.h"
59
+ #include "zsp/arl/dm/ITypeFieldRegGroupArr.h"
60
+ #include "zsp/arl/dm/ITypeProcStmtAssign.h"
61
+ #include "zsp/arl/dm/ITypeProcStmtBreak.h"
62
+ #include "zsp/arl/dm/ITypeProcStmtContinue.h"
63
+ #include "zsp/arl/dm/ITypeProcStmtExpr.h"
64
+ #include "zsp/arl/dm/ITypeProcStmtForeach.h"
65
+ #include "zsp/arl/dm/ITypeProcStmtIfElse.h"
66
+ #include "zsp/arl/dm/ITypeProcStmtMatch.h"
67
+ #include "zsp/arl/dm/ITypeProcStmtRepeat.h"
68
+ #include "zsp/arl/dm/ITypeProcStmtRepeatWhile.h"
69
+ #include "zsp/arl/dm/ITypeProcStmtReturn.h"
70
+ #include "zsp/arl/dm/ITypeProcStmtScope.h"
71
+ #include "zsp/arl/dm/ITypeProcStmtVarDecl.h"
72
+ #include "zsp/arl/dm/ITypeProcStmtWhile.h"
73
+ #include "zsp/arl/dm/ITypeProcStmtYield.h"
74
+ #include "zsp/arl/dm/impl/ValRefPyObj.h"
75
+
76
+ namespace zsp {
77
+ namespace arl {
78
+ namespace dm {
79
+
80
+ enum class DataTypeKind {
81
+ PyObj,
82
+ NumKinds
83
+ };
84
+
85
+ enum class DataTypeCoreE {
86
+ PyObj,
87
+ NumKinds
88
+ };
89
+
90
+
91
+ class IContext;
92
+ using IContextUP=vsc::dm::UP<IContext>;
93
+ class IContext : public virtual vsc::dm::IContext {
94
+ public:
95
+
96
+ virtual ~IContext() { }
97
+
98
+ virtual vsc::dm::IValOps *getValOps(DataTypeKind kind) = 0;
99
+
100
+ virtual void setValOps(DataTypeKind kind, vsc::dm::IValOps *ops, bool owned=true) = 0;
101
+
102
+ virtual vsc::dm::IDataType *getDataTypeCoreArl(DataTypeCoreE t) = 0;
103
+
104
+ virtual IDataTypeAction *findDataTypeAction(const std::string &name) = 0;
105
+
106
+ virtual IDataTypeAction *mkDataTypeAction(const std::string &name) = 0;
107
+
108
+ virtual IDataTypeAddrClaim *mkDataTypeAddrClaim(const std::string &name) = 0;
109
+
110
+ virtual IDataTypeAddrClaimTransparent *mkDataTypeAddrClaimTransparent(const std::string &name) = 0;
111
+
112
+ virtual IDataTypeAddrHandle *mkDataTypeAddrHandle(const std::string &name) = 0;
113
+
114
+ virtual IDataTypeAddrSpaceC *mkDataTypeAddrSpaceC(
115
+ const std::string &name,
116
+ vsc::dm::IDataTypeStruct *trait_t) = 0;
117
+
118
+ virtual IDataTypeAddrSpaceTransparentC *mkDataTypeAddrSpaceTransparentC(
119
+ const std::string &name,
120
+ vsc::dm::IDataTypeStruct *trait_t) = 0;
121
+
122
+ virtual bool addDataTypeAction(IDataTypeAction *t) = 0;
123
+
124
+ virtual IDataTypeFunction *findDataTypeFunction(const std::string &name) = 0;
125
+
126
+ virtual IDataTypeFunction *mkDataTypeFunction(
127
+ const std::string &name,
128
+ vsc::dm::IDataType *rtype,
129
+ bool own_rtype,
130
+ DataTypeFunctionFlags flags=DataTypeFunctionFlags::NoFlags,
131
+ IDataTypeArlStruct *context=0) = 0;
132
+
133
+ virtual bool addDataTypeFunction(IDataTypeFunction *f) = 0;
134
+
135
+ virtual const std::vector<IDataTypeFunction *> &getDataTypeFunctions() const = 0;
136
+
137
+ virtual IDataTypeFunctionImport *mkDataTypeFunctionImport(
138
+ const std::string &lang,
139
+ bool is_target,
140
+ bool is_solve) = 0;
141
+
142
+ virtual IDataTypeFunctionParamDecl *mkDataTypeFunctionParamDecl(
143
+ const std::string &name,
144
+ ParamDir dir,
145
+ vsc::dm::IDataType *type,
146
+ bool own,
147
+ vsc::dm::ITypeExpr *init) = 0;
148
+
149
+ virtual IDataTypeRegGroup *mkDataTypeRegGroup(const std::string &name) = 0;
150
+
151
+ virtual IDataTypeActivityBind *mkDataTypeActivityBind(
152
+ const std::vector<vsc::dm::ITypeExprFieldRef *> &targets,
153
+ bool owned=true) = 0;
154
+
155
+ virtual IDataTypeActivityParallel *mkDataTypeActivityParallel() = 0;
156
+
157
+ virtual IDataTypeActivityReplicate *mkDataTypeActivityReplicate(
158
+ vsc::dm::ITypeExpr *count) = 0;
159
+
160
+ virtual IDataTypeActivitySchedule *mkDataTypeActivitySchedule() = 0;
161
+
162
+ virtual IDataTypeActivitySequence *mkDataTypeActivitySequence() = 0;
163
+
164
+ virtual IDataTypeActivityTraverse *mkDataTypeActivityTraverse(
165
+ vsc::dm::ITypeExpr *target,
166
+ vsc::dm::ITypeConstraint *with_c) = 0;
167
+
168
+ virtual IDataTypeActivityTraverseType *mkDataTypeActivityTraverseType(
169
+ arl::dm::IDataTypeAction *target,
170
+ vsc::dm::ITypeConstraint *with_c) = 0;
171
+
172
+ virtual IDataTypeComponent *findDataTypeComponent(const std::string &name) = 0;
173
+
174
+ virtual IDataTypeComponent *mkDataTypeComponent(const std::string &name) = 0;
175
+
176
+ virtual bool addDataTypeComponent(IDataTypeComponent *t) = 0;
177
+
178
+ virtual IDataTypeFlowObj *findDataTypeFlowObj(
179
+ const std::string &name,
180
+ FlowObjKindE kind) = 0;
181
+
182
+ virtual IDataTypeFlowObj *mkDataTypeFlowObj(
183
+ const std::string &name,
184
+ FlowObjKindE kind) = 0;
185
+
186
+ template <class T> T *mkDataTypeFlowObjT(
187
+ const std::string &name,
188
+ FlowObjKindE kind) {
189
+ return dynamic_cast<T *>(mkDataTypeFlowObj(name, kind));
190
+ }
191
+
192
+ virtual bool addDataTypeFlowObj(IDataTypeFlowObj *t) = 0;
193
+
194
+ virtual IDataTypePackedStruct *findDataTypePackedStruct(
195
+ const std::string &name) = 0;
196
+
197
+ virtual IDataTypePackedStruct *mkDataTypePackedStruct(
198
+ const std::string &name,
199
+ Endian endian=Endian::Little) = 0;
200
+
201
+ virtual bool addDataTypePackedStruct(
202
+ IDataTypePackedStruct *type) = 0;
203
+
204
+ virtual IModelActivityParallel *mkModelActivityParallel() = 0;
205
+
206
+ virtual IModelActivityReplicate *mkModelActivityReplicate(
207
+ vsc::dm::IModelExpr *count) = 0;
208
+
209
+ virtual IModelActivitySchedule *mkModelActivitySchedule() = 0;
210
+
211
+ virtual IModelActivityScope *mkModelActivityScope(ModelActivityScopeT t) = 0;
212
+
213
+ virtual IModelActivitySequence *mkModelActivitySequence() = 0;
214
+
215
+ virtual IModelActivityTraverse *mkModelActivityTraverse(
216
+ IModelFieldAction *target,
217
+ vsc::dm::IModelConstraint *with_c,
218
+ bool own_with_c,
219
+ IModelActivity *activity,
220
+ bool owned) = 0;
221
+
222
+ virtual IModelEvalIterator *mkModelEvalIterator(
223
+ IModelActivityScope *activity) = 0;
224
+
225
+ virtual IModelFieldAction *mkModelFieldActionRoot(
226
+ const std::string &name,
227
+ IDataTypeAction *type) = 0;
228
+
229
+ virtual IModelFieldAction *mkModelFieldActionType(
230
+ vsc::dm::ITypeField *type) = 0;
231
+
232
+ virtual IModelFieldClaim *mkModelFieldClaim(
233
+ ITypeFieldClaim *type) = 0;
234
+
235
+ virtual IModelFieldComponent *mkModelFieldComponentRoot(
236
+ IDataTypeComponent *type,
237
+ const std::string &name,
238
+ const vsc::dm::ValRef &val) = 0;
239
+
240
+ virtual IModelFieldComponent *mkModelFieldComponentType(
241
+ vsc::dm::ITypeField *type) = 0;
242
+
243
+ virtual IModelFieldExecutor *mkModelFieldExecutor(
244
+ vsc::dm::ITypeField *type) = 0;
245
+
246
+ virtual IModelFieldExecutorClaim *mkModelFieldExecutorClaim(
247
+ vsc::dm::ITypeField *type) = 0;
248
+
249
+ virtual IModelFieldInOut *mkModelFieldInOut(
250
+ ITypeFieldInOut *type) = 0;
251
+
252
+ virtual IModelFieldPool *mkModelFieldPoolType(
253
+ vsc::dm::ITypeField *type) = 0;
254
+
255
+ virtual IModelFieldRegGroup *mkModelFieldRegGroup(
256
+ vsc::dm::ITypeField *type) = 0;
257
+
258
+ virtual IPoolBindDirective *mkPoolBindDirective(
259
+ PoolBindKind kind,
260
+ vsc::dm::ITypeExprFieldRef *pool,
261
+ vsc::dm::ITypeExprFieldRef *target) = 0;
262
+
263
+ virtual IPyImport *findPyImport(
264
+ const std::string &path,
265
+ bool create=true) = 0;
266
+
267
+ virtual const std::vector<IPyImportUP> &getPyImports() const = 0;
268
+
269
+ virtual IPyImport *mkPyImport(
270
+ const std::string &path) = 0;
271
+
272
+ virtual bool addPyImport(IPyImport *imp) = 0;
273
+
274
+ virtual ITypeExecGroup *mkTypeExecGroup(
275
+ ExecKindT kind,
276
+ ITypeExecGroup *super) = 0;
277
+
278
+ virtual ITypeExecProc *mkTypeExecProc(
279
+ ExecKindT kind,
280
+ ITypeProcStmtScope *body) = 0;
281
+
282
+ virtual ITypeExprMethodCallContext *mkTypeExprMethodCallContext(
283
+ IDataTypeFunction *target,
284
+ vsc::dm::ITypeExpr *context,
285
+ const std::vector<vsc::dm::ITypeExpr *> &params,
286
+ bool owned=true) = 0;
287
+
288
+ virtual ITypeExprMethodCallStatic *mkTypeExprMethodCallStatic(
289
+ IDataTypeFunction *target,
290
+ const std::vector<vsc::dm::ITypeExpr *> &params,
291
+ bool owned=true) = 0;
292
+
293
+ virtual ITypeExprPyImportRef *mkTypeExprPyImportRef(
294
+ IPyImport *imp) = 0;
295
+
296
+ virtual ITypeExprPythonFieldRef *mkTypeExprPythonFieldRef(
297
+ vsc::dm::ITypeExpr *base,
298
+ bool owned,
299
+ const std::string &name) = 0;
300
+
301
+ virtual ITypeExprPythonMethodCall *mkTypeExprPythonMethodCall(
302
+ vsc::dm::ITypeExpr *base,
303
+ bool owned,
304
+ const std::vector<vsc::dm::ITypeExpr *> &params) = 0;
305
+
306
+ virtual ITypeExprPythonModuleRef *mkTypeExprPythonModuleRef(
307
+ IPyImport *imp) = 0;
308
+
309
+ virtual ITypeFieldActivity *mkTypeFieldActivity(
310
+ const std::string &name,
311
+ IDataTypeActivity *type,
312
+ bool owned) = 0;
313
+
314
+ virtual ITypeFieldAddrClaim *mkTypeFieldAddrClaim(
315
+ const std::string &name,
316
+ vsc::dm::IDataType *type,
317
+ bool owned,
318
+ vsc::dm::IDataTypeStruct *trait_t) = 0;
319
+
320
+ virtual ITypeFieldAddrClaimTransparent *mkTypeFieldAddrClaimTransparent(
321
+ const std::string &name,
322
+ vsc::dm::IDataType *type,
323
+ bool owned,
324
+ vsc::dm::IDataTypeStruct *trait_t) = 0;
325
+
326
+ virtual ITypeFieldClaim *mkTypeFieldClaim(
327
+ const std::string &name,
328
+ vsc::dm::IDataType *type,
329
+ bool is_lock) = 0;
330
+
331
+ virtual ITypeFieldExecutor *mkTypeFieldExecutor(
332
+ const std::string &name,
333
+ vsc::dm::IDataType *type,
334
+ bool owned) = 0;
335
+
336
+ virtual ITypeFieldExecutorClaim *mkTypeFieldExecutorClaim(
337
+ const std::string &name,
338
+ vsc::dm::IDataType *type,
339
+ bool owned) = 0;
340
+
341
+ virtual ITypeFieldInOut *mkTypeFieldInOut(
342
+ const std::string &name,
343
+ vsc::dm::IDataType *type,
344
+ bool is_input) = 0;
345
+
346
+ virtual ITypeFieldPool *mkTypeFieldPool(
347
+ const std::string &name,
348
+ vsc::dm::IDataType *type,
349
+ bool own,
350
+ vsc::dm::TypeFieldAttr attr,
351
+ int32_t decl_size) = 0;
352
+
353
+ virtual ITypeFieldReg *mkTypeFieldReg(
354
+ const std::string &name,
355
+ vsc::dm::IDataType *type,
356
+ bool own) = 0;
357
+
358
+ virtual ITypeFieldRegGroup *mkTypeFieldRegGroup(
359
+ const std::string &name,
360
+ vsc::dm::IDataType *type,
361
+ bool own) = 0;
362
+
363
+ virtual ITypeFieldRegGroupArr *mkTypeFieldRegGroupArr(
364
+ const std::string &name,
365
+ vsc::dm::IDataType *type,
366
+ bool own_type,
367
+ vsc::dm::IDataType *elem_type,
368
+ bool own_elem_type,
369
+ int32_t size) = 0;
370
+
371
+ virtual ITypeProcStmtAssign *mkTypeProcStmtAssign(
372
+ vsc::dm::ITypeExpr *lhs,
373
+ TypeProcStmtAssignOp op,
374
+ vsc::dm::ITypeExpr *rhs) = 0;
375
+
376
+ virtual ITypeProcStmtBreak *mkTypeProcStmtBreak() = 0;
377
+
378
+ virtual ITypeProcStmtContinue *mkTypeProcStmtContinue() = 0;
379
+
380
+ virtual ITypeProcStmtExpr *mkTypeProcStmtExpr(
381
+ vsc::dm::ITypeExpr *e) = 0;
382
+
383
+ virtual ITypeProcStmtForeach *mkTypeProcStmtForeach(
384
+ vsc::dm::ITypeExpr *target,
385
+ ITypeProcStmt *body) = 0;
386
+
387
+ virtual ITypeProcStmtIfClause *mkTypeProcStmtIfClause(
388
+ vsc::dm::ITypeExpr *cond,
389
+ ITypeProcStmt *stmt) = 0;
390
+
391
+ virtual ITypeProcStmtIfElse *mkTypeProcStmtIfElse(
392
+ const std::vector<ITypeProcStmtIfClause *> &if_c,
393
+ ITypeProcStmt *else_c) = 0;
394
+
395
+ virtual ITypeProcStmtMatch *mkTypeProcStmtMatch(
396
+ vsc::dm::ITypeExpr *cond) = 0;
397
+
398
+ virtual ITypeProcStmtMatchChoice *mkTypeProcStmtMatchChoice(
399
+ vsc::dm::ITypeExprRangelist *cond,
400
+ ITypeProcStmt *body) = 0;
401
+
402
+ virtual ITypeProcStmtRepeat *mkTypeProcStmtRepeat(
403
+ vsc::dm::ITypeExpr *cond,
404
+ ITypeProcStmt *body) = 0;
405
+
406
+ virtual ITypeProcStmtRepeatWhile *mkTypeProcStmtRepeatWhile(
407
+ vsc::dm::ITypeExpr *cond,
408
+ ITypeProcStmt *body) = 0;
409
+
410
+ virtual ITypeProcStmtReturn *mkTypeProcStmtReturn(
411
+ vsc::dm::ITypeExpr *expr) = 0;
412
+
413
+ virtual ITypeProcStmtScope *mkTypeProcStmtScope() = 0;
414
+
415
+ virtual ITypeProcStmtScope *mkTypeProcStmtScope(
416
+ const std::vector<ITypeProcStmt *> &stmts
417
+ ) = 0;
418
+
419
+ virtual ITypeProcStmtVarDecl *mkTypeProcStmtVarDecl(
420
+ const std::string &name,
421
+ vsc::dm::IDataType *type,
422
+ bool own,
423
+ vsc::dm::ITypeExpr *init) = 0;
424
+
425
+ virtual ITypeProcStmtWhile *mkTypeProcStmtWhile(
426
+ vsc::dm::ITypeExpr *cond,
427
+ ITypeProcStmt *body) = 0;
428
+
429
+ virtual ITypeProcStmtYield *mkTypeProcStmtYield() = 0;
430
+
431
+ /**
432
+ * @brief Creates a new Val to hold a Python object.
433
+ *
434
+ * @param obj
435
+ * @return ValRefPyObj
436
+ */
437
+ virtual ValRefPyObj mkValPyObj(pyapi::PyEvalObj *obj) = 0;
438
+
439
+ };
440
+
441
+ }
442
+ }
443
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * IContextDumper.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 "zsp/arl/dm/IContext.h"
24
+
25
+ namespace zsp {
26
+ namespace arl {
27
+ namespace dm {
28
+
29
+
30
+ class IContextDumper;
31
+ using IContextDumperUP=vsc::dm::UP<IContextDumper>;
32
+ class IContextDumper {
33
+ public:
34
+
35
+ virtual ~IContextDumper() { }
36
+
37
+ virtual bool dumpContexTypes(IContext *ctxt) = 0;
38
+
39
+ virtual void close() = 0;
40
+
41
+ };
42
+
43
+ } /* namespace dm */
44
+ } /* namespace arl */
45
+ } /* namespace zsp */
46
+
47
+
@@ -0,0 +1,40 @@
1
+ /**
2
+ * IContextLoader.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
+
23
+ namespace zsp {
24
+ namespace arl {
25
+ namespace dm {
26
+
27
+
28
+
29
+ class IContextLoader {
30
+ public:
31
+
32
+ virtual ~IContextLoader() { }
33
+
34
+ };
35
+
36
+ } /* namespace dm */
37
+ } /* namespace arl */
38
+ } /* namespace zsp */
39
+
40
+
@@ -0,0 +1,43 @@
1
+ /*
2
+ * IDataTypeAction.h
3
+ *
4
+ * Created on: Apr 16, 2022
5
+ * Author: mballance
6
+ */
7
+
8
+ #pragma once
9
+ #include "zsp/arl/dm/IAccept.h"
10
+ #include "zsp/arl/dm/ITypeExec.h"
11
+ #include "zsp/arl/dm/ITypeFieldActivity.h"
12
+ #include "zsp/arl/dm/IDataTypeArlStruct.h"
13
+ #include "vsc/dm/ITypeFieldRef.h"
14
+
15
+ namespace zsp {
16
+ namespace arl {
17
+ namespace dm {
18
+
19
+
20
+ class IDataTypeComponent;
21
+
22
+ class IDataTypeAction;
23
+ using IDataTypeActionUP=vsc::dm::UP<IDataTypeAction>;
24
+ class IDataTypeAction : public virtual arl::dm::IDataTypeArlStruct {
25
+ public:
26
+
27
+ virtual IDataTypeComponent *getComponentType() = 0;
28
+
29
+ virtual void setComponentType(IDataTypeComponent *) = 0;
30
+
31
+ virtual vsc::dm::ITypeFieldRef *getCompField() const = 0;
32
+
33
+ virtual const std::vector<ITypeFieldActivityUP> &activities() const = 0;
34
+
35
+ virtual void addActivity(ITypeFieldActivity *activity) = 0;
36
+
37
+ virtual int32_t getActivityOffset() const = 0;
38
+
39
+ };
40
+
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,37 @@
1
+ /*
2
+ * IDataTypeActivity.h
3
+ *
4
+ * Created on: Jun 4, 2022
5
+ * Author: mballance
6
+ */
7
+
8
+ #pragma once
9
+ #include <memory>
10
+ #include "zsp/arl/dm/ITypeFieldActivity.h"
11
+ #include "vsc/dm/IDataTypeStruct.h"
12
+ #include "vsc/dm/IModelBuildContext.h"
13
+
14
+ namespace zsp {
15
+ namespace arl {
16
+ namespace dm {
17
+
18
+
19
+ class IModelActivity;
20
+
21
+ class IDataTypeActivity;
22
+ using IDataTypeActivityUP=vsc::dm::UP<IDataTypeActivity>;
23
+ class IDataTypeActivity : public virtual vsc::dm::IDataType {
24
+ public:
25
+
26
+ virtual ~IDataTypeActivity() { }
27
+
28
+ virtual IModelActivity *mkActivity(
29
+ vsc::dm::IModelBuildContext *ctxt,
30
+ ITypeFieldActivity *type) = 0;
31
+
32
+
33
+ };
34
+
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * IDataTypeActivityBind.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 <vector>
23
+ #include "zsp/arl/dm/IDataTypeActivity.h"
24
+ #include "vsc/dm/ITypeExprFieldRef.h"
25
+
26
+ namespace zsp {
27
+ namespace arl {
28
+ namespace dm {
29
+
30
+ class IDataTypeActivityBind;
31
+ using IDataTypeActivityBindUP=vsc::dm::UP<IDataTypeActivityBind>;
32
+ class IDataTypeActivityBind : public virtual IDataTypeActivity {
33
+ public:
34
+
35
+ virtual ~IDataTypeActivityBind() { }
36
+
37
+ virtual const std::vector<vsc::dm::ITypeExprFieldRefUP> &getTargets() const = 0;
38
+
39
+ };
40
+
41
+ }
42
+ }
43
+ }
44
+
45
+
@@ -0,0 +1,17 @@
1
+
2
+ #pragma once
3
+ #include "zsp/arl/dm/IDataTypeActivityScope.h"
4
+
5
+ namespace zsp {
6
+ namespace arl {
7
+ namespace dm {
8
+
9
+
10
+ class IDataTypeActivityParallel : public virtual IDataTypeActivityScope {
11
+ public:
12
+
13
+ };
14
+
15
+ }
16
+ }
17
+ }