EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: MSI macro setting in substitutions file
From: Andrew Johnson <[email protected]>
To: <[email protected]>
Date: Fri, 14 Feb 2014 10:27:23 -0600
Hi Mike,

On 02/14/2014 02:54 AM, Ralph Lange wrote:
> On 13.02.2014 22:55, Westfall, Michael D wrote:
>> A question regarding MSI (Macro Substitution and Include) tool:
>>
>> Is there a way to set the value of a macro in the substitutions file
>> for later use without triggering an immediate substitution?
>> ...
>> Any tips for doing something like this with the existing tool?
> 
> global { SEX=Male }
> file xxx.template {
>       pattern {FNAME, LNAME}
>       {John, Smith}
>       {George, Jones}
>       {James, Taylor}
>       {Robert, Redford}
>       {Larry, Cableguy}
> }
> global { SEX=Female }
> file xxx.template {
>       pattern {FNAME, LNAME}
>       {Susan, Williams}
>       {Judy, Johnson}
>       {Melinda, Martin}
>       {Cathy, Lewis}
>       {Linda, Hall}
>    }

To explain a bit more, there have been a number of improvements made to
the msi program as part of importing it back into Base 3.15. There is
now a formal EBNF syntax definition for the substitutions file, and we
support global macros and optionally respect standard scoping rules. The
3.14 IOC (dbLoadTemplate command) does not understand the new keywords,
but the 3.15 IOC (currently still in development) does.

There is documentation for the new version of msi at
http://www.aps.anl.gov/epics/base/R3-15/0-docs/msi.html and the EBNF can
be found at
http://www.aps.anl.gov/epics/base/R3-15/0-docs/AppDevGuide/node7.html#SECTION007221000000000000000

Where can you find the source code for this version? The definitive
location is in the 3.15 Bazaar branch under src/ioc/dbtemplate
  https://code.launchpad.net/~epics-core/epics-base/3.15
but if you just want to download the source for that file it's at
http://bazaar.launchpad.net/~epics-core/epics-base/3.15/view/head:/src/ioc/dbtemplate/msi.c

Maybe we should update the code in the MSI extension to the new version,
but we haven't done that yet, sorry! You should be able to substitute
the msi.c file linked above into your existing extensions/src/msi
directory to build that though.

HTH,

- Andrew
-- 
Advertising may be described as the science of arresting the human
intelligence long enough to get money from it. -- Stephen Leacock

Replies:
Re: MSI macro setting in substitutions file Ralph Lange
References:
MSI macro setting in substitutions file Westfall, Michael D
Re: MSI macro setting in substitutions file Ralph Lange

Navigate by Date:
Prev: RE: record processing time Mark Rivers
Next: Re: record processing time Vishnu Patel
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: MSI macro setting in substitutions file Ralph Lange
Next: Re: MSI macro setting in substitutions file Ralph Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·