hpython-0.1.0.1: Python language tools

Copyright(C) CSIRO 2017-2019
LicenseBSD3
MaintainerIsaac Elliott <isaace71295@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Language.Python.Internal.Parse

Contents

Description

 
Synopsis

Documentation

runParser #

Arguments

:: AsParseError e (PyToken SrcInfo) 
=> FilePath

File name

-> Parser a

Parser

-> [PyToken SrcInfo]

Input to parse

-> Either e a 

Run a parser on some input

Stream type

newtype PyTokens #

Constructors

PyTokens 
Instances
Eq PyTokens # 
Instance details

Defined in Language.Python.Internal.Parse

Ord PyTokens # 
Instance details

Defined in Language.Python.Internal.Parse

Stream PyTokens # 
Instance details

Defined in Language.Python.Internal.Parse

Associated Types

type Token PyTokens :: * #

type Tokens PyTokens :: * #

type Tokens PyTokens # 
Instance details

Defined in Language.Python.Internal.Parse

type Token PyTokens # 
Instance details

Defined in Language.Python.Internal.Parse

Errors

class AsParseError s t | s -> t where #

Minimal complete definition

_ParseError

unsafeFromParseError :: (HasCallStack, AsParseError s t) => ParseError t e -> s #

Convert a concrete ParseError to a value that has an instance of AsParseError

This function is partial because our parser will never use FancyError

Parsers

Symbols

Atomic forms

Compound forms

commaSep :: MonadParsec e PyTokens m => m Whitespace -> m a -> m (CommaSep a) #

commaSep1 :: MonadParsec e PyTokens m => m Whitespace -> m a -> m (CommaSep1 a) #

commaSepRest :: MonadParsec e PyTokens m => m b -> m ([(Comma, b)], Maybe Comma) #

Formatting

dedent :: MonadParsec e PyTokens m => m () #

Miscellaneous combinators

sepBy1' :: MonadParsec e PyTokens m => m a -> m sep -> m (a, [(sep, a)], Maybe sep) #