Closed hnakamur closed 7 years ago
This is a problem of incompatibility with this recent version of Menhir. Should be fixed by commit 22d42c957ed2.
The problem is that %type declaration do no longer work with parameterized non-terminals. Is this intended, @fpottier ?
I confirmed make
finishes successfully with commit https://github.com/jhjourdan/C11parser/commit/22d42c957ed273b90784b261be44a34828f598e7.
Thanks for the fix!
Le 08/10/2016 15:03, Jacques-Henri Jourdan a écrit :
The problem is that %type declaration do no longer work with parameterized non-terminals. Is this intended, @fpottier https://github.com/fpottier ?
They should still work (if they don't, that's a bug).
I discovered that they were not properly kind-checked and tried to fix that, but I may have made a mistake.
François Pottier francois.pottier@inria.fr http://gallium.inria.fr/~fpottier/
What do you mean by "properly kind-checked"? Should %type-annotated non-terminal have kind * ?
If that's the case, then, is there a way to declare generically the type of a parameterized non-terminal, independently of its parameter?
If you are speaking of something else, then you should look at file parser_ansi_compatible.mly, commit 9e7237e43a916bf20a917689afe8ec3d7214216a.
Salut Jacques-Henri,
Le 09/10/2016 10:28, Jacques-Henri Jourdan a écrit :
What do you mean by "properly kind-checked"? Should %type-annotated non-terminal have kind * ?
Yes, I added this rule (which had been omitted).
If that's the case, then, is there a way to declare generically the type of a parameterized non-terminal, independently of its parameter?
No!
If you are speaking of something else, then you should look at file parser_ansi_compatible.mly, commit 9e7237e
Were you able to work around the restriction that I introduced?
François Pottier francois.pottier@inria.fr http://gallium.inria.fr/~fpottier/
Were you able to work around the restriction that I introduced?
Yes. I simply removed the %type declaration.
Hi, I ran
make
and got the following error.My environment information:
Could you tell me how to fix it? Thanks!