foo :: { Int }
: int { $1 }
foo :: { Int }
: int { $1 + 4 }
Happy should not accept this - it should complain that I've defined foo twice. Right now, it just silently picks one of the two.
Consider the following shorter grammar:
foo :: { Int }
foob
: int { $1 }
Happy should not accept this - it should complain that the name foob does not match the expected name foo. Right now, it just uses foo and ignores foob completely.
Consider the following short grammar:
Happy should not accept this - it should complain that I've defined
foo
twice. Right now, it just silently picks one of the two.Consider the following shorter grammar:
Happy should not accept this - it should complain that the name
foob
does not match the expected namefoo
. Right now, it just usesfoo
and ignoresfoob
completely.