Parsing CPP失败的haskell src exts解析模块的解决方案或解决方法

Parsing CPP失败的haskell src exts解析模块的解决方案或解决方法,parsing,haskell,Parsing,Haskell,我试图使用haskell src exts对一堆haskell源文件进行解析,但在我测试的第一个文件中遇到了问题。这是第一点: {-# LANGUAGE CPP, MultiParamTypeClasses, ScopedTypeVariables #-} {-# OPTIONS_GHC -Wall -fno-warn-orphans #-} ---------------------------------------------------------------------- -- | -

我试图使用
haskell src exts
对一堆haskell源文件进行解析,但在我测试的第一个文件中遇到了问题。这是第一点:

{-# LANGUAGE CPP, MultiParamTypeClasses, ScopedTypeVariables #-}
{-# OPTIONS_GHC -Wall -fno-warn-orphans #-}
----------------------------------------------------------------------
-- |
-- Module      :  FRP.Reactive.Fun
-- Copyright   :  (c) Conal Elliott 2007
-- License     :  GNU AGPLv3 (see COPYING)
-- 
-- Maintainer  :  conal@conal.net
-- Stability   :  experimental
-- 
-- Functions, with constant functions optimized, with instances for many
-- standard classes.
----------------------------------------------------------------------

module FRP.Reactive.Fun (Fun, fun, apply, batch) where

import Prelude hiding
  ( zip, zipWith
#if __GLASGOW_HASKELL__ >= 609
                , (.), id
#endif
  )
#if __GLASGOW_HASKELL__ >= 609
import Control.Category
#endif
我用来测试的代码是:

*Search> f <- parseFile "/tmp/file.hs"
*Search> f
ParseFailed (SrcLoc {srcFilename = "/tmp/file.hs", srcLine = 19, srcColumn = 1}) "Parse error: ;"
*搜索>f
解析失败(SrcLoc{srcFilename=“/tmp/file.hs”,srcLine=19,srcolumn=1})”解析错误:
问题似乎是CPP条件部分,但CPP似乎是一个问题。我正在ghc 7.0.4中使用
haskell-src-exts-1.11.1

我只是想做一些快速而肮脏的分析,所以如果有必要的话,我不介意在解析之前去掉这些部分,但是更好的解决方案会受到欢迎。

是否可以先使用“评估”预处理器语句

同样,也就是从阴谋集团复制(和扩展)的已知扩展列表;haskell src exts CPP.

是否可能先使用“评估”预处理器语句


同样,也就是从阴谋集团复制(和扩展)的已知扩展列表;haskell src exts CPP.

ahh,我想我本可以阅读我链接到的文档。我确实看到了那个bug报告,但误解了bug是在1.9.x中解决的。你能告诉我为什么haskell src exts依赖于
cpphs
(我对代码没有足够的好奇心)吗?@jberryman它使用cpphs的
语言。预处理器。未点亮的
模块来读取可读的haskell源代码。啊,我想我可以阅读我链接到的文档。我确实看到了那个bug报告,但误解了bug是在1.9.x中解决的。你能告诉我为什么haskell src exts依赖于
cpphs
(我没有足够的好奇心来浏览代码)?@jberryman它使用cpphs的
语言。预处理器。未点亮的
模块来读取可读的haskell源代码。