我正在与Alex和Happy建立一个词法分析器和解析器。他们生成的代码会在我项目的.cabal文件中打开ghc-options: -Wall
时发出大量警告。
这使得很难捕捉到真正的警告。如何仅在生成的文件中关闭警告?我知道可以用pragma完成:
{#- GHC_OPTIONS -w -#}
但是我无法想到一个简单的方法,可以在每次生成的文件的顶部将这个pragma粘贴在每次重建时。
正确的方法是什么?
答案 0 :(得分:5)
一个典型的alex文件从顶部的一些东西开始 - 通常是一个模块声明,它将被逐字复制到生成的文件中:
{
module Main where
}
%wrapper "basic"
...
所以只需在module Main ...
行之前添加GHC_OPTIONS pragma,例如:
{
{-# GHC_OPTIONS -w #-}
module Main where
}
%wrapper "basic"
它将出现在您生成的文件中。快乐文件也可以这样做。