如何在生成的代码中禁止警告?

时间:2015-08-08 18:08:37

标签: haskell ghc compiler-warnings generated-code

我正在与Alex和Happy建立一个词法分析器和解析器。他们生成的代码会在我项目的.cabal文件中打开ghc-options: -Wall时发出大量警告。

这使得很难捕捉到真正的警告。如何仅在生成的文件中关闭警告?我知道可以用pragma完成:

{#- GHC_OPTIONS -w -#}

但是我无法想到一个简单的方法,可以在每次生成的文件的顶部将这个pragma粘贴在每次重建时。

正确的方法是什么?

1 个答案:

答案 0 :(得分:5)

一个典型的alex文件从顶部的一些东西开始 - 通常是一个模块声明,它将被逐字复制到生成的文件中:

{
module Main where
}
%wrapper "basic"
...

所以只需在module Main ...行之前添加GHC_OPTIONS pragma,例如:

{
{-# GHC_OPTIONS -w #-}
module Main where
}
%wrapper "basic"

它将出现在您生成的文件中。快乐文件也可以这样做。