Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module provides the generated Happy parser for Haskell. It exports a number of parsers which may be used in any library that uses the GHC API. A common usage pattern is to initialize the parser state with a given string and then parse that string:
runParser :: ParserOpts -> String -> P a -> ParseResult a runParser opts str parser = unP parser parseState where filename = "<interactive>" location = mkRealSrcLoc (mkFastString filename) 1 1 buffer = stringToStringBuffer str parseState = initParserState opts buffer location
Synopsis
- parseModule :: P (Located (HsModule GhcPs))
- parseSignature :: P (Located (HsModule GhcPs))
- parseImport :: P (GenLocated SrcSpanAnnA (ImportDecl GhcPs))
- parseStatement :: P (GenLocated SrcSpanAnnA (StmtLR GhcPs GhcPs (GenLocated SrcSpanAnnA (HsExpr GhcPs))))
- parseBackpack :: P [LHsUnit PackageName]
- parseDeclaration :: P (GenLocated SrcSpanAnnA (HsDecl GhcPs))
- parseExpression :: P ECP
- parsePattern :: P (GenLocated SrcSpanAnnA (Pat GhcPs))
- parseTypeSignature :: P (GenLocated SrcSpanAnnA (HsDecl GhcPs))
- parseStmt :: P (Maybe (GenLocated SrcSpanAnnA (StmtLR GhcPs GhcPs (GenLocated SrcSpanAnnA (HsExpr GhcPs)))))
- parseIdentifier :: P (LocatedN RdrName)
- parseType :: P (GenLocated SrcSpanAnnA (HsType GhcPs))
- parseHeader :: P (Located (HsModule GhcPs))
- parseModuleNoHaddock :: P (Located (HsModule GhcPs))
Documentation
parseModule :: P (Located (HsModule GhcPs)) Source #
Parse a Haskell module with Haddock comments. This is done in two steps:
parseModuleNoHaddock
to build the ASTaddHaddockToModule
to insert Haddock comments into it
This is the only parser entry point that deals with Haddock comments.
The other entry points (parseDeclaration
, parseExpression
, etc) do
not insert them into the AST.
parseImport :: P (GenLocated SrcSpanAnnA (ImportDecl GhcPs)) Source #
parseStatement :: P (GenLocated SrcSpanAnnA (StmtLR GhcPs GhcPs (GenLocated SrcSpanAnnA (HsExpr GhcPs)))) Source #
parseBackpack :: P [LHsUnit PackageName] Source #
parseDeclaration :: P (GenLocated SrcSpanAnnA (HsDecl GhcPs)) Source #
parseExpression :: P ECP Source #
parsePattern :: P (GenLocated SrcSpanAnnA (Pat GhcPs)) Source #
parseStmt :: P (Maybe (GenLocated SrcSpanAnnA (StmtLR GhcPs GhcPs (GenLocated SrcSpanAnnA (HsExpr GhcPs))))) Source #
parseType :: P (GenLocated SrcSpanAnnA (HsType GhcPs)) Source #