哈斯克尔;在输入'模块'上解析错误

时间:2017-12-01 00:25:30

标签: haskell

我正在尝试在Haskell中编写解析器,并且在编译时遇到问题。错误是输入'模块"解析错误。我可以通过删除括号来修复此错误,但随后错误只会切换到"解析输入"%"上的错误。我还尝试删除了module Main where行,但仍然给我输入错误"%"。

{
module Main where
}

%name parser
%tokentype { Token }
%error { parseError }

%token
...

1 个答案:

答案 0 :(得分:6)

你所拥有的不是Haskell文件。看起来它是解析器生成器的语法文件(可能是Happy)。

您应该首先重命名语法文件以使用.y文件扩展名,因为它是语法文件而不是Haskell源代码文件。然后,调用解析器生成器从Main.hs中生成Main.y

happy Main.y

最后,您可以使用此生成的Main.hs文件并使用ghc运行它。