X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fhpc%2FHpcParser.y;h=01307bf565d17a1f14c934c9c8d962ebf5923b34;hb=8e4e15d8e837b90190b6b8e7645822772cab2053;hp=a6a095b9abdc8c44807e5d8a343a5ce3c19c21eb;hpb=4799dfb37be922c17451f8e0f7c8d765a7a7eaab;p=ghc-hetmet.git diff --git a/utils/hpc/HpcParser.y b/utils/hpc/HpcParser.y index a6a095b..01307bf 100644 --- a/utils/hpc/HpcParser.y +++ b/utils/hpc/HpcParser.y @@ -1,12 +1,28 @@ { +{-# LANGUAGE BangPatterns #-} -- required for versions of Happy before 1.18.6 +{-# OPTIONS -Wwarn -XNoMonomorphismRestriction #-} +-- The NoMonomorphismRestriction deals with a Happy infelicity +-- With OutsideIn's more conservativ monomorphism restriction +-- we aren't generalising +-- notHappyAtAll = error "urk" +-- which is terrible. Switching off the restriction allows +-- the generalisation. Better would be to make Happy generate +-- an appropriate signature. +-- +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module HpcParser where import HpcLexer } %name parser +%expect 0 %tokentype { Token } -%error { \ e -> error $ show (take 10 e) } %token MODULE { ID "module" } @@ -25,7 +41,7 @@ import HpcLexer '}' { SYM '}' } int { INT $$ } string { STR $$ } - cat { STR $$ } + cat { CAT $$ } %% Spec :: { Spec } @@ -102,5 +118,5 @@ hpcParser filename = do let tokens = initLexer txt return $ parser tokens - +happyError e = error $ show (take 10 e) }