>
> Dear all,
>
> We are using Matt Needes' e2sr (v2.1.0+). We seem to have a
> name-mangling requirement which it doesn't handle and I wanted to check
> if we have misunderstood something.
>
> In some places we are using Capfast hierarchy purely for design
> presentation purposes and don't want the schematic name to contribute to
> the PV names. For example, suppose a.sch references sub-hierarchy h,
> which contains record x. We want the resultant name to be a:x rather
> than a:h:x (but we don't want to have to use name overrides for
> individual records).
>
> We see how this could be done by operating on the short report
> via sed (or the CEBAF name-mangling tool?), but feel that it would be
> better if e2sr did it directly. Perhaps there could be a special
> property on hierarchical symbols (e.g. h in the example above) to
> suppress and/or rename its contribution to overall PV names?
I think it is a great extension to the tool. I have been thinking
about this exact problem, and have made at least one step in this
direction. Here is my idea:
1. Use a property called name on each symbol to define its name. It would
act similarly to PV but would not concatenate the instance name onto itself.
The name property would instead be the VERBATIM name for the record.
2. Provide some "reserved" variables, such as hier and inst. ${inst} could
be the current instance name of the current primitive OR hierarchical symbol,
${hier} could refer to the standard name (colon separated, including the
trailing semi-colon) of the hierarchy up to that point. You can see that
a name=${hier}${inst} property on a symbol would preserve the old naming
scheme. This value of the name property will be default on all symbols,
even if the name property does not exist on the symbol.
3. Provide recursive variable substitutions. For example, you can define
a root-name for variable "dev" on a high level schematic. Then, as you run
down the hierarchy you can redefine "dev" in terms of itself, or redefine
"dev" in terms of other variables.
4. Finally, allow the "hier" variable to be overridden like any other
variable, and support hierarchical substitutions of hier, as in step 3.
Example:
To change the hierarchical naming separator from : to %, set the
hier property on all hierarchical symbols to be: ${hier}%${inst}.
(In this case ${inst} is the instance name of the HIERARCHICAL schematic,
and ${hier} refers to the value of the hier variable before this point
in the hierarchy.
Any other ideas ?
>
> If this is seen as a good idea, we could implement it (unless Matt
> Needes gets there first!).
Go for it ! The only progress I have made on this is to allow one level
of recursive variable substitution (meaning I can substitute on dev
property in terms of only one other one). I started doing this, and then
decided to think about it more before I added substitutions for an arbitrary
number of levels. I am currently working on an internals document for
the EDIF library, and perhaps an internals doc on e2sr as well.
Matt
- Replies:
- Re: e2sr name mangling watson
- Navigate by Date:
- Prev:
Fortran-CA interface F. Gougnaud
- Next:
REMOTE DEVELOPER NOTICE Matthew Needes
- Index:
1994
<1995>
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
e2sr name mangling William Lupton
- Next:
Re: e2sr name mangling watson
- Index:
1994
<1995>
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|