Open xplat opened 2 years ago
@xplat https://github.com/haskell/happy/blob/master/examples/glr/expr-monad/Expr.y does this example illustrate that?
So the second thing will be used In pattern matching position so it needs to be a constructor or pattern synonym (I’m assuming a pattern synonym is possible?)
Yes https://github.com/haskell/happy/blob/1e2493c38f27ec6c90cb95bd82703799d9de84d2/examples/glr/expr-monad/Expr.y#L9 is how it should actually be done ...
https://www.haskell.org/happy/doc/html/sec-monads.html#sec-lexers states that
I had created a token named 'eof' under %token and set to
eof
. This seemed to work, but when I finished the rest of the grammar to a compiling state, it would immediately fail at the first token. This is becauseeof
was taken as a variable pattern that matched everything, so everything was considered an end of file. The documentation could stand to be louder that this is a Haskell pattern matching the token type, and not the name of a token.Cc: @Cartazio