Language.Haskell.Exts.Annotated

haskell-src-exts-1.17.1: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer

Copyright | (c) Niklas Broberg 2004-2009
License | BSD-style (see the file LICENSE.txt)
Maintainer | Niklas Broberg, d00nibro@chalmers.se
Stability | stable
Portability | portable
Safe Haskell | None
Language | Haskell98

Language.Haskell.Exts.Annotated

Contents

- Re-exported modules
- Parsing of Haskell source files
- Read extensions declared in LANGUAGE pragmas

Description

An umbrella module for the various functionality of the package. Also provides some convenient functionality for dealing directly with source files.

Synopsis

- module Language.Haskell.Exts.Annotated.Syntax
- module Language.Haskell.Exts.Annotated.Build
- module Language.Haskell.Exts.Parser
- module Language.Haskell.Exts.Lexer
- module Language.Haskell.Exts.Pretty
- module Language.Haskell.Exts.Annotated.Fixity
- module Language.Haskell.Exts.Annotated.ExactPrint
- module Language.Haskell.Exts.SrcLoc
- module Language.Haskell.Exts.Comments
- module Language.Haskell.Exts.Extension
- module Language.Haskell.Exts.Annotated.Parser
- module Language.Haskell.Exts.Annotated.Comments
- parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo))
- parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))
- parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))
- parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))
- parseFileContents :: String -> ParseResult (Module SrcSpanInfo)
- parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)
- parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)
- parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])
- readExtensions :: String -> Maybe (Maybe Language, [Extension])

# Re-exported modules

module Language.Haskell.Exts.Annotated.Syntax

module Language.Haskell.Exts.Annotated.Build

module Language.Haskell.Exts.Parser

module Language.Haskell.Exts.Lexer

module Language.Haskell.Exts.Pretty

module Language.Haskell.Exts.Annotated.Fixity

module Language.Haskell.Exts.Annotated.ExactPrint

module Language.Haskell.Exts.SrcLoc

module Language.Haskell.Exts.Comments

module Language.Haskell.Exts.Extension

module Language.Haskell.Exts.Annotated.Parser

module Language.Haskell.Exts.Annotated.Comments

# Parsing of Haskell source files

parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo))

Parse a source file on disk, using the default parse mode.

parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))

Parse a source file on disk, supplying a custom parse mode.

parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))

Parse a source file on disk, with an extra set of extensions to know about on top of what the file itself declares.

parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))

parseFileContents :: String -> ParseResult (Module SrcSpanInfo)

Parse a source file from a string using the default parse mode.

parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)

Parse a source file from a string using a custom parse mode.

parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)

Parse a source file from a string, with an extra set of extensions to know about on top of what the file itself declares.

parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])

# Read extensions declared in LANGUAGE pragmas

readExtensions :: String -> Maybe (Maybe Language, [Extension])

Gather the extensions declared in LANGUAGE pragmas at the top of the file. Returns `Nothing` if the parse of the pragmas fails.