// Package lexer provides basic helpers to implement parsers package lexer // StateFn is a State Function of the parser type StateFn func() (StateFn, error) // Run runs a state machine until the state function either // returns nil or an error func Run(fn StateFn) error { var err error for fn != nil && err == nil { fn, err = fn() } return err }