dmy/elm-pratt-parser/1.0.0

NOTE: the latest version is 2.0.0

Pratt.Advanced

Pratt.Advanced provides the same API as Pratt, but for Parser.Advanced. This allows to have custom context and problem types to improve error messages.

Parser

expression : Config c x e -> Parser c x e

Just like Pratt.parser.

Configuration

type Config c x e

An opaque type describing the parser configuration. A Config is created using configure.

{ nuds : List (Config c x e -> Parser c x e)
, leds : List (Config c x e -> ( Int, e -> Parser c x e ))
, spaces : Parser c x ()
}
-> Config c x e

Just like Pratt.configure.

Configuration Helpers

subExpression : Int -> Config c x e -> Parser c x e

Just like Pratt.expression.

NUD Helpers

constant : Parser c x () -> e -> Config c x e -> Parser c x e

Just like Pratt.constant.

prefix : Int -> Parser c x () -> (e -> e) -> Config c x e -> Parser c x e

Just like Pratt.prefix.

LED Helpers

Int
-> Parser c x ()
-> (e -> e -> e)
-> Config c x e
-> ( Int, e -> Parser c x e )

Just like Pratt.infixLeft.

Int
-> Parser c x ()
-> (e -> e -> e)
-> Config c x e
-> ( Int, e -> Parser c x e )

Just like Pratt.infixRight.

Int
-> Parser c x ()
-> (e -> e)
-> Config c x e
-> ( Int, e -> Parser c x e )

Just like Pratt.postfix.