Remove unneeded manyUntilPerformant
This commit is contained in:
@@ -134,32 +134,6 @@ proc ignore*(parserFn: parserFnT): parserFnT {.inline.} =
|
|||||||
tokens: parser.tokens,
|
tokens: parser.tokens,
|
||||||
))
|
))
|
||||||
|
|
||||||
proc manyUntilPerformant*(acceptFn: parserFnT, stopFn: parserFnT): parserFnT {.inline.} =
|
|
||||||
## Parse characters but throw success tokens away
|
|
||||||
return proc(parser: Parser): ParserResult =
|
|
||||||
let startPosition = parser.state.position
|
|
||||||
var res: ParserResult = parser.ok()
|
|
||||||
|
|
||||||
while res.isOk() and res.flatMap(stopFn).isErr():
|
|
||||||
res = res.flatMap(acceptFn)
|
|
||||||
|
|
||||||
return res.map((p: Parser) => Parser(
|
|
||||||
state: ParserState(
|
|
||||||
stream: p.state.stream,
|
|
||||||
position: p.state.position,
|
|
||||||
lastPosition: p.state.lastPosition,
|
|
||||||
),
|
|
||||||
tokens: @[
|
|
||||||
ParserToken(
|
|
||||||
kind: parserTokenString,
|
|
||||||
stringValue: p.state.stream[(startPosition - 1)..p.state.position],
|
|
||||||
)
|
|
||||||
]
|
|
||||||
))
|
|
||||||
|
|
||||||
proc anyUntilPerformant*(stopFn: parserFnT): parserFnT {.inline.} =
|
|
||||||
manyUntilPerformant(ch(AllChars), stopFn)
|
|
||||||
|
|
||||||
proc manyUntil*(acceptFn: parserFnT, stopFn: parserFnT): parserFnT {.inline.} =
|
proc manyUntil*(acceptFn: parserFnT, stopFn: parserFnT): parserFnT {.inline.} =
|
||||||
## Parse characters but throw success tokens away
|
## Parse characters but throw success tokens away
|
||||||
return proc(parser: Parser): ParserResult =
|
return proc(parser: Parser): ParserResult =
|
||||||
|
|||||||
Reference in New Issue
Block a user