{-
-----------------------------------------------------------------------------
-$Id: Parser.y,v 1.72 2001/07/23 10:54:48 simonpj Exp $
+$Id: Parser.y,v 1.73 2001/08/20 10:19:47 simonmar Exp $
Haskell grammar.
-}
{
-module Parser ( parseModule, parseStmt ) where
+module Parser ( parseModule, parseStmt, parseIdentifier ) where
import HsSyn
import HsTypes ( mkHsTupCon )
%lexer { lexer } { ITeof }
%name parseModule module
%name parseStmt maybe_stmt
+%name parseIdentifier identifier
%tokentype { Token }
%%
-----------------------------------------------------------------------------
-- Variables, Constructors and Operators.
+identifier :: { RdrName }
+ : qvar { $1 }
+ | gcon { $1 }
+ | qop { $1 }
+
depreclist :: { [RdrName] }
depreclist : deprec_var { [$1] }
| deprec_var ',' depreclist { $1 : $3 }