Haskell/Alex:警告:制表符
Haskell/Alex: Warning: Tab character
我正在用 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)的方法?
如评论中所述,这应该已在 alex master 中修复。在可以使用固定版本之前,您可以尝试添加
ghc-options: -fno-warn-tabs
到您的 .cabal 文件。
我正在用 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)的方法?
如评论中所述,这应该已在 alex master 中修复。在可以使用固定版本之前,您可以尝试添加
ghc-options: -fno-warn-tabs
到您的 .cabal 文件。