6

我正在用haskell写一种玩具语言。我正在使用 Alex 生成扫描仪。每次我使用 cabal 构建项目时,都会收到以下警告:

dist/build/optimiser/optimiser-tmp/Lexer.hs:465:1: Warning:
    Tab character

dist/build/optimiser/optimiser-tmp/Lexer.hs:466:1: Warning:
    Tab character

dist/build/optimiser/optimiser-tmp/Lexer.hs:467:1: Warning:
    Tab character

dist/build/optimiser/optimiser-tmp/Lexer.hs:471:1: Warning:
    Tab character

dist/build/optimiser/optimiser-tmp/Lexer.hs:472:1: Warning:
    Tab character

(plus about 10 more of these warnings)

似乎 alex 生成的扫描程序使用制表符而不是空格,而 ghc 的默认行为是警告用户这一点。

有没有人知道强制 alex 使用空格或抑制来自 ghc(通过 cabal)的警告的方法?

4

1 回答 1

9

正如评论中提到的,这应该在 alex master 中得到修复。在可以使用固定版本之前,可以尝试添加

ghc-options: -fno-warn-tabs

到您的 .cabal 文件。

于 2015-05-14T14:51:07.887 回答