Dump bison

Eric S. Raymond esr at thyrsus.com
Tue Jun 19 18:28:23 UTC 2018

Hal Murray <hmurray at megapathdsl.net>:
> esr at thyrsus.com said:
> > What I think one needs for a test harness is the ability to dump the parse
> > tree structure in a textual form.  Changing parser generators won't give us
> > that. What really matters is whether our target language has introspection
> > capability and dynamic dump code. 
> Is there a parse tree?  I thought the parser called out when it had enough 
> info to build a chunk of the tree.  I think that chunk is either a final leaf 
> node or one level up, a node with several parameters.

How deep the parse tree goes before a call-out varies depending on
what part of the configuration you're looking at.  You're right, there
isn't one big parse tree. I spoke loosely.

> My expectation is that we would write a collection of dummy called-out 
> routines that printed out the parameters rather than building ntpd's 
> equivalent of a chunk of the parse tree.

I thought about that back when I was looking at this code.  Concluded
it wouldn't be that useful to (effectively) just dump the input tokens
with a slightly different syntax.

If you think this was a mistake, I'm open to argument.

> >> When we ripped that stuff out, why didn't we add something better?
> > Because it wasn't actually used in the unit tests anywhere.  I concluded from
> > this that it was probably broken and nobody had had the round tuits to fix it
> > or remove it. So I removed it. 
> There was a script that fed it a config file, wrote it out, and diffed them.  
> It wasn't integrated with either the test harness or with waf check, but it 
> worked.

I didn't know that.

Still, the fact that it wasn't integrated into the regular tests gives
me to doubt that the capability was actually useful.  And...It didn't *look*
like good code; it looked like an over-clever, over-elaborate hack.  That
kind of thing always makes my delete finger itchy.
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

My work is funded by the Internet Civil Engineering Institute: https://icei.org
Please visit their site and donate: the civilization you save might be your own.

More information about the devel mailing list