zuspec-arl-dm 0.1.0.15264414400rc0__cp311-cp311-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.
- zsp_arl_dm/__build_num__.py +1 -0
- zsp_arl_dm/__init__.py +22 -0
- zsp_arl_dm/__version__.py +3 -0
- zsp_arl_dm/core.cpython-311-x86_64-linux-gnu.so +0 -0
- zsp_arl_dm/core.pxd +395 -0
- zsp_arl_dm/decl.pxd +317 -0
- zsp_arl_dm/libzsp-arl-dm.so +0 -0
- zsp_arl_dm/pkginfo.py +23 -0
- zsp_arl_dm/py_val_to_val_ref.py +46 -0
- zsp_arl_dm/share/include/TypeFieldAddrClaim.cpp +39 -0
- zsp_arl_dm/share/include/TypeFieldAddrClaim.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/FactoryExt.h +6 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IAccept.h +28 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IArl.h +30 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IComponentMap.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IContext.h +443 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IContextDumper.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IContextLoader.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAction.h +43 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivity.h +37 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityBind.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityParallel.h +17 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityReplicate.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivitySchedule.h +25 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityScope.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivitySequence.h +26 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityTraverse.h +33 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityTraverseType.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrClaim.h +42 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrClaimTransparent.h +42 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrHandle.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrSpaceC.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrSpaceTransparentC.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeArlStruct.h +51 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeComponent.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeCoreLibComponent.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFlowObj.h +36 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunction.h +115 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunctionImport.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunctionParamDecl.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePackedStruct.h +48 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePureComponent.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePyObj.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeReg.h +55 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeRegGroup.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeResource.h +22 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeTransparentAddrSpace.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IFactory.h +64 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IMarker.h +56 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivity.h +39 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityBind.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityParallel.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityReplicate.h +49 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivitySchedule.h +30 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityScope.h +52 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivitySequence.h +28 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityTraverse.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelBuildContext.h +36 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelComponentTreeData.h +92 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelEvalIterator.h +72 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelEvalIteratorListener.h +62 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelEvaluator.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelExec.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldAction.h +34 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldClaim.h +43 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldComponent.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldComponentRoot.h +51 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutor.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutorClaim.h +42 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutorGroup.h +50 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldInOut.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldPool.h +38 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegGroup.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegGroupRef.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegRef.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IPoolBindDirective.h +33 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IPyImport.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IRegGroup.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IRewriteContext.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IType.h +30 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeAction.h +25 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExec.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecGroup.h +50 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecProc.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecTargetTmpl.h +59 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprMethodCallContext.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprMethodCallStatic.h +49 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPureCompMethodCall.h +50 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPyImportRef.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonFieldRef.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonMethodCall.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonModuleRef.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonSubscript.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldActivity.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldAddrClaim.h +52 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldAddrClaimTransparent.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldClaim.h +27 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldExecutor.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldExecutorClaim.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldInOut.h +27 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldMethod.h +39 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldPool.h +29 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldReg.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegGroup.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegGroupArr.h +49 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegRef.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegVec.h +52 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeModelDumper.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmt.h +43 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtAssign.h +61 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtBreak.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtContinue.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtDeclScope.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtExpr.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtForeach.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtIfClause.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtIfElse.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtMatch.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtMatchChoice.h +48 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtRepeat.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtRepeatWhile.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtReturn.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtScope.h +62 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtVarDecl.h +50 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtWhile.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtYield.h +42 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IVisitor.h +246 -0
- zsp_arl_dm/share/include/zsp/arl/dm/TypeKindE.h +23 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ContextDelegator.h +549 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/CopyVisitor.h +204 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/IsResourcePool.h +55 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ModelBuildContext.h +52 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ModelEvalIteratorListenerBase.h +60 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/RewriteVisitorBase.h +346 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskActionHasMemClaim.h +76 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskCollectTopLevelActivities.h +63 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskFindExecutor.h +69 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetExprDataType.h +84 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetSubField.h +98 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetTypeBitWidth.h +76 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsDataTypeFlowObj.h +73 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsDataTypePyObj.h +55 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsPackedStruct.h +57 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsRefGroupRef.h +60 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsTypeFieldRegGroup.h +60 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsTypeFieldRegGroupArr.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskPackStruct2Int.h +80 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskUnpackInt2Struct.h +123 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitActionTypeClaimRef.h +70 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitModelFieldClaim.h +64 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitModelFieldInOut.h +64 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefAction.h +43 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefActivity.h +63 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefActivityScope.h +51 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefPyObj.h +75 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefRegGroup.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/VisitorBase.h +456 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/VisitorDelegator.h +356 -0
- zsp_arl_dm/share/include/zsp/arl/dm/loader.h +39 -0
- zsp_arl_dm/val_ref_to_py_val.py +58 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/METADATA +25 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/RECORD +166 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/WHEEL +6 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/entry_points.txt +2 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/licenses/LICENSE +201 -0
- 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
|
+
}
|