parseg

package module
v0.0.0-...-a5243c8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

README

parseg

parser combinator by go generics

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Lazy

func Lazy[T any](t *T) T

func Ptr

func Ptr[T any](x T) *T

Types

type Parser

type Parser[T any] interface {
	Parse(stream.Stream) (*T, int, error)
	TryParser() Parser[T]
	IntoFunc() ParserFunc[T]
}

func AnyRune

func AnyRune() Parser[rune]

func Apply

func Apply[T, S any](p Parser[T], f func(T) (S, error)) Parser[S]

func Center

func Center[A, B, C any](a Parser[A], b Parser[B], c Parser[C]) Parser[B]

func Cons

func Cons[T any](car Parser[T], cdr Parser[[]T]) Parser[[]T]

func Digit

func Digit() Parser[rune]

func IntoString

func IntoString(p Parser[[]rune]) Parser[string]

func Many

func Many[T any](p Parser[T]) Parser[[]T]

func Many1

func Many1[T any](p Parser[T]) Parser[[]T]

func Map

func Map[T, S any](p Parser[T], f func(T) S) Parser[S]

func Natural

func Natural() Parser[int]

func Next

func Next[T, S any](a Parser[T], b Parser[S]) Parser[S]

func Number

func Number() Parser[string]

func OneOf

func OneOf[T any](ps ...Parser[T]) Parser[T]

func Prev

func Prev[T, S any](a Parser[T], b Parser[S]) Parser[T]

func Rune

func Rune(expect rune) Parser[rune]

func Satisfy

func Satisfy(pred func(rune) bool) Parser[rune]

func Sequence

func Sequence[T any](ps ...Parser[T]) Parser[[]T]

func SequenceOf

func SequenceOf[T any](ps []Parser[T]) Parser[[]T]

func String

func String(expect string) Parser[string]

func TryParser

func TryParser[T any](p Parser[T]) Parser[T]

type ParserFunc

type ParserFunc[T any] func(stream.Stream) (*T, int, error)

func IntoFunc

func IntoFunc[T any](p Parser[T]) ParserFunc[T]

func (ParserFunc[T]) ID

func (f ParserFunc[T]) ID() Parser[T]

func (ParserFunc[T]) IntoFunc

func (f ParserFunc[T]) IntoFunc() ParserFunc[T]

func (ParserFunc[T]) Parse

func (f ParserFunc[T]) Parse(r stream.Stream) (*T, int, error)

func (ParserFunc[T]) TryParser

func (f ParserFunc[T]) TryParser() Parser[T]

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL