EPICS Home

Experimental Physics and Industrial Control System


 
2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: DBD/DB validator?
From: Andrew Johnson <[email protected]>
To: EPICS core-talk <[email protected]>
Date: Thu, 23 Apr 2015 18:49:45 -0500
Switching to core-talk for development discussion...

On 04/23/2015 11:55 AM, Michael Davidsaver wrote:
> The complicate is that all the parsers in Base are designed to work on
> full definitions.

Yup, and in 3.15 dbStaticLib can't load any record instances until after
the call to RegisterRecordDeviceDriver() either, so you can only use it
to write tools which must be given all the record types in advance. The
3.14 dbStaticHost library didn't have the registration requirement (see
src/dbStatic/dbStaticNoRun.c) but you still had to load the record types
before it could read any record instances.

> dbdExpand.pl from 3.15 doesn't recognize the "record" keyword.

I've just added support for record parsing to the Perl parser, and a
dbExpand.pl script that outputs just the record instances. This won't
solve the above issue though, it still requires you to load the record
type definitions before it will accept any instances of those records.
Not committed yet, I should probably push this out on a branch for
review first.

> So I can see two courses.
> 
> 1) Modify the makefiles so that the validator can be given .dbd file(s)
> as well.  This would allow (an updated) "dbdExpand ... >/dev/null" to
> serve as a check.

Ralph also wants to be able to standardize his DB files, for which
dbdExpand.pl would be no use, but my new dbExpand.pl script could help
with that.

> 2) Write a new utility which parses, but doesn't follow include
> statements, then does as much checking as possible.

It looks like several people have already done that. I don't agree with
you about the include statements though.


- Andrew
-- 
Light thinks it travels faster than anything but it is wrong.
No matter how fast light travels, it finds the darkness has
always got there first, and is waiting for it.
    -- Terry Pratchett, Reaper Man

Navigate by Date:
Prev: Build failed in Jenkins: epics-base-3.16-cyg64 #22 APS Jenkins
Next: Re: EPICS Base R3.15.2-pre1 available Ralph Lange
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Jenkins build is back to stable : epics-base-3.15-win32s #168 APS Jenkins
Next: Build failed in Jenkins: epics-base-3.15-cyg64 #196 APS Jenkins
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024