language-ocaml-0.1.31: lib/Language/OCaml/Parser/LblExpr.hs
module Language.OCaml.Parser.LblExpr
( lblExprP
) where
import Text.Megaparsec
import Language.OCaml.Definitions.Parsing.ASTTypes
import Language.OCaml.Definitions.Parsing.ParseTree
import Language.OCaml.Parser.Common
import Language.OCaml.Parser.LabelLongident
import Language.OCaml.Parser.OptTypeConstraint
import Language.OCaml.Parser.Tokens
import Language.OCaml.Parser.Utils.Types
lblExprP :: Parser Expression -> Parser (Loc Longident, Expression)
lblExprP exprP = choice
[ do
i <- labelLongidentP
c <- optTypeConstraintP
equalT
e <- exprP
return (mkRHS i 1, mkexpOptConstraint e c)
]