WIP: support self-referencing parameters in dependency tree parser
Adds support to !33 (merged) to allow self-referencing parameters.
Instead of building just a statement AST, as per !33 (merged), this adds parameters as nodes too. Building parameters separately from statements allows self-referencing parameters of the form m m1 R=1-&m1.T T=0.01
.
Before this can be merged, changes are needed to the parameter and model element code to handle this: see !40 (closed).
Details
The AST now looks like this:
The script that yields the above AST is:
var L 1
l L0 P=1
s s1 L0.p1 ITM.p1
m ITM R=1-&ITM.T T=0.01
s sCAV ITM.p2 ETM.p1 L=&L
m ETM R=&ITM.R T=&ITM.T
pd P ITM.p1.o
(Bug: the ITM.p1.o
should depend on ITM
)
Todo
-
Get dependency resolving working, including when parsing into an existing model -
Fix ITM.p1.o
bug