parsley-core-1.6.0.0: A fast parser combinator library backed by Typed Template Haskell
LicenseBSD-3-Clause
MaintainerJamie Willis
Stabilitystable
Safe HaskellNone
LanguageHaskell2010

Parsley.Internal.Backend

Description

Since: 0.1.0.0

Synopsis

Documentation

codeGen Source #

Arguments

:: Trace 
=> Maybe (MVar x)

The name of the parser, if it exists.

-> Fix Combinator x

The definition of the parser.

-> Set SomeΣVar

The free registers it requires to run.

-> IMVar

The binding identifier to start name generation from.

-> IΣVar

The register identifier to start name generation from.

-> LetBinding o a x 

Translates a parser represented with combinators into its machine representation.

Since: 1.0.0.0

class (InputPrep input, Ops input) => Input input Source #

This class is exposed to parsley itself and is used to denote which types may be used as input for a parser.

Since: 0.1.0.0

Instances

Instances details
Input ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine

Input ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine

Input Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine

Input Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine

Input CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine

Input Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine

Input [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine

Input (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine

eval :: forall input a. (Input input, Trace) => Code input -> (LetBinding input a a, DMap MVar (LetBinding input a)) -> Code (Maybe a) Source #

This function is exposed to parsley itself and is used to generate the Haskell code for a parser.

Since: 0.1.0.0