X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FParsePkgConf.y;h=1a8f9db33281e8c6fed2e5267865a5fd5f7c9981;hb=9fdd90b00f159463165f739c44943e53fb553c19;hp=a3e569dd28c63769e755150d611e5dfa944967c9;hpb=6d6fccd075268f92cb4fe8cde58c080c1ae48eef;p=ghc-hetmet.git diff --git a/ghc/compiler/main/ParsePkgConf.y b/ghc/compiler/main/ParsePkgConf.y index a3e569d..1a8f9db 100644 --- a/ghc/compiler/main/ParsePkgConf.y +++ b/ghc/compiler/main/ParsePkgConf.y @@ -26,21 +26,21 @@ import Outputable %tokentype { Token } %% -pkgconf :: { [ Package ] } +pkgconf :: { [ PackageConfig ] } : '[' pkgs ']' { reverse $2 } -pkgs :: { [ Package ] } +pkgs :: { [ PackageConfig ] } : pkg { [ $1 ] } | pkgs ',' pkg { $3 : $1 } -pkg :: { Package } - : CONID '{' fields '}' { $3 defaultPackage } +pkg :: { PackageConfig } + : CONID '{' fields '}' { $3 defaultPackageConfig } -fields :: { Package -> Package } +fields :: { PackageConfig -> PackageConfig } : field { \p -> $1 p } | fields ',' field { \p -> $1 ($3 p) } -field :: { Package -> Package } +field :: { PackageConfig -> PackageConfig } : VARID '=' STRING {\p -> case unpackFS $1 of "name" -> p{name = unpackFS $3} } @@ -72,7 +72,7 @@ strs :: { [String] } happyError :: P a happyError buf PState{ loc = loc } = PFailed (srcParseErr buf loc) -parsePkgConf :: FilePath -> IO (Either SDoc [Package]) +parsePkgConf :: FilePath -> IO (Either SDoc [PackageConfig]) parsePkgConf conf_filename = do buf <- hGetStringBuffer False conf_filename case parse buf PState{ bol = 0#, atbol = 1#,