Khi tạo một trình phân tích cú pháp Lexer.x
hoặc Parser.y
bằng trình tạo lexer Alex hoặc trình tạo trình phân tích cú pháp hạnh phúc, biên dịch các tệp đó thành tệp Haskell và biên dịch chúng thành tệp đối tượng. sau "cảnh báo":Ngăn chặn một số thông điệp biên soạn Haskell Alex/Happy
$ 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)
những dòng xảy ra như là kết quả của các dòng sau được nhúng trong tạo .hs
file:
{-# LINE 1 "<command-line>" #-}
tại sao những dòng bao gồm d, và là có một cách để ngăn chặn những thông điệp trong trường hợp dòng lệnh không được sử dụng cho bất cứ điều gì trong lexer tạo ra và phân tích cú pháp?