macro dummy [a] {}
struc temp0 x,y,z {
dummy .
.a dd z
.b dd y
.c dq z
.. = $ - .a
}
struc temp1 x,y,z {
dummy .
.a temp0 x
.b dq y
.c dq z
.. = $ - .a.a
}
virtual
.abc temp1 <?,?,?>,?,?
end virtual
The present syntax requires full topology expression at invocation, or assembly-time checking. It would more convenient (imho) to allow default values for parameters at the preprocessor level.
macro dummy [a] {}
struc temp0 x=?,y=?,z=? {
dummy .
.a dd z
.b dd y
.c dq z
.. = $ - .a
}
struc temp1 x=?,y=?,z=? {
dummy .
.a temp0 x
.b dq y
.c dq z
.. = $ - .a.a
}
virtual
.abc temp1
end virtual
The amount of code required for this feature seems small since the preprocessor is already checking for "*". (Maybe a couple dozen lines - still working out the details.) AFAIK, it wouldn't interfere with present features/code.
Of course, the struct macros provide some of the functionality. Yet, there are workarounds being used because of lacking default parameters. For example, the "parm+0" for numerical values. Listings would look more "tidy" , imho.