Make 'iso' special in the parser
[ghc-hetmet.git] / compiler / parser / Parser.y.pp
index f9a6945..4e98c24 100644 (file)
@@ -1104,6 +1104,8 @@ alts1     :: { Located [LMatch RdrName] }
 alt    :: { LMatch RdrName }
        : infixexp opt_sig alt_rhs      {%  checkPattern $1 >>= \p ->
                                            return (LL (Match [p] $2 (unLoc $3))) }
+       | '!' infixexp opt_sig alt_rhs  {%  checkPattern $2 >>= \p ->
+                                           return (LL (Match [LL $ BangPat p] $3 (unLoc $4))) }
 
 alt_rhs :: { Located (GRHSs RdrName) }
        : ralt wherebinds               { LL (GRHSs (unLoc $1) (unLoc $2)) }
@@ -1372,6 +1374,7 @@ special_id
        | 'dynamic'             { L1 FSLIT("dynamic") }
        | 'stdcall'             { L1 FSLIT("stdcall") }
        | 'ccall'               { L1 FSLIT("ccall") }
+       | 'iso'                 { L1 FSLIT("iso") }
 
 special_sym :: { Located FastString }
 special_sym : '!'      { L1 FSLIT("!") }