diff --git a/lexer/lexer.go b/lexer/lexer.go index e23ecad..991372c 100644 --- a/lexer/lexer.go +++ b/lexer/lexer.go @@ -1,6 +1,11 @@ // Package lexer provides basic helpers to implement parsers package lexer +import ( + "errors" + "io" +) + // StateFn is a State Function of the parser type StateFn func() (StateFn, error) @@ -11,7 +16,11 @@ func Run(fn StateFn) error { var err error fn, err = fn() - if err != nil { + switch { + case errors.Is(err, io.EOF): + // EOF + return nil + case err != nil: // failed return err }