【发布时间】:2023-04-02 12:58:01
【问题描述】:
当使用 Alex lexer 生成器或 Happy 解析器生成器创建 Lexer.x 或 Parser.y 解析器时,将它们编译成 Haskell 文件,然后将它们编译成目标文件,默认情况下会生成以下“警告” :
$ ghc Lexer
line-map.c: file "<command-line>" left but not entered
line-map.c: file "<command-line>" left but not entered
[1 of 1] Compiling Lexer ( Lexer.hs, Lexer.o )
$ happy Parser.y
$ ghc Parser
line-map.c: file "<command-line>" left but not entered
line-map.c: file "<command-line>" left but not entered
[2 of 2] Compiling Parser ( Parser.hs, Parser.o )
这些行是由于生成的.hs 文件中嵌入了以下行:
{-# LINE 1 "<command-line>" #-}
为什么要包含这些行,如果命令行显然没有用于生成的词法分析器和解析器中的任何内容,是否有办法抑制这些消息?
【问题讨论】:
标签: haskell parser-generator happy alex