解析Happy Haskell时显示自定义错误

时间:2016-05-05 20:29:29

标签: parsing haskell happy

我正在使用Alex和Haskell中的Happy编写一个monadic解析器。

我的错误功能定义如下:

parseError :: Token -> Alex a
parseError _ = alexError "error occurred"

如何在解析过程中发送自定义错误(例如在尝试将字符串添加到数字时类型不正确)?

更新

解析器不需要进行类型检查,我在生产中执行它,因为我跟踪操作数类型。 如评论中所述,我不能使用parseError,那么有没有办法打印错误并停止解析器?

1 个答案:

答案 0 :(得分:1)

我通过实现这个功能解决了这个问题:

<!DOCTYPE html>
<html>
<head>
    <title>Page Title</title>
    <link rel="stylesheet" href="{{route('css.main',['route_name'=>Route::currentRouteName()])}}">  
</head>
<body>

    <h1>This is a Heading</h1>
    <p>This is a paragraph.</p>
    @yield('content')
</body>
</html>

我在检测到错误时从生产中调用它