Fix endOfStream impementation
This commit is contained in:
@@ -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,
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user