Open ratmice opened 2 years ago
Oops, I missed this one entirely! I think I'm broadly in favour of this, though we'd have to define what happens if a user specifies YaccGrammarKind
and the grammar specifices %grammar-kind
. Probably "specifying YaccGrammarKind
overrides %grammar-kind
" is reasonable?
Yeah, that seems like the logical/reasonable choice to me, I'll look into an exploratory patch for it.
Before I try and come up with a patch, I figured it would be good to discuss this in an issue, I was considering potentially adding a declaration
%grammar-kind Original(NoAction)
, etcOne of the problems with this is that it is likely that we want to parse the value by just using
Deserialize
on theYaccGrammarKind
, this would at least be the easiest way. But it brings about a few issuescfgrammar
has Optional deserialization support, so if we deserialized that way%grammar-kind
would only work with serde feature enabled. Alternately we could just implement this by hand instead of serde?%grammar-kind
, we may have to move some checks fromparse_declarations
toast.complete_and_validate
.But it could potentially reduce the number of places that
YaccGrammarKind
needs to be specified (build.rs, nimbleparse command line, etc). So it seemed like it might be worth considering.