On 09/08/2010 03:54 PM, Benjamin Franksen wrote:
On Tuesday, September 07, 2010, Ben Franksen wrote:
I am now convinced that the global definitions I proposed earlier have
been a mistake and apologize for having presented them prematurely. The
solution using static scopes (as sketched above) is clearly superior
I attached a complete (but rather terse) description of syntax and semantics
that follows the mentioned sketch. Nested scopes are allowed, but (to keep
things simple) not inside file blocks. I am not wedded to this or any other
concrete detail; consider it as a request for comments.
I think we can move discussion to [email protected] from here on, so
please direct your replies there (unless you think it is of interest to a
wider audience).
Cheers
Ben
Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Hahn-Meitner-Platz 1, 14109 Berlin
Vorsitzende des Aufsichtsrates: Prof. Dr. Dr. h.c. mult. Joachim Treusch
Stellvertretende Vorsitzende: Dr. Beatrix Vierkorn-Rudolph Geschäftsführer: Prof. Dr. Anke Rita Kaysser-Pyzalla, Prof. Dr. Dr. h.c. Wolfgang Eberhardt, Dr. Ulrich Breuer
Sitz der Gesellschaft: Berlin Handelsregister: AG Charlottenburg, 89 HRB 5583
Disclaimer automatically attached by the E-Mail Security Appliance
mail0.bessy.de 09/08/10 at Helmholtz-Zentrum Berlin GmbH.
Hi,
I would just like to mention that the discussion about msi here and with
Benjamin brought about the idea to implement msi in python.
Pymsi implements substitution files as python statements. By this
substitution
files may contain any python code aside from the usual "file" statements.
Here is a link to the documentation:
http://www-csr.bessy.de/control/pymsi/pymsi.html
Here is the download link:
http://www-csr.bessy.de/control/pymsi/dist/pymsi-1.01.tar.gz
And here is the command to clone our repository:
hg clone http://www-csr.bessy.de/control/pymsi/pymsi-hg pymsi
This is the main project page:
http://www-csr.bessy.de/control/pymsi
Here is a short example:
do(
file("adimovhgbl.template",
subst(
DESCVAR="adimovhgbl_ins.mac",
GBASE="U3IV:",
DRV="V",
AdiMopVer="9",
TRIG1="U3IV:AdiVGblPvr.PROC",
TRIG2="U3IV:AdiVGblMvr.PROC",
),
subst(
DESCVAR="adimovhgbl_ins.mac",
GBASE="U3IV:",
DRV="H",
AdiMopVer="9",
TRIG1="U3IV:AdiHGblPvr.PROC",
TRIG2="U3IV:AdiHGblMvr.PROC",
),
pattern(
("GBASE","DRV","AdiMopVer","TRIG1","TRIG2"),
("U3IV","C","9","U3IV:AdiCGblPvr.PROC", "U3IV:AdiCGblMvr.PROC"),
("U3IV","P","9","U3IV:AdiPGblPvr.PROC", "U3IV:AdiPGblMvr.PROC"),
),
),
file("adimogbl.template",
subst(
DESCVAR="adimogbl_ins.mac",
GBASE="U3IV:",
TRIG1="U3IV:AdiMoVGblTrg.PROC",
TRIG2="U3IV:AdiMoHGblTrg.PROC",
TRIG3="",
TRIG4="",
),
),
)
Features of the package are:
* uses the EPICS maclib, so macro substitution is compatible with msi.
* substitution files are parseble by python, so all the features and
powers of
the python scripting language are available.
* Scopes of macro definitions are well defined.
* The pymsi language (the format of the substitution files) can easily be
extended.
* conversion tool for conversion from old substitution file format included.
* Free to use for non-commercial applications
Greetings
Goetz Pfeiffer
--
Dipl. Ing. Götz Pfeiffer
Software Engineer - Insertion Device Control
Helmholtz Zentrum Berlin für Materialien und Energie GmbH
Elektronenspeicherring BESSY II
Albert-Einstein-Str. 15, 12489 Berlin
[email protected]
[email protected]
Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Hahn-Meitner-Platz 1, 14109 Berlin
- References:
- Re: msi again Benjamin Franksen
- Navigate by Date:
- Prev:
[Merge] lp:~epics-core/epics-base/apple-ios into lp:epics-base Andrew Johnson
- Next:
Channel Access and Virtual IPs Ernest L. Williams Jr.
- Index:
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:
Re: msi again Ben Franksen
- Next:
Latest R3.14 branch: build problem with vxWorks 6.8 Ernest L. Williams Jr.
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
<2010>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|