bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: feature tests and %before-header


From: Joel E. Denny
Subject: Re: feature tests and %before-header
Date: Tue, 17 Oct 2006 04:09:09 -0400 (EDT)

On Tue, 17 Oct 2006, Paolo Bonzini wrote:

> Well, yes (one caveat is that a name-prefix of "YY" would create a class named
> "YYParser" right now, but that is no big deal).

I just took a closer look at the C++ skeletons.  This is how you specify 
the name of the parser class there:

  %define "parser_class_name" "MyParser"

This frees %name-prefix completely for the package.

> But if Bison had to create multiple files, it would just copy over the
> %code-top and/or %requires to all the files.

You seem to be assuming that the other files would necessarily be in the 
same package.  Maybe that's a valid assumption.  If not, Bison would need 
to qualify references to the parser class: mypkg.mysubpkg.MyParser.  
Obviously, it's a little hard to predict the future here, but it seems 
wise to make information available to Bison when possible.

> > Isn't it considered bad practice (poor encapsulation) not to declare a
> > package?
> 
> I'm not suggesting having no package -- but the user should specify it
> manually anyway, no matter if in a code block (%{...%}, %code-top, %requires)
> or as a %name-prefix.  Having one more "mandatory" directive (%name-prefix to
> specify the package) in the grammar file makes things more complex than
> necessary, IMO.

Sorry, I just meant that a package directive would be common.  I didn't 
mean that Bison should make it mandatory.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]