Skip to content

Commit

Permalink
Fix bugs in important one shot parser drivers
Browse files Browse the repository at this point in the history
  • Loading branch information
adithyaov committed Oct 7, 2024
1 parent 1cf8c8b commit 5d52680
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions core/src/Streamly/Internal/Data/Array.hs
Original file line number Diff line number Diff line change
Expand Up @@ -931,7 +931,7 @@ parseBreakChunksK (Parser pstep initial extract) stream = do
let n = Prelude.length backBuf
arr0 = fromListN n (Prelude.reverse backBuf)
arr1 = Array contents cur end
str = StreamK.cons arr0 (StreamK.cons arr1 stream)
str = StreamK.cons arr0 (StreamK.cons arr1 st)
return (Left (ParseError err), str)

-- This is a simplified goArray
Expand Down Expand Up @@ -965,7 +965,7 @@ parseBreakChunksK (Parser pstep initial extract) stream = do
return (Right b, StreamK.fromPure arr)
Parser.Done n b -> do
assert (n <= Prelude.length backBuf) (return ())
let src0 = Prelude.take n backBuf
let src0 = Prelude.take n (x:backBuf)
-- XXX Use fromListRevN once implemented
-- arr0 = A.fromListRevN n src0
arr0 = fromListN n (Prelude.reverse src0)
Expand Down
4 changes: 2 additions & 2 deletions core/src/Streamly/Internal/Data/Stream/Eliminate.hs
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ parseBreakD (PRD.Parser pstep initial extract) stream@(Stream step state) = do
PR.Done n b -> do
assert (n <= length (x:getList buf)) (return ())
let src0 = Prelude.take n (x:getList buf)
src = Prelude.reverse src0
src = Prelude.reverse src0 ++ xs
return (Right b, Nesting.append (fromList src) (Stream step s))
PR.Error err -> do
let src = Prelude.reverse (getList buf) ++ x:xs
Expand Down Expand Up @@ -311,7 +311,7 @@ parseBreakD (PRD.Parser pstep initial extract) stream@(Stream step state) = do
PR.Done n b -> do
assert (n <= length (x:getList buf)) (return ())
let src0 = Prelude.take n (x:getList buf)
src = Prelude.reverse src0
src = Prelude.reverse src0 ++ xs
return (Right b, fromList src)
PR.Error err -> do
let src = Prelude.reverse (getList buf) ++ x:xs
Expand Down
2 changes: 1 addition & 1 deletion core/src/Streamly/Internal/Data/StreamK.hs
Original file line number Diff line number Diff line change
Expand Up @@ -1259,7 +1259,7 @@ parseDBreak (PR.Parser pstep initial extract) stream = do
PR.Done n b -> do
assert (n <= length (x:buf)) (return ())
let src0 = Prelude.take n (x:buf)
src = Prelude.reverse src0
src = Prelude.reverse src0 ++ xs
return (Right b, append (fromList src) st)
PR.Error err -> do
let src = Prelude.reverse buf ++ x:xs
Expand Down

0 comments on commit 5d52680

Please sign in to comment.