X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fparser%2FParser.y.pp;h=4e98c24df923bc398203e2be276cfaf18ef5d370;hb=5dc9a4504ea4d3df462081a7dbfde0431eac133e;hp=f9a6945f79529747b6afdcca79eee49206680ee8;hpb=b1e8e215e8019a24ef20009c8be7d6bd6bee552d;p=ghc-hetmet.git diff --git a/compiler/parser/Parser.y.pp b/compiler/parser/Parser.y.pp index f9a6945..4e98c24 100644 --- a/compiler/parser/Parser.y.pp +++ b/compiler/parser/Parser.y.pp @@ -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("!") }