symantic-parser-0.0.0.20210102: Parser combinators statically optimized and staged via typed meta-programming
Safe HaskellNone
LanguageHaskell2010

Symantic.Parser.Machine.Input

Synopsis

Class Cursorable

class Show cur => Cursorable cur where Source #

Minimal complete definition

offset, lowerOffset, sameOffset, shiftRight

Methods

offset :: cur -> Int Source #

compareOffset :: CodeQ (cur -> cur -> Ordering) Source #

lowerOffset :: CodeQ (cur -> cur -> Bool) Source #

sameOffset :: CodeQ (cur -> cur -> Bool) Source #

shiftRight :: CodeQ (cur -> Int -> cur) Source #

Instances

Instances details
Cursorable Int Source # 
Instance details

Defined in Symantic.Parser.Machine.Input

Cursorable Text Source # 
Instance details

Defined in Symantic.Parser.Machine.Input

Cursorable UnpackedLazyByteString Source # 
Instance details

Defined in Symantic.Parser.Machine.Input

Cursorable (OffWith String) Source # 
Instance details

Defined in Symantic.Parser.Machine.Input

offWith :: CodeQ (ts -> OffWith ts) Source #

Type Text16

newtype Text16 Source #

Constructors

Text16 Text 

Type CharList

newtype CharList Source #

Constructors

CharList String 

Type Stream

data Stream Source #

Constructors

!Char :> Stream 

Type OffWith

Type OffWithStreamAnd

Type UnpackedLazyByteString

Class Input

class Cursorable (Cursor inp) => Input inp where Source #

Associated Types

type Cursor inp :: Type Source #

type InputToken inp :: Type Source #

Methods

cursorOf :: CodeQ inp -> CodeQ (# Cursor inp, Cursor inp -> Bool, Cursor inp -> (# InputToken inp, Cursor inp #) #) Source #

Instances

Instances details
Input String Source # 
Instance details

Defined in Symantic.Parser.Machine.Input

Associated Types

type Cursor String Source #

type InputToken String Source #

Input ByteString Source # 
Instance details

Defined in Symantic.Parser.Machine.Input

Input ByteString Source # 
Instance details

Defined in Symantic.Parser.Machine.Input

Input Text Source # 
Instance details

Defined in Symantic.Parser.Machine.Input

Associated Types

type Cursor Text Source #

type InputToken Text Source #

Input (UArray Int Char) Source # 
Instance details

Defined in Symantic.Parser.Machine.Input

Associated Types

type Cursor (UArray Int Char) Source #

type InputToken (UArray Int Char) Source #