zuspec-dataclasses 0.0.1.6340113986__py2.py3-none-any.whl → 0.0.1.6365096825__py2.py3-none-any.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_dataclasses/impl/context.py +67 -0
- zsp_dataclasses/impl/ctor.py +16 -0
- zsp_dataclasses/impl/generators/zsp_data_model_cpp_gen.py +121 -4
- zsp_dataclasses/impl/method_proxy_fn.py +40 -6
- zsp_dataclasses/impl/pyctxt/context.py +63 -2
- zsp_dataclasses/impl/pyctxt/data_type_action.py +10 -0
- zsp_dataclasses/impl/pyctxt/data_type_arl_struct.py +8 -12
- zsp_dataclasses/impl/pyctxt/data_type_function.py +7 -0
- zsp_dataclasses/impl/pyctxt/type_exec.py +38 -0
- zsp_dataclasses/impl/pyctxt/type_proc_stmt_expr.py +34 -0
- zsp_dataclasses/impl/pyctxt/type_proc_stmt_scope.py +45 -0
- zsp_dataclasses/impl/pyctxt/visitor_base.py +12 -1
- zsp_dataclasses/impl/type_info.py +29 -2
- zsp_dataclasses/impl/typeinfo_action.py +4 -0
- zsp_dataclasses/impl/typeinfo_component.py +11 -0
- zsp_dataclasses/shared_stmts.py +1 -0
- zsp_dataclasses/util/gen_cpp_dt_defs/__main__.py +4 -3
- {zuspec_dataclasses-0.0.1.6340113986.dist-info → zuspec_dataclasses-0.0.1.6365096825.dist-info}/METADATA +1 -1
- {zuspec_dataclasses-0.0.1.6340113986.dist-info → zuspec_dataclasses-0.0.1.6365096825.dist-info}/RECORD +22 -19
- {zuspec_dataclasses-0.0.1.6340113986.dist-info → zuspec_dataclasses-0.0.1.6365096825.dist-info}/LICENSE +0 -0
- {zuspec_dataclasses-0.0.1.6340113986.dist-info → zuspec_dataclasses-0.0.1.6365096825.dist-info}/WHEEL +0 -0
- {zuspec_dataclasses-0.0.1.6340113986.dist-info → zuspec_dataclasses-0.0.1.6365096825.dist-info}/top_level.txt +0 -0
zsp_dataclasses/impl/context.py
CHANGED
@@ -88,6 +88,20 @@ class ParamDir(IntEnum):
|
|
88
88
|
Out = auto()
|
89
89
|
InOut = auto()
|
90
90
|
|
91
|
+
class TypeProcStmtScope(object):
|
92
|
+
|
93
|
+
def addStatement(self, s):
|
94
|
+
raise NotImplementedError("addStatement")
|
95
|
+
|
96
|
+
def addVariable(self, v):
|
97
|
+
raise NotImplementedError("addVariable")
|
98
|
+
|
99
|
+
def getStatements(self):
|
100
|
+
raise NotImplementedError("getStatements")
|
101
|
+
|
102
|
+
def getVariables(self):
|
103
|
+
raise NotImplementedError("getVariables")
|
104
|
+
|
91
105
|
class TypeProcStmtVarDecl(object):
|
92
106
|
|
93
107
|
def name(self) -> str:
|
@@ -117,6 +131,12 @@ class DataTypeFunction(vsc_ctxt.DataType):
|
|
117
131
|
def addParameter(self, p : DataTypeFunctionParamDecl):
|
118
132
|
raise NotImplementedError("DataTypeFunction.addParameter")
|
119
133
|
|
134
|
+
def getBody(self):
|
135
|
+
raise NotImplementedError("getBody")
|
136
|
+
|
137
|
+
def setBody(self, b):
|
138
|
+
raise NotImplementedError("setBody")
|
139
|
+
|
120
140
|
def addImportSpec(self, spec : 'DataTypeFunctionImport'):
|
121
141
|
raise NotImplementedError("addImportSpec")
|
122
142
|
|
@@ -156,6 +176,21 @@ class ModelFieldComponent(vsc_ctxt.ModelField):
|
|
156
176
|
class PoolBindKind(IntEnum):
|
157
177
|
All = 0
|
158
178
|
|
179
|
+
class ExecKindT(IntEnum):
|
180
|
+
Body = auto()
|
181
|
+
InitDown = auto()
|
182
|
+
InitUp = auto()
|
183
|
+
PreSolve = auto()
|
184
|
+
PostSolve = auto()
|
185
|
+
|
186
|
+
class TypeExec(object):
|
187
|
+
|
188
|
+
def getKind(self) -> ExecKindT:
|
189
|
+
raise NotImplementedError("getKind")
|
190
|
+
|
191
|
+
def getBody(self):
|
192
|
+
raise NotImplementedError("getBody")
|
193
|
+
|
159
194
|
class TypeExprMethodCallStatic(vsc_ctxt.TypeExpr):
|
160
195
|
|
161
196
|
def getTarget(self) -> DataTypeFunction:
|
@@ -169,6 +204,12 @@ class TypeFieldActivity(vsc_ctxt.TypeField):
|
|
169
204
|
def mkActivity(self, ctxt : ModelBuildContext):
|
170
205
|
raise NotImplementedError("mkActivity")
|
171
206
|
|
207
|
+
class TypeProcStmtExpr(object):
|
208
|
+
|
209
|
+
def getExpr() -> vsc_ctxt.TypeExpr:
|
210
|
+
raise NotImplementedError("getExpr")
|
211
|
+
|
212
|
+
|
172
213
|
class Context(vsc.impl.Context):
|
173
214
|
|
174
215
|
def findDataTypeAction(self, name) -> 'DataTypeAction':
|
@@ -211,6 +252,21 @@ class Context(vsc.impl.Context):
|
|
211
252
|
is_target : bool,
|
212
253
|
is_solve : bool):
|
213
254
|
raise NotImplementedError("mkDataTypeFunction")
|
255
|
+
|
256
|
+
def addDataTypeFunction(self, f):
|
257
|
+
raise NotImplementedError("addDataTypeFunction")
|
258
|
+
|
259
|
+
def getDataTypeFunctions(self):
|
260
|
+
raise NotImplementedError("getDataTypeFunctions")
|
261
|
+
|
262
|
+
def findDataTypeFunction(self, name):
|
263
|
+
raise NotImplementedError("findDataTypeFunction")
|
264
|
+
|
265
|
+
def mkDataTypeFunctionImport(self,
|
266
|
+
lang,
|
267
|
+
is_target,
|
268
|
+
is_solve):
|
269
|
+
raise NotImplementedError("mkDataTypeFunctionImport")
|
214
270
|
|
215
271
|
def mkDataTypeFunctionParamDecl(self,
|
216
272
|
name,
|
@@ -220,6 +276,11 @@ class Context(vsc.impl.Context):
|
|
220
276
|
init : vsc_ctxt.TypeExpr) -> DataTypeFunctionParamDecl:
|
221
277
|
raise NotImplementedError("mkDataTypeFunctionParamDecl")
|
222
278
|
|
279
|
+
def mkTypeExec(self,
|
280
|
+
kind,
|
281
|
+
body):
|
282
|
+
raise NotImplementedError("mkTypeExec")
|
283
|
+
|
223
284
|
def mkTypeExprMethodCallStatic(self,
|
224
285
|
target : DataTypeFunction,
|
225
286
|
params : List[vsc_ctxt.TypeExpr]):
|
@@ -228,5 +289,11 @@ class Context(vsc.impl.Context):
|
|
228
289
|
def mkTypeFieldActivity(self, name, type : 'DataTypeActivity', owned):
|
229
290
|
raise NotImplementedError("mkTypeFieldActivity")
|
230
291
|
|
292
|
+
def mkTypeProcStmtScope(self):
|
293
|
+
raise NotImplementedError("mkTypeProcStmtScope")
|
294
|
+
|
295
|
+
def mkTypeProcStmtExpr(self, expr):
|
296
|
+
raise NotImplementedError("mkTypeProcStmtExpr")
|
297
|
+
|
231
298
|
|
232
299
|
pass
|
zsp_dataclasses/impl/ctor.py
CHANGED
@@ -33,6 +33,7 @@ class Ctor(object):
|
|
33
33
|
self._component_l = []
|
34
34
|
self._action_typeinfo_m = {}
|
35
35
|
self._activity_s = []
|
36
|
+
self._proc_scope_s = []
|
36
37
|
|
37
38
|
pass
|
38
39
|
|
@@ -132,6 +133,21 @@ class Ctor(object):
|
|
132
133
|
self._activity_l.clear()
|
133
134
|
return ret
|
134
135
|
|
136
|
+
def push_proc_scope(self, s):
|
137
|
+
self._proc_scope_s.append(s)
|
138
|
+
|
139
|
+
def proc_scope(self):
|
140
|
+
return self._proc_scope_s[-1]
|
141
|
+
|
142
|
+
def pop_proc_scope(self):
|
143
|
+
from vsc_dataclasses.impl.ctor import Ctor
|
144
|
+
vsc_ctor = Ctor.inst()
|
145
|
+
ps = self._proc_scope_s.pop()
|
146
|
+
|
147
|
+
for e in vsc_ctor.pop_exprs():
|
148
|
+
ps.addStatement(self._ctxt.mkTypeProcStmtExpr(e.model))
|
149
|
+
return ps
|
150
|
+
|
135
151
|
def push_activity_scope_mi(self, s_mi):
|
136
152
|
from vsc_dataclasses.impl import Ctor as VscCtor
|
137
153
|
VscCtor.inst().push_bottom_up_scope(s_mi)
|
@@ -20,19 +20,58 @@
|
|
20
20
|
#*
|
21
21
|
#****************************************************************************
|
22
22
|
|
23
|
+
import zsp_dataclasses.impl.context as ctxt_api
|
23
24
|
from vsc_dataclasses.impl.generators.vsc_data_model_cpp_gen import VscDataModelCppGen
|
24
25
|
from vsc_dataclasses.impl.pyctxt.data_type_struct import DataTypeStruct
|
25
|
-
from ..context import DataTypeAction, DataTypeComponent
|
26
|
+
from ..context import DataTypeAction, DataTypeComponent, DataTypeFunction, TypeExec, TypeExprMethodCallStatic, TypeProcStmtExpr, TypeProcStmtScope
|
26
27
|
from ..pyctxt.visitor_base import VisitorBase
|
27
28
|
|
28
29
|
class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
|
29
30
|
|
30
31
|
def __init__(self):
|
31
32
|
VscDataModelCppGen.__init__(self)
|
33
|
+
self._define_func = False
|
32
34
|
pass
|
33
35
|
|
34
|
-
def generate(self,
|
36
|
+
def generate(self,
|
37
|
+
root_comp : DataTypeComponent,
|
38
|
+
root_action : DataTypeAction,
|
39
|
+
functions):
|
35
40
|
# TODO: likely need both root component and action type
|
41
|
+
if functions is not None and len(functions) > 0:
|
42
|
+
# First, declare all functions
|
43
|
+
self._define_func = False
|
44
|
+
for f in functions:
|
45
|
+
self.println("{")
|
46
|
+
self.inc_indent()
|
47
|
+
f.accept(self)
|
48
|
+
self.dec_indent()
|
49
|
+
self.println("}")
|
50
|
+
self._define_func = True
|
51
|
+
for f in functions:
|
52
|
+
self.println("{")
|
53
|
+
self.inc_indent()
|
54
|
+
self.println("zsp::arl::dm::IDataTypeFunction *%s_t = %s->findDataTypeFunction(\"%s\");" % (
|
55
|
+
f.name(),
|
56
|
+
self._ctxt,
|
57
|
+
f.name()))
|
58
|
+
if len(f.getImportSpecs()) > 0:
|
59
|
+
self.println("%s_t->addImportSpec(" % (self.leaf_name(f.name())))
|
60
|
+
self.inc_indent()
|
61
|
+
self.println("%s->mkDataTypeFunctionImport(\"%s\", false, false)" % (
|
62
|
+
self._ctxt,
|
63
|
+
"X",
|
64
|
+
))
|
65
|
+
self.dec_indent()
|
66
|
+
self.println(");")
|
67
|
+
else:
|
68
|
+
self.println("%s_t->setBody(" % f.name())
|
69
|
+
self.inc_indent()
|
70
|
+
f.getBody().accept(self)
|
71
|
+
self.dec_indent()
|
72
|
+
self.println(");")
|
73
|
+
self.dec_indent()
|
74
|
+
self.println("}")
|
36
75
|
|
37
76
|
# Should result in RootComp and RootAction type handles
|
38
77
|
self.println("{")
|
@@ -78,6 +117,27 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
|
|
78
117
|
self.println("%s->addDataTypeComponent(%s_t);" % (
|
79
118
|
self._ctxt,
|
80
119
|
self.leaf_name(i.name())))
|
120
|
+
|
121
|
+
def visitDataTypeFunction(self, i: DataTypeFunction):
|
122
|
+
if self._define_func:
|
123
|
+
if len(i.getImportSpecs()) == 0:
|
124
|
+
i.getBody().accept(self)
|
125
|
+
else:
|
126
|
+
self.println("zsp::arl::dm::IDataTypeFunction *%s_t = %s->mkDataTypeFunction(" % (
|
127
|
+
i.name(),
|
128
|
+
self._ctxt))
|
129
|
+
self.inc_indent()
|
130
|
+
self.println("\"%s\"," % i.name())
|
131
|
+
if i.getReturnType() is None:
|
132
|
+
self.println("0,")
|
133
|
+
else:
|
134
|
+
self._emit_type_mode += 1
|
135
|
+
i.getReturnType().accept(self)
|
136
|
+
self._emit_type_mode -= 1
|
137
|
+
self.println("false") # own_rtype
|
138
|
+
self.dec_indent()
|
139
|
+
self.println(");")
|
140
|
+
self.println("%s->addDataTypeFunction(%s_t);" % (self._ctxt, i.name()))
|
81
141
|
|
82
142
|
def visitTypeConstraint(self, i : 'TypeConstraint'):
|
83
143
|
pass
|
@@ -89,6 +149,23 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
|
|
89
149
|
def visitTypeConstraintExpr(self, i : 'TypeConstraintExpr'):
|
90
150
|
i.expr().accept(self)
|
91
151
|
|
152
|
+
def visitTypeExec(self, i: TypeExec):
|
153
|
+
exec_kind_m = {
|
154
|
+
ctxt_api.ExecKindT.Body : "zsp::arl::dm::ExecKindT::Body",
|
155
|
+
ctxt_api.ExecKindT.PreSolve : "zsp::arl::dm::ExecKindT::PreSolve",
|
156
|
+
ctxt_api.ExecKindT.PostSolve : "zsp::arl::dm::ExecKindT::PostSolve",
|
157
|
+
}
|
158
|
+
self.println("%s_t->addExec(%s->mkTypeExecProc(" % (
|
159
|
+
self.leaf_name(self._type_s[-1].name()),
|
160
|
+
self._ctxt
|
161
|
+
))
|
162
|
+
self.inc_indent()
|
163
|
+
self.println("%s," % exec_kind_m[i.getKind()])
|
164
|
+
self.inc_indent()
|
165
|
+
i.getBody().accept(self)
|
166
|
+
self.dec_indent()
|
167
|
+
self.println("));")
|
168
|
+
|
92
169
|
def visitTypeExprBin(self, i : 'TypeExprBin'):
|
93
170
|
i._lhs.accept(self)
|
94
171
|
i._rhs.accept(self)
|
@@ -96,6 +173,23 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
|
|
96
173
|
def visitTypeExprFieldRef(self, i : 'TypeExprFieldRef'):
|
97
174
|
pass
|
98
175
|
|
176
|
+
def visitTypeExprMethodCallStatic(self, i: TypeExprMethodCallStatic):
|
177
|
+
self.println("%s->mkTypeExprMethodCallStatic(" % self._ctxt)
|
178
|
+
self.inc_indent()
|
179
|
+
self.println("%s->findDataTypeFunction(\"%s\")," % (
|
180
|
+
self._ctxt,
|
181
|
+
i.getTarget().name()))
|
182
|
+
self.println("{")
|
183
|
+
self.inc_indent()
|
184
|
+
for ii,p in enumerate(i.getParameters()):
|
185
|
+
self.push_comma(ii+1 < len(i.getParameters()))
|
186
|
+
p.accept(self)
|
187
|
+
self.pop_comma()
|
188
|
+
self.dec_indent()
|
189
|
+
self.println("}")
|
190
|
+
self.dec_indent()
|
191
|
+
self.println(")%s" % self.comma())
|
192
|
+
|
99
193
|
# def visitTypeField(self, i : 'TypeField'):
|
100
194
|
# super().visitTypeFieldPhy(i)
|
101
195
|
# pass
|
@@ -122,7 +216,7 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
|
|
122
216
|
i.name()
|
123
217
|
))
|
124
218
|
else:
|
125
|
-
self.println("{")
|
219
|
+
self.println("{ // Declare action type %s" % i.name())
|
126
220
|
self.inc_indent()
|
127
221
|
self.println("zsp::arl::dm::IDataTypeAction *%s_t = %s->mkDataTypeAction(\"%s\");" % (
|
128
222
|
self.leaf_name(i.name()),
|
@@ -130,10 +224,13 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
|
|
130
224
|
i.name()))
|
131
225
|
self._type_s.append(i)
|
132
226
|
for f in i.getFields():
|
133
|
-
f.
|
227
|
+
if f.name() != "comp":
|
228
|
+
f.accept(self)
|
134
229
|
for c in i.getConstraints():
|
135
230
|
c.accept(self)
|
136
231
|
for e in i.getExecs():
|
232
|
+
print("Exec: %s" % str(e))
|
233
|
+
e.accept(self)
|
137
234
|
pass
|
138
235
|
self._type_s.pop()
|
139
236
|
self.println("%s_t->setComponentType(%s_t);" % (
|
@@ -149,5 +246,25 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
|
|
149
246
|
self.dec_indent()
|
150
247
|
self.println("}")
|
151
248
|
|
249
|
+
def visitTypeProcStmtExpr(self, i: TypeProcStmtExpr):
|
250
|
+
self.println("%s->mkTypeProcStmtExpr(" % self._ctxt)
|
251
|
+
self.inc_indent()
|
252
|
+
self.push_comma(False)
|
253
|
+
i.getExpr().accept(self)
|
254
|
+
self.pop_comma()
|
255
|
+
self.dec_indent()
|
256
|
+
self.println(")%s" % self.comma())
|
257
|
+
|
258
|
+
def visitTypeProcStmtScope(self, i: TypeProcStmtScope):
|
259
|
+
self.println("%s->mkTypeProcStmtScope({" % self._ctxt)
|
260
|
+
self.inc_indent()
|
261
|
+
for ii,s in enumerate(i.getStatements()):
|
262
|
+
self.push_comma(ii+1 < len(i.getStatements()))
|
263
|
+
s.accept(self)
|
264
|
+
self.pop_comma()
|
265
|
+
self.dec_indent()
|
266
|
+
self.println("})%s" % self.comma())
|
267
|
+
|
268
|
+
|
152
269
|
|
153
270
|
|
@@ -36,9 +36,19 @@ class MethodProxyFn(typeworks.MethodProxy):
|
|
36
36
|
from .ctor import Ctor
|
37
37
|
ctxt = Ctor.inst().ctxt()
|
38
38
|
|
39
|
-
|
40
|
-
|
41
|
-
|
39
|
+
print("elab_decl: %s" % self.T.__name__)
|
40
|
+
|
41
|
+
self._libobj = ctxt.mkDataTypeFunction(
|
42
|
+
typeworks.localname(self.T),
|
43
|
+
None,
|
44
|
+
False,
|
45
|
+
False,
|
46
|
+
False)
|
47
|
+
ctxt.addDataTypeFunction(self._libobj)
|
48
|
+
|
49
|
+
if self._is_import:
|
50
|
+
self._libobj.addImportSpec(
|
51
|
+
ctxt.mkDataTypeFunctionImport("", False, False))
|
42
52
|
|
43
53
|
# TODO: need to resolve types for rtype and parameters
|
44
54
|
|
@@ -46,15 +56,39 @@ class MethodProxyFn(typeworks.MethodProxy):
|
|
46
56
|
pass
|
47
57
|
|
48
58
|
def elab_body(self):
|
59
|
+
from .ctor import Ctor
|
60
|
+
|
61
|
+
print("elab_body: %s" % self.T.__name__)
|
62
|
+
|
49
63
|
if self._is_import:
|
50
|
-
from .ctor import Ctor
|
51
64
|
print("Elab: %s" % typeworks.localname(self.T))
|
52
65
|
else:
|
53
66
|
pass
|
54
67
|
pass
|
55
68
|
|
56
69
|
def __call__(self, *args, **kwargs):
|
57
|
-
|
58
|
-
|
70
|
+
from vsc_dataclasses.impl.ctor import Ctor as VscCtor
|
71
|
+
from vsc_dataclasses.impl.expr import Expr as VscExpr
|
72
|
+
vsc_ctor = VscCtor.inst()
|
73
|
+
from .ctor import Ctor
|
74
|
+
ctor = Ctor.inst()
|
75
|
+
print("__call__ %s %s" % (ctor.is_type_mode(), vsc_ctor.is_type_mode()))
|
76
|
+
|
77
|
+
if vsc_ctor.is_type_mode():
|
78
|
+
print("Function call in type mode")
|
79
|
+
params = []
|
80
|
+
for a in args:
|
81
|
+
e = VscExpr.toExpr(a)
|
82
|
+
e = vsc_ctor.pop_expr(e)
|
83
|
+
print("Expr: %s" % str(e.model))
|
84
|
+
params.append(e.model)
|
85
|
+
call_expr = ctor.ctxt().mkTypeExprMethodCallStatic(
|
86
|
+
self._libobj,
|
87
|
+
params)
|
88
|
+
return VscExpr(call_expr)
|
89
|
+
else:
|
90
|
+
# TODO:
|
91
|
+
raise Exception("Illegal to invoke function outside type mode")
|
92
|
+
return self.T(*args, *kwargs)
|
59
93
|
|
60
94
|
|
@@ -1,15 +1,23 @@
|
|
1
1
|
|
2
|
+
from typing import List
|
2
3
|
import zsp_dataclasses.impl.context as ctxt_api
|
3
4
|
import vsc_dataclasses.impl.context as vsc_ctxt
|
4
5
|
import vsc_dataclasses.impl.pyctxt as vsc_pyctxt
|
6
|
+
|
5
7
|
from .data_type_action import DataTypeAction
|
6
8
|
from .data_type_component import DataTypeComponent
|
7
9
|
from .data_type_activity_replicate import DataTypeActivityReplicate
|
8
10
|
from .data_type_activity_sequence import DataTypeActivitySequence
|
9
11
|
from .data_type_activity_traverse import DataTypeActivityTraverse
|
12
|
+
from .data_type_function import DataTypeFunction
|
13
|
+
from .data_type_function_import import DataTypeFunctionImport
|
10
14
|
from .data_type_function_param_decl import DataTypeFunctionParamDecl
|
15
|
+
from .type_exec import TypeExec
|
16
|
+
from .type_expr_method_call_static import TypeExprMethodCallStatic
|
11
17
|
from .type_field_activity import TypeFieldActivity
|
12
18
|
from .type_proc_stmt_var_decl import TypeProcStmtVarDecl
|
19
|
+
from .type_proc_stmt_expr import TypeProcStmtExpr
|
20
|
+
from .type_proc_stmt_scope import TypeProcStmtScope
|
13
21
|
|
14
22
|
|
15
23
|
class Context(vsc_pyctxt.Context,ctxt_api.Context):
|
@@ -18,6 +26,8 @@ class Context(vsc_pyctxt.Context,ctxt_api.Context):
|
|
18
26
|
super().__init__()
|
19
27
|
self._action_t_m = {}
|
20
28
|
self._comp_t_m = {}
|
29
|
+
self._data_t_func_m = {}
|
30
|
+
self._data_t_func_l = []
|
21
31
|
|
22
32
|
def findDataTypeAction(self, name) -> 'DataTypeAction':
|
23
33
|
if name in self._action_t_m.keys():
|
@@ -66,8 +76,21 @@ class Context(vsc_pyctxt.Context,ctxt_api.Context):
|
|
66
76
|
own_rtype : bool,
|
67
77
|
is_target : bool,
|
68
78
|
is_solve : bool):
|
69
|
-
return DataTypeFunction(name,
|
70
|
-
|
79
|
+
return DataTypeFunction(name, rtype)
|
80
|
+
|
81
|
+
def addDataTypeFunction(self, f):
|
82
|
+
if f.name() not in self._data_t_func_m.keys():
|
83
|
+
self._data_t_func_m[f.name()] = f
|
84
|
+
self._data_t_func_l.append(f)
|
85
|
+
|
86
|
+
def getDataTypeFunctions(self):
|
87
|
+
return self._data_t_func_l
|
88
|
+
|
89
|
+
def mkDataTypeFunctionImport(self,
|
90
|
+
lang,
|
91
|
+
is_target,
|
92
|
+
is_solve):
|
93
|
+
return DataTypeFunctionImport(lang, is_target, is_solve)
|
71
94
|
|
72
95
|
def mkDataTypeFunctionParamDecl(self,
|
73
96
|
name,
|
@@ -76,11 +99,49 @@ class Context(vsc_pyctxt.Context,ctxt_api.Context):
|
|
76
99
|
own : bool,
|
77
100
|
init : vsc_ctxt.TypeExpr) -> ctxt_api.DataTypeFunctionParamDecl:
|
78
101
|
return DataTypeFunctionParamDecl(name, dir, type, own, init)
|
102
|
+
|
103
|
+
def mkTypeExec(self,
|
104
|
+
kind,
|
105
|
+
body):
|
106
|
+
return TypeExec(kind, body)
|
79
107
|
|
80
108
|
|
81
109
|
def mkTypeFieldActivity(self, name, type : 'DataTypeActivity', owned):
|
82
110
|
return TypeFieldActivity(name, type)
|
83
111
|
|
112
|
+
def mkTypeFieldPhy(self,
|
113
|
+
name,
|
114
|
+
dtype : 'DataType',
|
115
|
+
own_dtype : bool,
|
116
|
+
attr,
|
117
|
+
init : 'ModelVal') -> 'TypeFieldPhy':
|
118
|
+
print("mkTypeFieldPhy: %s" % name)
|
119
|
+
if name.endswith(".Entry"):
|
120
|
+
raise Exception("Creating action-named field")
|
121
|
+
else:
|
122
|
+
return super().mkTypeFieldPhy(name, dtype, own_dtype, attr, init)
|
123
|
+
|
124
|
+
def mkTypeFieldRef(self,
|
125
|
+
name,
|
126
|
+
dtype : 'DataType',
|
127
|
+
attr) -> 'TypeFieldRef':
|
128
|
+
print("mkTypeFieldRef: %s" % name)
|
129
|
+
if name.endswith(".Entry"):
|
130
|
+
raise Exception("Creating action-named field")
|
131
|
+
else:
|
132
|
+
return super().mkTypeFieldRef(name, dtype, attr)
|
133
|
+
|
134
|
+
def mkTypeExprMethodCallStatic(self,
|
135
|
+
target: DataTypeFunction,
|
136
|
+
params: List[vsc_ctxt.TypeExpr]):
|
137
|
+
return TypeExprMethodCallStatic(target, params)
|
138
|
+
|
139
|
+
def mkTypeProcStmtExpr(self, expr):
|
140
|
+
return TypeProcStmtExpr(expr)
|
141
|
+
|
84
142
|
def mkTypeProcStmtVarDecl(self, name, type, init):
|
85
143
|
return TypeProcStmtVarDecl(name, type, init)
|
144
|
+
|
145
|
+
def mkTypeProcStmtScope(self):
|
146
|
+
return TypeProcStmtScope()
|
86
147
|
|
@@ -16,16 +16,26 @@ class DataTypeAction(ctxt_api.DataTypeAction,DataTypeArlStruct):
|
|
16
16
|
"comp",
|
17
17
|
None,
|
18
18
|
vsc_ctxt.TypeFieldAttr.NoAttr))
|
19
|
+
print("Field: %s (%s)" % (self.getField(0).name(), type(self.getField(0)).__qualname__))
|
19
20
|
|
20
21
|
def getComponentType(self) -> 'DataTypeComponent':
|
21
22
|
return self._comp_t
|
22
23
|
|
23
24
|
def setComponentType(self, t : 'DataTypeComponent'):
|
25
|
+
print("setComponent")
|
26
|
+
print("Field: %s (%s)" % (self.getField(0).name(), type(self.getField(0)).__qualname__))
|
24
27
|
self.getField(0).setDataType(t)
|
25
28
|
self._comp_t = t
|
29
|
+
pass
|
26
30
|
|
27
31
|
def getCompField(self) -> 'vsc_ctxt.TypeFieldRef':
|
28
32
|
return self._fields[0]
|
33
|
+
|
34
|
+
def addField(self, f: 'TypeField'):
|
35
|
+
print("DataTypeAction.addField %s" % f.name())
|
36
|
+
if f.name().endswith(".Entry"):
|
37
|
+
raise Exception("Bad addition")
|
38
|
+
return super().addField(f)
|
29
39
|
|
30
40
|
def addActivity(self, activity : 'TypeFieldActivity'):
|
31
41
|
self._activities.append(activity)
|
@@ -19,28 +19,24 @@
|
|
19
19
|
#* Author:
|
20
20
|
#*
|
21
21
|
#****************************************************************************
|
22
|
-
|
22
|
+
import zsp_dataclasses.impl.context as ctxt_api
|
23
23
|
from vsc_dataclasses.impl.pyctxt.data_type_struct import DataTypeStruct
|
24
24
|
|
25
|
-
class DataTypeArlStruct(DataTypeArlStruct,DataTypeStruct):
|
25
|
+
class DataTypeArlStruct(ctxt_api.DataTypeArlStruct, DataTypeStruct):
|
26
26
|
|
27
27
|
def __init__(self, name):
|
28
28
|
DataTypeStruct.__init__(self, name)
|
29
|
-
self.
|
30
|
-
|
29
|
+
self._exec_l = []
|
30
|
+
pass
|
31
31
|
|
32
32
|
def addExec(self, exec : 'TypeExec'):
|
33
|
-
self.
|
33
|
+
self._exec_l.append(exec)
|
34
34
|
|
35
35
|
def getExecs(self):
|
36
|
-
return self.
|
36
|
+
return self._exec_l
|
37
37
|
|
38
38
|
def addFunction(self, f : 'DataTypeFunction'):
|
39
|
-
|
39
|
+
raise NotImplementedError("addFunction")
|
40
40
|
|
41
41
|
def getFunctions(self):
|
42
|
-
|
43
|
-
|
44
|
-
def accept(self, v):
|
45
|
-
v.visitDataTypeArlStruct(self)
|
46
|
-
|
42
|
+
raise NotImplementedError("getFunctions")
|
@@ -30,6 +30,7 @@ class DataTypeFunction(object):
|
|
30
30
|
self._name = name
|
31
31
|
self._rtype = rtype
|
32
32
|
self._params = []
|
33
|
+
self._body = None
|
33
34
|
self._imp_specs = []
|
34
35
|
|
35
36
|
def name(self):
|
@@ -44,6 +45,12 @@ class DataTypeFunction(object):
|
|
44
45
|
def addParameter(self, p : 'DataTypeFunctionParamDecl'):
|
45
46
|
self._params.append(p)
|
46
47
|
|
48
|
+
def getBody(self):
|
49
|
+
return self._body
|
50
|
+
|
51
|
+
def setBody(self, b):
|
52
|
+
self._body = b
|
53
|
+
|
47
54
|
def addImportSpec(self, spec : 'DataTypeFunctionImport'):
|
48
55
|
self._imp_specs.append(spec)
|
49
56
|
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* type_exec.py
|
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
|
+
#****************************************************************************
|
22
|
+
import zsp_dataclasses.impl.context as ctxt_api
|
23
|
+
from zsp_dataclasses.impl.context import ExecKindT
|
24
|
+
|
25
|
+
class TypeExec(ctxt_api.TypeExec):
|
26
|
+
|
27
|
+
def __init__(self, kind, body):
|
28
|
+
self._kind = kind
|
29
|
+
self._body = body
|
30
|
+
|
31
|
+
def getKind(self) -> ExecKindT:
|
32
|
+
return self._kind
|
33
|
+
|
34
|
+
def getBody(self):
|
35
|
+
return self._body
|
36
|
+
|
37
|
+
def accept(self, v):
|
38
|
+
v.visitTypeExec(self)
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* type_proc_stmt_expr.py
|
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
|
+
#****************************************************************************
|
22
|
+
|
23
|
+
import zsp_dataclasses.impl.context as ctxt_api
|
24
|
+
|
25
|
+
class TypeProcStmtExpr(ctxt_api.TypeProcStmtExpr):
|
26
|
+
|
27
|
+
def __init__(self, expr):
|
28
|
+
self._expr = expr
|
29
|
+
|
30
|
+
def getExpr(self):
|
31
|
+
return self._expr
|
32
|
+
|
33
|
+
def accept(self, v):
|
34
|
+
v.visitTypeProcStmtExpr(self)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* type_proc_stmt_scope.py
|
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
|
+
#****************************************************************************
|
22
|
+
import zsp_dataclasses.impl.context as ctxt_api
|
23
|
+
|
24
|
+
class TypeProcStmtScope(ctxt_api.TypeProcStmtScope):
|
25
|
+
|
26
|
+
def __init__(self):
|
27
|
+
self._statements = []
|
28
|
+
self._variables = []
|
29
|
+
|
30
|
+
def addStatement(self, s):
|
31
|
+
self._statements.append(s)
|
32
|
+
|
33
|
+
def addVariable(self, v):
|
34
|
+
self._variables.append(v)
|
35
|
+
|
36
|
+
def getStatements(self):
|
37
|
+
return self._statements
|
38
|
+
|
39
|
+
def getVariables(self):
|
40
|
+
return self._variables
|
41
|
+
|
42
|
+
def accept(self, v):
|
43
|
+
v.visitTypeProcStmtScope(self)
|
44
|
+
|
45
|
+
|
@@ -24,7 +24,8 @@ from vsc_dataclasses.impl.pyctxt.visitor_base import VisitorBase as VscVisitorBa
|
|
24
24
|
from ..context import DataTypeAction, DataTypeActivity, DataTypeActivityScope
|
25
25
|
from ..context import DataTypeActivityTraverse
|
26
26
|
from ..context import DataTypeComponent, DataTypeArlStruct, DataTypeFunction, DataTypeFunctionParamDecl
|
27
|
-
from ..context import TypeExprMethodCallStatic, TypeProcStmtVarDecl
|
27
|
+
from ..context import TypeExprMethodCallStatic, TypeProcStmtExpr, TypeProcStmtVarDecl
|
28
|
+
from ..context import TypeExec, TypeProcStmtScope
|
28
29
|
|
29
30
|
class VisitorBase(VscVisitorBase):
|
30
31
|
|
@@ -66,11 +67,21 @@ class VisitorBase(VscVisitorBase):
|
|
66
67
|
def visitDataTypeFunctionParamDecl(self, i : DataTypeFunctionParamDecl):
|
67
68
|
self.visitTypeProcStmtVarDecl(i)
|
68
69
|
|
70
|
+
def visitTypeExec(self, i : TypeExec):
|
71
|
+
i.getBody().accept(self)
|
72
|
+
|
69
73
|
def visitTypeExprMethodCallStatic(self, i : TypeExprMethodCallStatic):
|
70
74
|
i.getTarget().accept(self)
|
71
75
|
for p in i.getParameters():
|
72
76
|
p.accept(self)
|
73
77
|
|
78
|
+
def visitTypeProcStmtExpr(self, i : TypeProcStmtExpr):
|
79
|
+
i.getExpr().accept(self)
|
80
|
+
|
81
|
+
def visitTypeProcStmtScope(self, i : TypeProcStmtScope):
|
82
|
+
for s in i.getStatements():
|
83
|
+
s.accept(self)
|
84
|
+
|
74
85
|
def visitTypeProcStmtVarDecl(self, i : TypeProcStmtVarDecl):
|
75
86
|
i.getDataType().accept(self)
|
76
87
|
if i.getInit() is not None:
|
@@ -5,6 +5,7 @@ Created on Apr 4, 2022
|
|
5
5
|
'''
|
6
6
|
import dataclasses
|
7
7
|
import vsc_dataclasses.impl as vsc_impl
|
8
|
+
import zsp_dataclasses.impl.context as ctxt_api
|
8
9
|
from typing import Dict, List, Tuple
|
9
10
|
from .exec_kind_e import ExecKindE
|
10
11
|
from .exec_group import ExecGroup
|
@@ -37,6 +38,7 @@ class TypeInfo(vsc_impl.TypeInfoRandClass):
|
|
37
38
|
self._function_l : List[MethodProxyFn] = []
|
38
39
|
|
39
40
|
def addExec(self, exec_t : ExecType):
|
41
|
+
print("TypeInfo.addExec")
|
40
42
|
if exec_t.kind not in self._exec_m.keys():
|
41
43
|
self._exec_m[exec_t.kind] = ExecGroup(exec_t.kind)
|
42
44
|
self._exec_m[exec_t.kind].add_exec(exec_t)
|
@@ -81,13 +83,38 @@ class TypeInfo(vsc_impl.TypeInfoRandClass):
|
|
81
83
|
|
82
84
|
def _elabExecs(self, obj):
|
83
85
|
from .ctor import Ctor
|
86
|
+
exec_kind_m = {
|
87
|
+
ExecKindE.Body : ctxt_api.ExecKindT.Body,
|
88
|
+
ExecKindE.InitDown : ctxt_api.ExecKindT.InitDown,
|
89
|
+
ExecKindE.InitUp : ctxt_api.ExecKindT.InitUp,
|
90
|
+
ExecKindE.PreSolve : ctxt_api.ExecKindT.PreSolve,
|
91
|
+
ExecKindE.PostSolve : ctxt_api.ExecKindT.PostSolve
|
92
|
+
}
|
84
93
|
|
85
94
|
ctxt = Ctor.inst().ctxt()
|
86
95
|
for kind in self._exec_m.keys():
|
87
96
|
print("Elaborating exec-kind %s" % str(kind))
|
97
|
+
root_scope = None
|
98
|
+
scope = None
|
88
99
|
for e in self._exec_m[kind].execs:
|
89
|
-
|
90
|
-
|
100
|
+
print(" Exec %s" % str(e))
|
101
|
+
if scope is not None:
|
102
|
+
if root_scope is None:
|
103
|
+
root_scope = ctxt.mkTypeProcStmtScope()
|
104
|
+
root_scope.addStatement(scope)
|
105
|
+
scope = ctxt.mkTypeProcStmtScope()
|
106
|
+
Ctor.inst().push_proc_scope(scope)
|
107
|
+
e.func(obj)
|
108
|
+
Ctor.inst().pop_proc_scope()
|
109
|
+
|
110
|
+
if root_scope is not None:
|
111
|
+
root_scope.addStatement(scope)
|
112
|
+
if root_scope is not None:
|
113
|
+
self._lib_typeobj.addExec(
|
114
|
+
ctxt.mkTypeExec(exec_kind_m[kind], root_scope))
|
115
|
+
else:
|
116
|
+
self._lib_typeobj.addExec(
|
117
|
+
ctxt.mkTypeExec(exec_kind_m[kind], scope))
|
91
118
|
|
92
119
|
def _elabFields(self):
|
93
120
|
from .rand_t import RandT
|
@@ -38,10 +38,14 @@ class TypeInfoAction(TypeInfo):
|
|
38
38
|
|
39
39
|
def elab(self, obj):
|
40
40
|
print("TypeInfoAction.elab")
|
41
|
+
print("Field[0]=%s" % self.lib_typeobj.getField(0).name())
|
41
42
|
self.lib_typeobj.setComponentType(self.component_ti.lib_typeobj)
|
43
|
+
print("Field[0]=%s" % self.lib_typeobj.getField(0).name())
|
42
44
|
super().elab(obj)
|
45
|
+
print("Field[0]=%s" % self.lib_typeobj.getField(0).name())
|
43
46
|
|
44
47
|
self.elabActivities(obj)
|
48
|
+
print("Field[0]=%s" % self.lib_typeobj.getField(0).name())
|
45
49
|
pass
|
46
50
|
|
47
51
|
def addActivity(self, activity_t):
|
@@ -21,6 +21,7 @@
|
|
21
21
|
#****************************************************************************
|
22
22
|
import vsc_dataclasses.impl as vsc_impl
|
23
23
|
import vsc_dataclasses.impl.context as vsc_ctxt
|
24
|
+
from vsc_dataclasses.impl.ctor import Ctor as VscCtor
|
24
25
|
|
25
26
|
from .modelinfo_component import ModelInfoComponent
|
26
27
|
|
@@ -97,6 +98,8 @@ class TypeInfoComponent(TypeInfo):
|
|
97
98
|
self._invokeInit(obj)
|
98
99
|
|
99
100
|
def _invokeInit(self, obj):
|
101
|
+
ctor = Ctor.inst()
|
102
|
+
vsc_ctor = vsc_impl.Ctor.inst()
|
100
103
|
ctxt = RtCtxt.inst()
|
101
104
|
|
102
105
|
typeinfo : TypeInfoComponent = obj._modelinfo._typeinfo
|
@@ -107,7 +110,14 @@ class TypeInfoComponent(TypeInfo):
|
|
107
110
|
|
108
111
|
ctxt.push_exec_group(exec_g)
|
109
112
|
for e in exec_g.execs:
|
113
|
+
# Push stmt scope to put
|
114
|
+
print("--> push_proc_scope")
|
115
|
+
ctor.push_proc_scope(None)
|
110
116
|
e.func(obj)
|
117
|
+
ctor.pop_proc_scope()
|
118
|
+
print("<-- pop_proc_scope")
|
119
|
+
|
120
|
+
# for le in vsc_ctor.pop_expr()
|
111
121
|
ctxt.pop_exec_group()
|
112
122
|
|
113
123
|
for comp_mi in obj._modelinfo.component_fields:
|
@@ -167,6 +177,7 @@ class TypeInfoComponent(TypeInfo):
|
|
167
177
|
vsc_ctor.pop_scope()
|
168
178
|
|
169
179
|
print("<-- TypeInfoComponent.elab %s %d" % (self.info.T.__name__, len(vsc_ctor._scope_s)))
|
180
|
+
print("Field[0]=%s" % self._action_t[0].lib_typeobj.getField(0).name())
|
170
181
|
|
171
182
|
def addActionT(self, a):
|
172
183
|
self._action_t.append(a)
|
zsp_dataclasses/shared_stmts.py
CHANGED
@@ -86,9 +86,10 @@ def main():
|
|
86
86
|
gen = ZspDataModelCppGen()
|
87
87
|
gen._ctxt = "m_ctxt"
|
88
88
|
with open(header_path, "w") as fp:
|
89
|
-
fp.write(gen.generate(
|
90
|
-
|
91
|
-
|
89
|
+
fp.write(gen.generate(
|
90
|
+
root_comp,
|
91
|
+
root_action,
|
92
|
+
Ctor.inst().ctxt().getDataTypeFunctions()))
|
92
93
|
|
93
94
|
if args.depfile is not None:
|
94
95
|
with open(args.depfile, "w") as fp:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zuspec-dataclasses
|
3
|
-
Version: 0.0.1.
|
3
|
+
Version: 0.0.1.6365096825
|
4
4
|
Summary: Front-end for capturing Action Relation Level models using dataclasses
|
5
5
|
Home-page: https://github.com/zuspec/zuspec-dataclasses
|
6
6
|
Author: Matthew Ballance
|
@@ -3,7 +3,7 @@ zsp_dataclasses/activity_stmts.py,sha256=UjXG4-j_XsRyMq68qkhBRv6EhdHx4-G4ZpknVja
|
|
3
3
|
zsp_dataclasses/claims_refs.py,sha256=pxQEJf4jDEP6LP0Qn1yz1H1IPz0Js2JFcUcWbKfLYew,483
|
4
4
|
zsp_dataclasses/core_lib.py,sha256=XCE210ZpPsJzP1NZ0L6aWNa-jyUu6iWzT7NZQ3MpkEw,1061
|
5
5
|
zsp_dataclasses/decorators.py,sha256=LPjWaPyY_y9NALj3cbs9zHc-jNVNErdYzqdm6OM7T3U,5954
|
6
|
-
zsp_dataclasses/shared_stmts.py,sha256=
|
6
|
+
zsp_dataclasses/shared_stmts.py,sha256=LWLZEqSqWp6pdBVM2JrMc2UvLg1N4OwEWXGM_cKA57U,6145
|
7
7
|
zsp_dataclasses/types.py,sha256=4vkNqnn_NE8EwByAWcVexjIwXfbKF0tbzuUQYqj0aZE,354
|
8
8
|
zsp_dataclasses/impl/__init__.py,sha256=8QR6sFeZsEInPOeKswViD7vKt5qssIucbngAT8JfgC0,24
|
9
9
|
zsp_dataclasses/impl/action_decl.py,sha256=sOfUnE4xBurFPghfxqh9yHxUL9FzOqgOgtnqjUv_mic,105
|
@@ -29,8 +29,8 @@ zsp_dataclasses/impl/component_base.py,sha256=EMkIv4crlwTDVUo4kNP3oOzQcMJ__Ah1Z1
|
|
29
29
|
zsp_dataclasses/impl/component_decorator_impl.py,sha256=1IK5-fYw8IYP8t55FYqMnmdzcFQqq0Kv6dH8pkGgMrI,6267
|
30
30
|
zsp_dataclasses/impl/component_impl.py,sha256=_FEaLbmsha1xWySpbMlmf782cX0v2865meFYyx2hSL4,4758
|
31
31
|
zsp_dataclasses/impl/constraint_impl.py,sha256=qEbh7cBRjEOULEEpgX8cqSvNuIDfbKYwG2kZovHdIWQ,190
|
32
|
-
zsp_dataclasses/impl/context.py,sha256=
|
33
|
-
zsp_dataclasses/impl/ctor.py,sha256=
|
32
|
+
zsp_dataclasses/impl/context.py,sha256=1zKagVTAvCIRTnRw0ioqBll1gv4G8l_A2f4STzPbhvs,9283
|
33
|
+
zsp_dataclasses/impl/ctor.py,sha256=wAc5LVj0Da_qgKlAOlMpkXBtx-NOvgN_0MJdxqflKb4,7224
|
34
34
|
zsp_dataclasses/impl/ctor_scope.py,sha256=HsWpJqE6eQl0--aWPLm11WEzuFF3CKHc7S_P89PeZX4,956
|
35
35
|
zsp_dataclasses/impl/decorator_impl_base.py,sha256=2g9PgX2WKDqdlQW4HhCa_Ayfm9-b9LIbQrJh_T0dOdg,3817
|
36
36
|
zsp_dataclasses/impl/do_impl.py,sha256=IGajJ-sAOR9noOdXcb2SrboE0g9YS6MNaWkyPWLLf14,1597
|
@@ -54,7 +54,7 @@ zsp_dataclasses/impl/input_meta_t.py,sha256=bQeK2CaOlltSleGvwdOkUenxyMKf7AE0LYZj
|
|
54
54
|
zsp_dataclasses/impl/input_output_t.py,sha256=QNWp8aEg_0T-sSDQAlcU5G-TKZJw-sM-UJ8ChplSe_E,440
|
55
55
|
zsp_dataclasses/impl/lock_meta_t.py,sha256=xsAlVUwW5VVj61aTwCSzz0jAtBC6S11gan3nwTT3IuI,502
|
56
56
|
zsp_dataclasses/impl/lock_share_t.py,sha256=ewgVyUwAbc7fSWxasb_52fO70JrBpgmNgEMGL4b2g-E,574
|
57
|
-
zsp_dataclasses/impl/method_proxy_fn.py,sha256=
|
57
|
+
zsp_dataclasses/impl/method_proxy_fn.py,sha256=v0-mun9F52Sygi5KYa9iP-6Zw_Ta619dGy2EzwrQn9w,2919
|
58
58
|
zsp_dataclasses/impl/modelinfo_activity.py,sha256=ymJMpoXT8mnG1vq-BZNNcPbrBgYsieEMJMx-mtb8ZZ0,267
|
59
59
|
zsp_dataclasses/impl/modelinfo_component.py,sha256=JFievD4qHH6avu1Mc5ZQ0CGF9gyMSbYigl0bSLmUi0k,353
|
60
60
|
zsp_dataclasses/impl/obj_base.py,sha256=mRGs3UOUBOoxq5yS8Ed_Ug4sShxW3aS2OULjbxqqi9E,935
|
@@ -68,12 +68,12 @@ zsp_dataclasses/impl/rt_ctxt.py,sha256=DSvaI3P-7Q2anoj6IGMdz1hwJRCjBwbdyjcQW8NMZ
|
|
68
68
|
zsp_dataclasses/impl/share_meta_t.py,sha256=LrakSQeWQfrJ_VRIfjjDiC8nThdnn05MKgfVaqJfcr0,506
|
69
69
|
zsp_dataclasses/impl/struct_decorator_impl.py,sha256=W5IwBKzQok51lxAJnlewAk9dpoLCVkmvbJpcELKt-yk,1739
|
70
70
|
zsp_dataclasses/impl/struct_kind_e.py,sha256=gUrxFdT8YnK0NrMSKuHFIPIBHl7Q7y4BGRU1dvYrDo8,216
|
71
|
-
zsp_dataclasses/impl/type_info.py,sha256=
|
71
|
+
zsp_dataclasses/impl/type_info.py,sha256=Um61SeNhTc08JRszXSn_3yU2sZVeMu44cEqUHsggbU8,8798
|
72
72
|
zsp_dataclasses/impl/type_kind_e.py,sha256=3EqUEeQrtmQMGPcXGKnuA1dFDMu46lN40BHQzSsuCLI,330
|
73
|
-
zsp_dataclasses/impl/typeinfo_action.py,sha256=
|
73
|
+
zsp_dataclasses/impl/typeinfo_action.py,sha256=Bu-M-49IwXXxPHObp1V2FwWdR2QrtXgzxIlWgeKjpjw,4302
|
74
74
|
zsp_dataclasses/impl/typeinfo_claim.py,sha256=TlN200FoSakB-hqpNPY-ZjZq9BeVsXNnawAFtLU26So,1775
|
75
75
|
zsp_dataclasses/impl/typeinfo_comp_ref.py,sha256=Y1ek3i2k9Clf3GrINEb6uo_P79PX5jUUPzBAYWwQ3IM,952
|
76
|
-
zsp_dataclasses/impl/typeinfo_component.py,sha256=
|
76
|
+
zsp_dataclasses/impl/typeinfo_component.py,sha256=vIQE6NB-b6ubGQpiQvD0tXe7UEDBHZP9dPFtaweykgg,7080
|
77
77
|
zsp_dataclasses/impl/typeinfo_extend_action.py,sha256=Z9SjpxpzphaSIcJsqiK1G0aTHR2Kp0CSFOJQY2loZrY,1682
|
78
78
|
zsp_dataclasses/impl/typeinfo_extend_base.py,sha256=l_u6K0xE7KD6MYhSW2-hJJvwd0rwjEial_JBdGk8fcM,1723
|
79
79
|
zsp_dataclasses/impl/typeinfo_flow_obj.py,sha256=g64ZoQ4o4_xIcVwqQdunopp6OBwFbLeohaIFM0Ut4EE,451
|
@@ -81,28 +81,31 @@ zsp_dataclasses/impl/typeinfo_flow_obj_ref.py,sha256=NhNwKY2Qp6umQWgPRpAyqLPQsjX
|
|
81
81
|
zsp_dataclasses/impl/typeinfo_pool.py,sha256=-fbPtyoiorI1GwEKxXEn6Birxq4WJCNn_0exAwTAIdw,443
|
82
82
|
zsp_dataclasses/impl/typeinfo_struct.py,sha256=JF-1NJGaNxgm6aTEkNHPEx230yMXExnORLlJIHe4KBI,333
|
83
83
|
zsp_dataclasses/impl/generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
84
|
-
zsp_dataclasses/impl/generators/zsp_data_model_cpp_gen.py,sha256=
|
85
|
-
zsp_dataclasses/impl/pyctxt/context.py,sha256=
|
86
|
-
zsp_dataclasses/impl/pyctxt/data_type_action.py,sha256=
|
84
|
+
zsp_dataclasses/impl/generators/zsp_data_model_cpp_gen.py,sha256=BzHQeT3x0SbqeIipb2zE4K5Fhyvt8sJAewV3SiCswKg,9819
|
85
|
+
zsp_dataclasses/impl/pyctxt/context.py,sha256=KWcgCABeDSRre5de6HHpmuqUmpb6vzLppz2DZPGQD60,5223
|
86
|
+
zsp_dataclasses/impl/pyctxt/data_type_action.py,sha256=v5DR7eFqov0_iPMhLE30meuqMM98YQ0VcMV7_P1FPas,1622
|
87
87
|
zsp_dataclasses/impl/pyctxt/data_type_activity_replicate.py,sha256=RE3uNEAjs-FeeThN-KClneFCXWAfTuefaA0Fhlui_38,1298
|
88
88
|
zsp_dataclasses/impl/pyctxt/data_type_activity_scope.py,sha256=u_Lg2p_bUUydtXq7l0Ah45FvurJ2M68R29Ez0QJBEeg,1404
|
89
89
|
zsp_dataclasses/impl/pyctxt/data_type_activity_sequence.py,sha256=k97zrkLTEpP9cFG8auBlZ4LVkITb8JYlEnsoO9DTPwo,1090
|
90
90
|
zsp_dataclasses/impl/pyctxt/data_type_activity_traverse.py,sha256=naSl1YL8zG1PNdtBsdt4cpdiNxbyUsjoo_OP6T7ZyII,1432
|
91
|
-
zsp_dataclasses/impl/pyctxt/data_type_arl_struct.py,sha256=
|
91
|
+
zsp_dataclasses/impl/pyctxt/data_type_arl_struct.py,sha256=nw-Z2J5NesoNkWxQAp1o52nvg2kRNdYdf0iY8nZruUY,1466
|
92
92
|
zsp_dataclasses/impl/pyctxt/data_type_component.py,sha256=w6S3GUmQ_AKxEz-wLYfhF4Hv7SP-X5Zf_556VQyL7Ok,1122
|
93
|
-
zsp_dataclasses/impl/pyctxt/data_type_function.py,sha256=
|
93
|
+
zsp_dataclasses/impl/pyctxt/data_type_function.py,sha256=JpY63pYzeB7sjDer40MDBzUw6VB39X4Ts2ZwbLzOh28,1840
|
94
94
|
zsp_dataclasses/impl/pyctxt/data_type_function_import.py,sha256=hZmhCukuDiz2jo0Vvc4VtI3IhfmodYbVQP47G-LQDyk,1228
|
95
95
|
zsp_dataclasses/impl/pyctxt/data_type_function_param_decl.py,sha256=rAel2RQX7Zc_NlqH0RP6JLWsny1kF50_dexcUDFE9-M,1277
|
96
96
|
zsp_dataclasses/impl/pyctxt/model_field_component.py,sha256=GP9BjIde7pBamGgMx56dY0dd2CG5kSzQZSIpaoHVoQw,1180
|
97
|
+
zsp_dataclasses/impl/pyctxt/type_exec.py,sha256=Un9cst7m--P65lvNQ7iNssGU1CNimM0N6yBRyfwg0Dk,1225
|
97
98
|
zsp_dataclasses/impl/pyctxt/type_expr_method_call_static.py,sha256=5c9lMjPEGrb0m_G9OMAK_QZL6AytKE4isPmtO4O5KrQ,1365
|
98
99
|
zsp_dataclasses/impl/pyctxt/type_field_activity.py,sha256=SFpdm_fOQgE1F3qKTM9gU9ocnG4ZxFmtwkdb0Mi3F_A,1286
|
100
|
+
zsp_dataclasses/impl/pyctxt/type_proc_stmt_expr.py,sha256=V2UsVyGI9bExvZ2Eqz3wNJ39LMC_3EXICo6JZsenV0c,1115
|
101
|
+
zsp_dataclasses/impl/pyctxt/type_proc_stmt_scope.py,sha256=TfbqEcHgLOlKn7M99IDnwzTjkhhp0wxcMaca5X57JwY,1355
|
99
102
|
zsp_dataclasses/impl/pyctxt/type_proc_stmt_var_decl.py,sha256=gHmRGhPQDQeN2F4dZ7FBY7-HhF5t1ZDMd16_EakYhHg,1306
|
100
|
-
zsp_dataclasses/impl/pyctxt/visitor_base.py,sha256
|
103
|
+
zsp_dataclasses/impl/pyctxt/visitor_base.py,sha256=G5DiaYlfULVmOyRLnIV4m1Gb70FeX65U5_lMV7foLHk,3135
|
101
104
|
zsp_dataclasses/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
102
105
|
zsp_dataclasses/util/extract_cpp_embedded_dsl.py,sha256=SyMMLumZD6fsubj40hyekYzWyrcoUGTijJH3NmK1ihY,5630
|
103
|
-
zsp_dataclasses/util/gen_cpp_dt_defs/__main__.py,sha256=
|
104
|
-
zuspec_dataclasses-0.0.1.
|
105
|
-
zuspec_dataclasses-0.0.1.
|
106
|
-
zuspec_dataclasses-0.0.1.
|
107
|
-
zuspec_dataclasses-0.0.1.
|
108
|
-
zuspec_dataclasses-0.0.1.
|
106
|
+
zsp_dataclasses/util/gen_cpp_dt_defs/__main__.py,sha256=LdfPAEzhMPtW1Ie15A5pmYAlL8DQFj-l7Pbey3EJiJg,3391
|
107
|
+
zuspec_dataclasses-0.0.1.6365096825.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
108
|
+
zuspec_dataclasses-0.0.1.6365096825.dist-info/METADATA,sha256=aJ8acCMq9O6_hcZ4SwO7_ZNlCRj0vQ8dQ9l6TfgfvgI,499
|
109
|
+
zuspec_dataclasses-0.0.1.6365096825.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110
|
110
|
+
zuspec_dataclasses-0.0.1.6365096825.dist-info/top_level.txt,sha256=BHigRYcGvNv_xCJUUv5OXgSPSoczsH3Tle0gABks4l0,16
|
111
|
+
zuspec_dataclasses-0.0.1.6365096825.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|