Fix endOfStream impementation

This commit is contained in:
Florian Schroedl
2022-01-20 17:00:00 +01:00
parent d98cf8adf1
commit 3dac05efdd

View File

@@ -193,13 +193,14 @@ func str*(s: string): (Parser -> ParserResult) {.inline.} =
return p return p
proc endOfStream*(parser: Parser): ParserResult = proc endOfStream*(parser: Parser): ParserResult =
if parser.state.position == parser.state.stream.len - 1: let index = parser.state.position + 1
if index == parser.state.stream.len:
ok(parser) ok(parser)
else: else:
err(ParserError( err(ParserError(
kind: endOfStringErr, kind: endOfStringErr,
expected: &"EndOfString", expected: &"EndOfString",
index: parser.state.position, index: index,
parser: parser, parser: parser,
)) ))