haskell / happy

The Happy parser generator for Haskell
Other
276 stars 84 forks source link

Happy should error out on duplicate productions #158

Open harpocrates opened 4 years ago

harpocrates commented 4 years ago
  1. Consider the following short grammar:

    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.

  2. 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.