X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FParsePkgConf.y;h=beb6e540e72cb95ea687e44bf629dbf852199cf3;hb=550421384b8364cdaf3135f7859c9f7d7ee1fff1;hp=abbbcea1eb31107f16eb8ca029c976cc60b26b15;hpb=60ea58ab5cbf8428997d5aa8ec9163a50fe5aed3;p=ghc-hetmet.git diff --git a/ghc/compiler/main/ParsePkgConf.y b/ghc/compiler/main/ParsePkgConf.y index abbbcea..beb6e54 100644 --- a/ghc/compiler/main/ParsePkgConf.y +++ b/ghc/compiler/main/ParsePkgConf.y @@ -8,6 +8,7 @@ import Lexer import CmdLineOpts import FastString import StringBuffer +import ErrUtils ( mkLocMessage ) import SrcLoc import Outputable import Panic ( GhcException(..) ) @@ -16,20 +17,20 @@ import EXCEPTION ( throwDyn ) } %token - '{' { T _ _ ITocurly } - '}' { T _ _ ITccurly } - '[' { T _ _ ITobrack } - ']' { T _ _ ITcbrack } - ',' { T _ _ ITcomma } - '=' { T _ _ ITequal } - VARID { T _ _ (ITvarid $$) } - CONID { T _ _ (ITconid $$) } - STRING { T _ _ (ITstring $$) } + '{' { L _ ITocurly } + '}' { L _ ITccurly } + '[' { L _ ITobrack } + ']' { L _ ITcbrack } + ',' { L _ ITcomma } + '=' { L _ ITequal } + VARID { L _ (ITvarid $$) } + CONID { L _ (ITconid $$) } + STRING { L _ (ITstring $$) } %monad { P } { >>= } { return } -%lexer { lexer } { T _ _ ITeof } +%lexer { lexer } { L _ ITeof } %name parse -%tokentype { Token } +%tokentype { Located Token } %% pkgconf :: { [ PackageConfig ] } @@ -98,8 +99,8 @@ loadPackageConfig conf_filename = do buf <- hGetStringBuffer conf_filename let loc = mkSrcLoc (mkFastString conf_filename) 1 0 case unP parse (mkPState buf loc defaultDynFlags) of - PFailed l1 l2 err -> - throwDyn (InstallationError (showSDoc (showPFailed l1 l2 err))) + PFailed span err -> + throwDyn (InstallationError (showSDoc (mkLocMessage span err))) POk _ pkg_details -> do return pkg_details