René's URL Explorer Experiment


Title: comb package - github.com/flowdev/comb - Go Packages

direct link

Domain: pkg.go.dev

NoneIE=edge
DescriptionPackage comb implements a parser combinator library.

Links:

https://go.dev/
Skip to Main Content https://pkg.go.dev/github.com/flowdev/comb#main-content
Why Go https://pkg.go.dev/github.com/flowdev/comb
Case Studies https://go.dev/solutions#case-studies
Use Cases https://go.dev/solutions#use-cases
Security https://go.dev/security/
Learnhttps://go.dev/learn/
Docs https://pkg.go.dev/github.com/flowdev/comb
Effective Go https://go.dev/doc/effective_go
Go User Manual https://go.dev/doc/
Standard library https://pkg.go.dev/std
Release Notes https://go.dev/doc/devel/release
API https://pkg.go.dev/api
Packageshttps://pkg.go.dev/
Community https://pkg.go.dev/github.com/flowdev/comb
Recorded Talks https://go.dev/talks/
Meetups https://www.meetup.com/pro/go
Conferences https://github.com/golang/go/wiki/Conferences
Go blog https://go.dev/blog
Go project https://go.dev/help
https://groups.google.com/g/golang-nuts
https://github.com/golang
https://twitter.com/golang
https://www.reddit.com/r/golang/
https://invite.slack.golangbridge.org/
https://stackoverflow.com/collectives/go
https://go.dev/
Why Go https://pkg.go.dev/github.com/flowdev/comb
Why Go https://pkg.go.dev/github.com/flowdev/comb
Case Studies https://go.dev/solutions#case-studies
Use Cases https://go.dev/solutions#use-cases
Security https://go.dev/security/
Learnhttps://go.dev/learn/
Docs https://pkg.go.dev/github.com/flowdev/comb
Docs https://pkg.go.dev/github.com/flowdev/comb
Effective Go https://go.dev/doc/effective_go
Go User Manual https://go.dev/doc/
Standard library https://pkg.go.dev/std
Release Notes https://go.dev/doc/devel/release
API https://pkg.go.dev/api
Packageshttps://pkg.go.dev/
Community https://pkg.go.dev/github.com/flowdev/comb
Community https://pkg.go.dev/github.com/flowdev/comb
Recorded Talks https://go.dev/talks/
Meetups https://www.meetup.com/pro/go
Conferences https://github.com/golang/go/wiki/Conferences
Go blog https://go.dev/blog
Go project https://go.dev/help
https://groups.google.com/g/golang-nuts
https://github.com/golang
https://twitter.com/golang
https://www.reddit.com/r/golang/
https://invite.slack.golangbridge.org/
https://stackoverflow.com/collectives/go
Discover Packageshttps://pkg.go.dev/
github.com/flowdev/comb https://pkg.go.dev/github.com/flowdev/comb@v0.0.0-20251119220355-77cd79933d05
https://go.dev/
Version: v0.0.0-...-77cd799 https://pkg.go.dev/github.com/flowdev/comb?tab=versions
Go to latest https://pkg.go.dev/github.com/flowdev/comb
MIThttps://pkg.go.dev/github.com/flowdev/comb?tab=licenses
Imports: 11 https://pkg.go.dev/github.com/flowdev/comb?tab=imports
Imported by: 0 https://pkg.go.dev/github.com/flowdev/comb?tab=importedby
go.modhttps://github.com/flowdev/comb/tree/77cd79933d05/go.mod
Learn more about best practiceshttps://pkg.go.dev/about#best-practices
github.com/flowdev/comb https://github.com/flowdev/comb
Open Source Insights https://deps.dev/go/github.com%2Fflowdev%2Fcomb/v0.0.0-20251119220355-77cd79933d05
README https://pkg.go.dev/github.com/flowdev/comb#section-readme
Table of content https://pkg.go.dev/github.com/flowdev/comb#readme-table-of-content
Getting started https://pkg.go.dev/github.com/flowdev/comb#readme-getting-started
Examples https://pkg.go.dev/github.com/flowdev/comb#readme-examples
Documentation https://pkg.go.dev/github.com/flowdev/comb#readme-documentation
Installation https://pkg.go.dev/github.com/flowdev/comb#readme-installation
Guide https://pkg.go.dev/github.com/flowdev/comb#readme-guide
List of combinators https://pkg.go.dev/github.com/flowdev/comb#readme-list-of-combinators
Base combinators https://pkg.go.dev/github.com/flowdev/comb#readme-base-combinators
Bytes combinators https://pkg.go.dev/github.com/flowdev/comb#readme-bytes-combinators
Character combinators https://pkg.go.dev/github.com/flowdev/comb#readme-character-combinators
Combinators for Sequences https://pkg.go.dev/github.com/flowdev/comb#readme-combinators-for-sequences
Combinators for Applying Parsers Many Times https://pkg.go.dev/github.com/flowdev/comb#readme-combinators-for-applying-parsers-many-times
Combinators for Choices https://pkg.go.dev/github.com/flowdev/comb#readme-combinators-for-choices
Frequently asked questions https://pkg.go.dev/github.com/flowdev/comb#readme-frequently-asked-questions
Q: What's the name? https://pkg.go.dev/github.com/flowdev/comb#readme-q-what-s-the-name
Q: What are parser combinators? https://pkg.go.dev/github.com/flowdev/comb#readme-q-what-are-parser-combinators
Q: Why would I use parser combinators instead of a specific parser? https://pkg.go.dev/github.com/flowdev/comb#readme-q-why-would-i-use-parser-combinators-instead-of-a-specific-parser
Q: Where can I learn more about parser combinators? https://pkg.go.dev/github.com/flowdev/comb#readme-q-where-can-i-learn-more-about-parser-combinators
Acknowledgements https://pkg.go.dev/github.com/flowdev/comb#readme-acknowledgements
Authors https://pkg.go.dev/github.com/flowdev/comb#readme-authors
Documentation https://pkg.go.dev/github.com/flowdev/comb#section-documentation
Overviewhttps://pkg.go.dev/github.com/flowdev/comb#pkg-overview
Index https://pkg.go.dev/github.com/flowdev/comb#pkg-index
Constants https://pkg.go.dev/github.com/flowdev/comb#pkg-constants
Variables https://pkg.go.dev/github.com/flowdev/comb#pkg-variables
Functions https://pkg.go.dev/github.com/flowdev/comb#pkg-functions
Debugf(msg, args) https://pkg.go.dev/github.com/flowdev/comb#Debugf
RunOnBytes(input, parse) https://pkg.go.dev/github.com/flowdev/comb#RunOnBytes
RunOnState(state, parser) https://pkg.go.dev/github.com/flowdev/comb#RunOnState
RunOnString(input, parse) https://pkg.go.dev/github.com/flowdev/comb#RunOnString
SetDebug(enable) https://pkg.go.dev/github.com/flowdev/comb#SetDebug
UnwrapErrors(err) https://pkg.go.dev/github.com/flowdev/comb#UnwrapErrors
ZeroOf() https://pkg.go.dev/github.com/flowdev/comb#ZeroOf
Types https://pkg.go.dev/github.com/flowdev/comb#pkg-types
type AnyParser https://pkg.go.dev/github.com/flowdev/comb#AnyParser
type BranchParser https://pkg.go.dev/github.com/flowdev/comb#BranchParser
type ConstState https://pkg.go.dev/github.com/flowdev/comb#ConstState
type Parser https://pkg.go.dev/github.com/flowdev/comb#Parser
LazyBranchParser(makeParser) https://pkg.go.dev/github.com/flowdev/comb#LazyBranchParser
NewBranchParser(expected, children, parseAfterChild) https://pkg.go.dev/github.com/flowdev/comb#NewBranchParser
NewParser(expected, parse, recover) https://pkg.go.dev/github.com/flowdev/comb#NewParser
NewParserWithData(expected, parse, recover) https://pkg.go.dev/github.com/flowdev/comb#NewParserWithData
SafeSpot(p) https://pkg.go.dev/github.com/flowdev/comb#SafeSpot
type ParserError https://pkg.go.dev/github.com/flowdev/comb#ParserError
ClaimError(err) https://pkg.go.dev/github.com/flowdev/comb#ClaimError
(e) Error() https://pkg.go.dev/github.com/flowdev/comb#ParserError.Error
(e) ParserData(parserID) https://pkg.go.dev/github.com/flowdev/comb#ParserError.ParserData
(e) PatchMessage(subMsg) https://pkg.go.dev/github.com/flowdev/comb#ParserError.PatchMessage
(e) StoreParserData(parserID, data) https://pkg.go.dev/github.com/flowdev/comb#ParserError.StoreParserData
type ParserIDs https://pkg.go.dev/github.com/flowdev/comb#ParserIDs
(pids) ID() https://pkg.go.dev/github.com/flowdev/comb#ParserIDs.ID
type PreparedParser https://pkg.go.dev/github.com/flowdev/comb#PreparedParser
NewPreparedParser(p) https://pkg.go.dev/github.com/flowdev/comb#NewPreparedParser
type Recoverer https://pkg.go.dev/github.com/flowdev/comb#Recoverer
type Separator https://pkg.go.dev/github.com/flowdev/comb#Separator
type State https://pkg.go.dev/github.com/flowdev/comb#State
BetterOf(state, other) https://pkg.go.dev/github.com/flowdev/comb#BetterOf
NewFromBytes(input, maxErrors) https://pkg.go.dev/github.com/flowdev/comb#NewFromBytes
NewFromString(input, maxErrors) https://pkg.go.dev/github.com/flowdev/comb#NewFromString
(st) AtEnd() https://pkg.go.dev/github.com/flowdev/comb#State.AtEnd
(st) ByteCount(remaining) https://pkg.go.dev/github.com/flowdev/comb#State.ByteCount
(st) BytesRemaining() https://pkg.go.dev/github.com/flowdev/comb#State.BytesRemaining
(st) BytesTo(remaining) https://pkg.go.dev/github.com/flowdev/comb#State.BytesTo
(st) CurrentBytes() https://pkg.go.dev/github.com/flowdev/comb#State.CurrentBytes
(st) CurrentPos() https://pkg.go.dev/github.com/flowdev/comb#State.CurrentPos
(st) CurrentSourceLine() https://pkg.go.dev/github.com/flowdev/comb#State.CurrentSourceLine
(st) CurrentString() https://pkg.go.dev/github.com/flowdev/comb#State.CurrentString
(st) Delete1() https://pkg.go.dev/github.com/flowdev/comb#State.Delete1
(st) Errors() https://pkg.go.dev/github.com/flowdev/comb#State.Errors
(st) GetFromCache(pID) https://pkg.go.dev/github.com/flowdev/comb#State.GetFromCache
(st) HasError() https://pkg.go.dev/github.com/flowdev/comb#State.HasError
(st) MoveBackTo(pos) https://pkg.go.dev/github.com/flowdev/comb#State.MoveBackTo
(st) MoveBy(countBytes) https://pkg.go.dev/github.com/flowdev/comb#State.MoveBy
(st) MoveSafeSpot() https://pkg.go.dev/github.com/flowdev/comb#State.MoveSafeSpot
(st) Moved(other) https://pkg.go.dev/github.com/flowdev/comb#State.Moved
(st) NewSemanticError(msg, args) https://pkg.go.dev/github.com/flowdev/comb#State.NewSemanticError
(st) NewSyntaxError(msg, args) https://pkg.go.dev/github.com/flowdev/comb#State.NewSyntaxError
(st) PutIntoCache(pID, value) https://pkg.go.dev/github.com/flowdev/comb#State.PutIntoCache
(st) SafeSpotMoved(other) https://pkg.go.dev/github.com/flowdev/comb#State.SafeSpotMoved
(st) SaveError(err) https://pkg.go.dev/github.com/flowdev/comb#State.SaveError
(st) StringTo(remaining) https://pkg.go.dev/github.com/flowdev/comb#State.StringTo
Source Files https://pkg.go.dev/github.com/flowdev/comb#section-sourcefiles
Directories https://pkg.go.dev/github.com/flowdev/comb#section-directories
https://pkg.go.dev/github.com/flowdev/comb#section-readme
Gommehttps://github.com/oleiade/gomme
A Parser Combinator Library For Gohttps://pkg.go.dev/github.com/flowdev/comb#readme-a-parser-combinator-library-for-go
Table of contenthttps://pkg.go.dev/github.com/flowdev/comb#readme-table-of-content
Getting startedhttps://pkg.go.dev/github.com/flowdev/comb#readme-getting-started
Exampleshttps://pkg.go.dev/github.com/flowdev/comb#readme-examples
Documentationhttps://pkg.go.dev/github.com/flowdev/comb#readme-documentation
Installationhttps://pkg.go.dev/github.com/flowdev/comb#readme-installation
Guidehttps://pkg.go.dev/github.com/flowdev/comb#readme-guide
List of combinatorshttps://pkg.go.dev/github.com/flowdev/comb#readme-list-of-combinators
Base combinatorshttps://pkg.go.dev/github.com/flowdev/comb#readme-base-combinators
Bytes combinatorshttps://pkg.go.dev/github.com/flowdev/comb#readme-bytes-combinators
Character combinatorshttps://pkg.go.dev/github.com/flowdev/comb#readme-character-combinators
Combinators for Sequenceshttps://pkg.go.dev/github.com/flowdev/comb#readme-combinators-for-sequences
Combinators for Applying Parsers Many Timeshttps://pkg.go.dev/github.com/flowdev/comb#readme-combinators-for-applying-parsers-many-times
Combinators for Choiceshttps://pkg.go.dev/github.com/flowdev/comb#readme-combinators-for-choices
Frequently asked questionshttps://pkg.go.dev/github.com/flowdev/comb#readme-frequently-asked-questions
Q: What's the name?https://pkg.go.dev/github.com/flowdev/comb#readme-q-whats-the-name
Q: What are parser combinators?https://pkg.go.dev/github.com/flowdev/comb#readme-q-what-are-parser-combinators
Q: Why would I use parser combinators instead of a specific parser?https://pkg.go.dev/github.com/flowdev/comb#readme-q-why-would-i-use-parser-combinators-instead-of-a-specific-parser
Q: Where can I learn more about parser combinators?https://pkg.go.dev/github.com/flowdev/comb#readme-q-where-can-i-learn-more-about-parser-combinators
Acknowledgementshttps://pkg.go.dev/github.com/flowdev/comb#readme-acknowledgements
Authorshttps://pkg.go.dev/github.com/flowdev/comb#readme-authors
hexadecimal color codeshttps://developer.mozilla.org/en-US/docs/Web/CSS/color
exampleshttps://github.com/flowdev/comb/blob/77cd79933d05/examples
Parsing hexadecimal color codeshttps://github.com/flowdev/comb/blob/77cd79933d05/examples/hexcolor
Parsing a simple CSV filehttps://github.com/flowdev/comb/blob/77cd79933d05/examples/csv
Parsing Redis' RESP protocolhttps://github.com/flowdev/comb/blob/77cd79933d05/examples/redis
Parsing JSONhttps://github.com/flowdev/comb/blob/77cd79933d05/examples/json
documentationhttps://pkg.go.dev/github.com/flowdev/comb
Maphttps://pkg.go.dev/github.com/oleiade/gomme#Map
Optionalhttps://pkg.go.dev/github.com/oleiade/gomme#Optional
Peekhttps://pkg.go.dev/github.com/oleiade/gomme#Peek
Recognizehttps://pkg.go.dev/github.com/oleiade/gomme#Recognize
Assignhttps://pkg.go.dev/github.com/oleiade/gomme#Assign
Takehttps://pkg.go.dev/github.com/oleiade/gomme#Take
TakeUntilhttps://pkg.go.dev/github.com/oleiade/gomme#TakeUntil
TakeWhileMNhttps://pkg.go.dev/github.com/oleiade/gomme#TakeWhileMN
Tokenhttps://pkg.go.dev/github.com/oleiade/gomme#Token
Charhttps://pkg.go.dev/github.com/oleiade/gomme#Char
AnyCharhttps://pkg.go.dev/github.com/oleiade/gomme#AnyChar
Alpha0https://pkg.go.dev/github.com/oleiade/gomme#Alpha0
Alpha1https://pkg.go.dev/github.com/oleiade/gomme#Alpha1
Alphanumeric0https://pkg.go.dev/github.com/oleiade/gomme#Alphanumeric0
Alphanumeric1https://pkg.go.dev/github.com/oleiade/gomme#Alphanumeric1
Digit0https://pkg.go.dev/github.com/oleiade/gomme#Digit0
Digit1https://pkg.go.dev/github.com/oleiade/gomme#Digit1
HexDigit0https://pkg.go.dev/github.com/oleiade/gomme#HexDigit0
HexDigit1https://pkg.go.dev/github.com/oleiade/gomme#HexDigit1
Whitespace0https://pkg.go.dev/github.com/oleiade/gomme#Whitespace0
Whitespace1https://pkg.go.dev/github.com/oleiade/gomme#Whitespace1
LFhttps://pkg.go.dev/github.com/oleiade/gomme#LF
CRLFhttps://pkg.go.dev/github.com/oleiade/gomme#CRLF
OneOfhttps://pkg.go.dev/github.com/oleiade/gomme#OneOf
Satisfyhttps://pkg.go.dev/github.com/oleiade/gomme#Satisfy
Spacehttps://pkg.go.dev/github.com/oleiade/gomme#Space
Tabhttps://pkg.go.dev/github.com/oleiade/gomme#Tab
Int64https://pkg.go.dev/github.com/oleiade/gomme#Int64
Int8https://pkg.go.dev/github.com/oleiade/gomme#Int8
UInt8https://pkg.go.dev/github.com/oleiade/gomme#UInt8
Precededhttps://pkg.go.dev/github.com/oleiade/gomme#Preceded
Terminatedhttps://pkg.go.dev/github.com/oleiade/gomme#Terminated
Delimitedhttps://pkg.go.dev/github.com/oleiade/gomme#Delimited
Pairhttps://pkg.go.dev/github.com/oleiade/gomme#Pair
SeparatedPairhttps://pkg.go.dev/github.com/oleiade/gomme#SeparatedPair
Sequencehttps://pkg.go.dev/github.com/oleiade/gomme#Sequence
Counthttps://pkg.go.dev/github.com/oleiade/gomme#Count
Many0https://pkg.go.dev/github.com/oleiade/gomme#Many0
Many1https://pkg.go.dev/github.com/oleiade/gomme#Many1
SeparatedList0https://pkg.go.dev/github.com/oleiade/gomme#SeparatedList0
SeparatedList1https://pkg.go.dev/github.com/oleiade/gomme#SeparatedList1
Alternativehttps://pkg.go.dev/github.com/oleiade/gomme#Alternative
You could have invented parser combinatorshttps://theorangeduck.com/page/you-could-have-invented-parser-combinators
Functional Parsinghttps://www.youtube.com/watch?v=dDtZLm7HIJs
Building a Mapping Language in Go with Parser Combinatorshttps://www.youtube.com/watch?v=JiViND-bpmw
Gommehttps://github.com/oleiade/gomme
@ole108https://github.com/ole108
@oleiadehttps://github.com/oleiade
https://pkg.go.dev/github.com/flowdev/comb#section-documentation
https://pkg.go.dev/github.com/flowdev/comb#pkg-overview
https://pkg.go.dev/github.com/flowdev/comb#pkg-index
Constantshttps://pkg.go.dev/github.com/flowdev/comb#pkg-constants
func Debugf(msg string, args ...interface{})https://pkg.go.dev/github.com/flowdev/comb#Debugf
func RunOnBytes[Output any](input []byte, parse Parser[Output]) (Output, error)https://pkg.go.dev/github.com/flowdev/comb#RunOnBytes
func RunOnState[Output any](state State, parser *PreparedParser[Output]) (Output, error)https://pkg.go.dev/github.com/flowdev/comb#RunOnState
func RunOnString[Output any](input string, parse Parser[Output]) (Output, error)https://pkg.go.dev/github.com/flowdev/comb#RunOnString
func SetDebug(enable bool)https://pkg.go.dev/github.com/flowdev/comb#SetDebug
func UnwrapErrors(err error) []errorhttps://pkg.go.dev/github.com/flowdev/comb#UnwrapErrors
func ZeroOf[T any]() Thttps://pkg.go.dev/github.com/flowdev/comb#ZeroOf
type AnyParserhttps://pkg.go.dev/github.com/flowdev/comb#AnyParser
type BranchParserhttps://pkg.go.dev/github.com/flowdev/comb#BranchParser
type ConstStatehttps://pkg.go.dev/github.com/flowdev/comb#ConstState
type Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
func LazyBranchParser[Output any](makeParser func() Parser[Output]) Parser[Output]https://pkg.go.dev/github.com/flowdev/comb#LazyBranchParser
func NewBranchParser[Output any](expected string, children func() []AnyParser, ...) Parser[Output]https://pkg.go.dev/github.com/flowdev/comb#NewBranchParser
func NewParser[Output any](expected string, parse func(State) (State, Output, *ParserError), ...) Parser[Output]https://pkg.go.dev/github.com/flowdev/comb#NewParser
func NewParserWithData[Output any](expected string, ...) Parser[Output]https://pkg.go.dev/github.com/flowdev/comb#NewParserWithData
func SafeSpot[Output any](p Parser[Output]) Parser[Output]https://pkg.go.dev/github.com/flowdev/comb#SafeSpot
type ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
func ClaimError(err *ParserError) *ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ClaimError
func (e *ParserError) Error() stringhttps://pkg.go.dev/github.com/flowdev/comb#ParserError.Error
func (e *ParserError) ParserData(parserID int32) interface{}https://pkg.go.dev/github.com/flowdev/comb#ParserError.ParserData
func (e *ParserError) PatchMessage(subMsg string)https://pkg.go.dev/github.com/flowdev/comb#ParserError.PatchMessage
func (e *ParserError) StoreParserData(parserID int32, data interface{})https://pkg.go.dev/github.com/flowdev/comb#ParserError.StoreParserData
type ParserIDshttps://pkg.go.dev/github.com/flowdev/comb#ParserIDs
func (pids *ParserIDs) ID() int32https://pkg.go.dev/github.com/flowdev/comb#ParserIDs.ID
type PreparedParserhttps://pkg.go.dev/github.com/flowdev/comb#PreparedParser
func NewPreparedParser[Output any](p Parser[Output]) *PreparedParser[Output]https://pkg.go.dev/github.com/flowdev/comb#NewPreparedParser
type Recovererhttps://pkg.go.dev/github.com/flowdev/comb#Recoverer
type Separatorhttps://pkg.go.dev/github.com/flowdev/comb#Separator
type Statehttps://pkg.go.dev/github.com/flowdev/comb#State
func BetterOf(state, other State) (State, bool)https://pkg.go.dev/github.com/flowdev/comb#BetterOf
func NewFromBytes(input []byte, maxErrors int) Statehttps://pkg.go.dev/github.com/flowdev/comb#NewFromBytes
func NewFromString(input string, maxErrors int) Statehttps://pkg.go.dev/github.com/flowdev/comb#NewFromString
func (st State) AtEnd() boolhttps://pkg.go.dev/github.com/flowdev/comb#State.AtEnd
func (st State) ByteCount(remaining State) inthttps://pkg.go.dev/github.com/flowdev/comb#State.ByteCount
func (st State) BytesRemaining() inthttps://pkg.go.dev/github.com/flowdev/comb#State.BytesRemaining
func (st State) BytesTo(remaining State) []bytehttps://pkg.go.dev/github.com/flowdev/comb#State.BytesTo
func (st State) CurrentBytes() []bytehttps://pkg.go.dev/github.com/flowdev/comb#State.CurrentBytes
func (st State) CurrentPos() inthttps://pkg.go.dev/github.com/flowdev/comb#State.CurrentPos
func (st State) CurrentSourceLine() stringhttps://pkg.go.dev/github.com/flowdev/comb#State.CurrentSourceLine
func (st State) CurrentString() stringhttps://pkg.go.dev/github.com/flowdev/comb#State.CurrentString
func (st State) Delete1() Statehttps://pkg.go.dev/github.com/flowdev/comb#State.Delete1
func (st State) Errors() errorhttps://pkg.go.dev/github.com/flowdev/comb#State.Errors
func (st State) GetFromCache(pID int32) interface{}https://pkg.go.dev/github.com/flowdev/comb#State.GetFromCache
func (st State) HasError() boolhttps://pkg.go.dev/github.com/flowdev/comb#State.HasError
func (st State) MoveBackTo(pos int) Statehttps://pkg.go.dev/github.com/flowdev/comb#State.MoveBackTo
func (st State) MoveBy(countBytes int) Statehttps://pkg.go.dev/github.com/flowdev/comb#State.MoveBy
func (st State) MoveSafeSpot() Statehttps://pkg.go.dev/github.com/flowdev/comb#State.MoveSafeSpot
func (st State) Moved(other State) boolhttps://pkg.go.dev/github.com/flowdev/comb#State.Moved
func (st State) NewSemanticError(msg string, args ...interface{}) *ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#State.NewSemanticError
func (st State) NewSyntaxError(msg string, args ...interface{}) *ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#State.NewSyntaxError
func (st State) PutIntoCache(pID int32, value interface{})https://pkg.go.dev/github.com/flowdev/comb#State.PutIntoCache
func (st State) SafeSpotMoved(other State) boolhttps://pkg.go.dev/github.com/flowdev/comb#State.SafeSpotMoved
func (st State) SaveError(err *ParserError) Statehttps://pkg.go.dev/github.com/flowdev/comb#State.SaveError
func (st State) StringTo(remaining State) stringhttps://pkg.go.dev/github.com/flowdev/comb#State.StringTo
https://pkg.go.dev/github.com/flowdev/comb#pkg-constants
View Sourcehttps://github.com/flowdev/comb/blob/77cd79933d05/parser.go#L8
mathhttps://pkg.go.dev/math
MinInt32https://pkg.go.dev/math#MinInt32
iotahttps://pkg.go.dev/builtin#iota
View Sourcehttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L38
View Sourcehttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L36
View Sourcehttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L35
View Sourcehttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L34
View Sourcehttps://github.com/flowdev/comb/blob/77cd79933d05/error.go#L15
https://pkg.go.dev/github.com/flowdev/comb#pkg-variables
https://pkg.go.dev/github.com/flowdev/comb#pkg-functions
Debugfhttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L170
https://pkg.go.dev/github.com/flowdev/comb#Debugf
stringhttps://pkg.go.dev/builtin#string
RunOnByteshttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L72
https://pkg.go.dev/github.com/flowdev/comb#RunOnBytes
anyhttps://pkg.go.dev/builtin#any
bytehttps://pkg.go.dev/builtin#byte
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
errorhttps://pkg.go.dev/builtin#error
RunOnStatehttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L79
https://pkg.go.dev/github.com/flowdev/comb#RunOnState
anyhttps://pkg.go.dev/builtin#any
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
PreparedParserhttps://pkg.go.dev/github.com/flowdev/comb#PreparedParser
errorhttps://pkg.go.dev/builtin#error
RunOnStringhttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L66
https://pkg.go.dev/github.com/flowdev/comb#RunOnString
anyhttps://pkg.go.dev/builtin#any
stringhttps://pkg.go.dev/builtin#string
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
errorhttps://pkg.go.dev/builtin#error
SetDebughttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L161
https://pkg.go.dev/github.com/flowdev/comb#SetDebug
boolhttps://pkg.go.dev/builtin#bool
UnwrapErrorshttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L144
https://pkg.go.dev/github.com/flowdev/comb#UnwrapErrors
errorhttps://pkg.go.dev/builtin#error
errorhttps://pkg.go.dev/builtin#error
ZeroOfhttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L155
https://pkg.go.dev/github.com/flowdev/comb#ZeroOf
anyhttps://pkg.go.dev/builtin#any
https://pkg.go.dev/github.com/flowdev/comb#pkg-types
AnyParserhttps://github.com/flowdev/comb/blob/77cd79933d05/prepare.go#L15
https://pkg.go.dev/github.com/flowdev/comb#AnyParser
int32https://pkg.go.dev/builtin#int32
int32https://pkg.go.dev/builtin#int32
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
boolhttps://pkg.go.dev/builtin#bool
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
inthttps://pkg.go.dev/builtin#int
boolhttps://pkg.go.dev/builtin#bool
BranchParserhttps://github.com/flowdev/comb/blob/77cd79933d05/prepare.go#L31
https://pkg.go.dev/github.com/flowdev/comb#BranchParser
ConstStatehttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L91
https://pkg.go.dev/github.com/flowdev/comb#ConstState
Parserhttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L45
https://pkg.go.dev/github.com/flowdev/comb#Parser
anyhttps://pkg.go.dev/builtin#any
int32https://pkg.go.dev/builtin#int32
stringhttps://pkg.go.dev/builtin#string
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
int32https://pkg.go.dev/builtin#int32
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
boolhttps://pkg.go.dev/builtin#bool
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
inthttps://pkg.go.dev/builtin#int
boolhttps://pkg.go.dev/builtin#bool
Recovererhttps://pkg.go.dev/github.com/flowdev/comb#Recoverer
LazyBranchParserhttps://github.com/flowdev/comb/blob/77cd79933d05/parser.go#L233
https://pkg.go.dev/github.com/flowdev/comb#LazyBranchParser
anyhttps://pkg.go.dev/builtin#any
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
NewBranchParserhttps://github.com/flowdev/comb/blob/77cd79933d05/parser.go#L141
https://pkg.go.dev/github.com/flowdev/comb#NewBranchParser
anyhttps://pkg.go.dev/builtin#any
stringhttps://pkg.go.dev/builtin#string
AnyParserhttps://pkg.go.dev/github.com/flowdev/comb#AnyParser
int32https://pkg.go.dev/builtin#int32
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
NewParserhttps://github.com/flowdev/comb/blob/77cd79933d05/parser.go#L45
https://pkg.go.dev/github.com/flowdev/comb#NewParser
anyhttps://pkg.go.dev/builtin#any
stringhttps://pkg.go.dev/builtin#string
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
Recovererhttps://pkg.go.dev/github.com/flowdev/comb#Recoverer
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
NewParserWithDatahttps://github.com/flowdev/comb/blob/77cd79933d05/parser.go#L67
https://pkg.go.dev/github.com/flowdev/comb#NewParserWithData
anyhttps://pkg.go.dev/builtin#any
stringhttps://pkg.go.dev/builtin#string
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
Recovererhttps://pkg.go.dev/github.com/flowdev/comb#Recoverer
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
SafeSpothttps://github.com/flowdev/comb/blob/77cd79933d05/parser.go#L331
https://pkg.go.dev/github.com/flowdev/comb#SafeSpot
anyhttps://pkg.go.dev/builtin#any
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
ParserErrorhttps://github.com/flowdev/comb/blob/77cd79933d05/error.go#L19
https://pkg.go.dev/github.com/flowdev/comb#ParserError
ClaimErrorhttps://github.com/flowdev/comb/blob/77cd79933d05/error.go#L60
https://pkg.go.dev/github.com/flowdev/comb#ClaimError
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
Errorhttps://github.com/flowdev/comb/blob/77cd79933d05/error.go#L29
https://pkg.go.dev/github.com/flowdev/comb#ParserError.Error
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
stringhttps://pkg.go.dev/builtin#string
ParserDatahttps://github.com/flowdev/comb/blob/77cd79933d05/error.go#L40
https://pkg.go.dev/github.com/flowdev/comb#ParserError.ParserData
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
int32https://pkg.go.dev/builtin#int32
PatchMessagehttps://github.com/flowdev/comb/blob/77cd79933d05/error.go#L47
https://pkg.go.dev/github.com/flowdev/comb#ParserError.PatchMessage
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
stringhttps://pkg.go.dev/builtin#string
StoreParserDatahttps://github.com/flowdev/comb/blob/77cd79933d05/error.go#L43
https://pkg.go.dev/github.com/flowdev/comb#ParserError.StoreParserData
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
int32https://pkg.go.dev/builtin#int32
ParserIDshttps://github.com/flowdev/comb/blob/77cd79933d05/parser.go#L15
https://pkg.go.dev/github.com/flowdev/comb#ParserIDs
IDhttps://github.com/flowdev/comb/blob/77cd79933d05/parser.go#L19
https://pkg.go.dev/github.com/flowdev/comb#ParserIDs.ID
ParserIDshttps://pkg.go.dev/github.com/flowdev/comb#ParserIDs
int32https://pkg.go.dev/builtin#int32
PreparedParserhttps://github.com/flowdev/comb/blob/77cd79933d05/prepare.go#L41
https://pkg.go.dev/github.com/flowdev/comb#PreparedParser
anyhttps://pkg.go.dev/builtin#any
NewPreparedParserhttps://github.com/flowdev/comb/blob/77cd79933d05/prepare.go#L50
https://pkg.go.dev/github.com/flowdev/comb#NewPreparedParser
anyhttps://pkg.go.dev/builtin#any
Parserhttps://pkg.go.dev/github.com/flowdev/comb#Parser
PreparedParserhttps://pkg.go.dev/github.com/flowdev/comb#PreparedParser
Recovererhttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L32
https://pkg.go.dev/github.com/flowdev/comb#Recoverer
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
inthttps://pkg.go.dev/builtin#int
Separatorhttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L19
https://pkg.go.dev/github.com/flowdev/comb#Separator
runehttps://pkg.go.dev/builtin#rune
bytehttps://pkg.go.dev/builtin#byte
stringhttps://pkg.go.dev/builtin#string
bytehttps://pkg.go.dev/builtin#byte
Statehttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L15
https://pkg.go.dev/github.com/flowdev/comb#State
BetterOfhttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L137
https://pkg.go.dev/github.com/flowdev/comb#BetterOf
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
boolhttps://pkg.go.dev/builtin#bool
NewFromByteshttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L116
https://pkg.go.dev/github.com/flowdev/comb#NewFromBytes
bytehttps://pkg.go.dev/builtin#byte
inthttps://pkg.go.dev/builtin#int
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
NewFromStringhttps://github.com/flowdev/comb/blob/77cd79933d05/base.go#L111
https://pkg.go.dev/github.com/flowdev/comb#NewFromString
stringhttps://pkg.go.dev/builtin#string
inthttps://pkg.go.dev/builtin#int
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
AtEndhttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L28
https://pkg.go.dev/github.com/flowdev/comb#State.AtEnd
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
boolhttps://pkg.go.dev/builtin#bool
ByteCounthttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L80
https://pkg.go.dev/github.com/flowdev/comb#State.ByteCount
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
inthttps://pkg.go.dev/builtin#int
BytesRemaininghttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L32
https://pkg.go.dev/github.com/flowdev/comb#State.BytesRemaining
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
inthttps://pkg.go.dev/builtin#int
BytesTohttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L67
https://pkg.go.dev/github.com/flowdev/comb#State.BytesTo
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
bytehttps://pkg.go.dev/builtin#byte
CurrentByteshttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L43
https://pkg.go.dev/github.com/flowdev/comb#State.CurrentBytes
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
bytehttps://pkg.go.dev/builtin#byte
CurrentPoshttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L50
https://pkg.go.dev/github.com/flowdev/comb#State.CurrentPos
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
inthttps://pkg.go.dev/builtin#int
CurrentSourceLinehttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L225
https://pkg.go.dev/github.com/flowdev/comb#State.CurrentSourceLine
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
stringhttps://pkg.go.dev/builtin#string
CurrentStringhttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L36
https://pkg.go.dev/github.com/flowdev/comb#State.CurrentString
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
stringhttps://pkg.go.dev/builtin#string
Delete1https://github.com/flowdev/comb/blob/77cd79933d05/state.go#L143
https://pkg.go.dev/github.com/flowdev/comb#State.Delete1
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Errorshttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L304
https://pkg.go.dev/github.com/flowdev/comb#State.Errors
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
errorhttps://pkg.go.dev/builtin#error
GetFromCachehttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L163
https://pkg.go.dev/github.com/flowdev/comb#State.GetFromCache
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
int32https://pkg.go.dev/builtin#int32
HasErrorhttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L213
https://pkg.go.dev/github.com/flowdev/comb#State.HasError
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
boolhttps://pkg.go.dev/builtin#bool
MoveBackTohttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L112
https://pkg.go.dev/github.com/flowdev/comb#State.MoveBackTo
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
inthttps://pkg.go.dev/builtin#int
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
MoveByhttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L91
https://pkg.go.dev/github.com/flowdev/comb#State.MoveBy
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
inthttps://pkg.go.dev/builtin#int
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
MoveSafeSpothttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L309
https://pkg.go.dev/github.com/flowdev/comb#State.MoveSafeSpot
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Movedhttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L137
https://pkg.go.dev/github.com/flowdev/comb#State.Moved
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
boolhttps://pkg.go.dev/builtin#bool
NewSemanticErrorhttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L195
https://pkg.go.dev/github.com/flowdev/comb#State.NewSemanticError
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
stringhttps://pkg.go.dev/builtin#string
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
NewSyntaxErrorhttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L188
https://pkg.go.dev/github.com/flowdev/comb#State.NewSyntaxError
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
stringhttps://pkg.go.dev/builtin#string
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
PutIntoCachehttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L159
https://pkg.go.dev/github.com/flowdev/comb#State.PutIntoCache
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
int32https://pkg.go.dev/builtin#int32
SafeSpotMovedhttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L315
https://pkg.go.dev/github.com/flowdev/comb#State.SafeSpotMoved
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
boolhttps://pkg.go.dev/builtin#bool
SaveErrorhttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L172
https://pkg.go.dev/github.com/flowdev/comb#State.SaveError
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
ParserErrorhttps://pkg.go.dev/github.com/flowdev/comb#ParserError
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
StringTohttps://github.com/flowdev/comb/blob/77cd79933d05/state.go#L54
https://pkg.go.dev/github.com/flowdev/comb#State.StringTo
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
Statehttps://pkg.go.dev/github.com/flowdev/comb#State
stringhttps://pkg.go.dev/builtin#string
https://pkg.go.dev/github.com/flowdev/comb#section-sourcefiles
View all Source fileshttps://github.com/flowdev/comb/tree/77cd79933d05
base.gohttps://github.com/flowdev/comb/blob/77cd79933d05/base.go
error.gohttps://github.com/flowdev/comb/blob/77cd79933d05/error.go
parser.gohttps://github.com/flowdev/comb/blob/77cd79933d05/parser.go
prepare.gohttps://github.com/flowdev/comb/blob/77cd79933d05/prepare.go
state.gohttps://github.com/flowdev/comb/blob/77cd79933d05/state.go
https://pkg.go.dev/github.com/flowdev/comb#section-directories
cmbhttps://pkg.go.dev/github.com/flowdev/comb@v0.0.0-20251119220355-77cd79933d05/cmb
cutehttps://pkg.go.dev/github.com/flowdev/comb@v0.0.0-20251119220355-77cd79933d05/cute
csvhttps://pkg.go.dev/github.com/flowdev/comb@v0.0.0-20251119220355-77cd79933d05/examples/csv
hexcolorhttps://pkg.go.dev/github.com/flowdev/comb@v0.0.0-20251119220355-77cd79933d05/examples/hexcolor
jsonhttps://pkg.go.dev/github.com/flowdev/comb@v0.0.0-20251119220355-77cd79933d05/examples/json
redishttps://pkg.go.dev/github.com/flowdev/comb@v0.0.0-20251119220355-77cd79933d05/examples/redis
parsifyhttps://pkg.go.dev/github.com/flowdev/comb@v0.0.0-20251119220355-77cd79933d05/experiments/parsify
omaphttps://pkg.go.dev/github.com/flowdev/comb@v0.0.0-20251119220355-77cd79933d05/x/omap
Why Go https://go.dev/solutions
Use Cases https://go.dev/solutions#use-cases
Case Studies https://go.dev/solutions#case-studies
Get Started https://learn.go.dev/
Playground https://play.golang.org
Tour https://tour.golang.org
Stack Overflow https://stackoverflow.com/questions/tagged/go?tab=Newest
Help https://go.dev/help
Packages https://pkg.go.dev
Standard Library https://pkg.go.dev/std
Sub-repositories https://pkg.go.dev/golang.org/x
About Go Packages https://pkg.go.dev/about
pkg.go.dev API https://pkg.go.dev/api
About https://go.dev/project
Downloadhttps://go.dev/dl/
Bloghttps://go.dev/blog
Issue Tracker https://github.com/golang/go/issues
Release Notes https://go.dev/doc/devel/release.html
Brand Guidelines https://go.dev/brand
Code of Conduct https://go.dev/conduct
Connect https://www.twitter.com/golang
Twitter https://www.twitter.com/golang
GitHubhttps://github.com/golang
Slack https://invite.slack.golangbridge.org/
r/golang https://reddit.com/r/golang
Meetup https://www.meetup.com/pro/go
Golang Weekly https://golangweekly.com/
Copyrighthttps://go.dev/copyright
Terms of Servicehttps://go.dev/tos
Privacy Policy http://www.google.com/intl/en/policies/privacy/
Report an Issue https://go.dev/s/pkgsite-feedback
https://google.com
Learn more.https://policies.google.com/technologies/cookies

Viewport: width=device-width, initial-scale=1.0


URLs of crawlers that visited me.