On Tue, 25 Sep 2007, Paolo Bonzini wrote: > > + Replace `%push-parser' and `%push-pull-parser' with > > + `%define push_pull "push"' and `%define push_pull "both"'. > > + `%define push_pull "pull"' is the default. > > Good idea. What about "%define interface" or "%define api" instead?
There are so many potential orthogonal issues related to interface/API. For example, I've been thinking that %pure-parser ought to be deprecated in favor of a %define variable as well. Impure vs. pure is orthogonal to pull vs. push. I've also been thinking that some %define variables could be organized in a sort of hierarchy. For example, in my offline work, I have stuff like `%define lr.default_rules' and `%define lr.lookahead_merging' to affect LR parser table construction. Maybe we should have something like: %define api.push_pull "push|pull|both" %define api.pure "true||false" What do you think?
