@@ -219,6 +219,7 @@ parseBreakD (PRD.Parser pstep initial extract) stream@(Stream step state) = do
219 src = Prelude.reverse src0
219 src = Prelude.reverse src0
220 gobuf SPEC s (List []) (List src) pst1
220 gobuf SPEC s (List []) (List src) pst1
221 PR.Continue 0 pst1 -> go SPEC s (List (x:getList buf)) pst1
221 PR.Continue 0 pst1 -> go SPEC s (List (x:getList buf)) pst1
222+ PR.Continue 1 pst1 -> gobuf SPEC s buf (List [x]) pst1
222 PR.Continue n pst1 -> do
223 PR.Continue n pst1 -> do
223 assert (n <= length (x:getList buf)) (return ())
224 assert (n <= length (x:getList buf)) (return ())
224 let (src0, buf1) = splitAt n (x:getList buf)
225 let (src0, buf1) = splitAt n (x:getList buf)
@@ -279,6 +280,8 @@ parseBreakD (PRD.Parser pstep initial extract) stream@(Stream step state) = do
279 gobuf SPEC s (List []) (List src) pst1
280 gobuf SPEC s (List []) (List src) pst1
280 PR.Continue 0 pst1 ->
281 PR.Continue 0 pst1 ->
281 gobuf SPEC s (List (x:getList buf)) (List xs) pst1
282 gobuf SPEC s (List (x:getList buf)) (List xs) pst1
283+ PR.Continue 1 pst1 ->
284+ gobuf SPEC s buf (List (x:xs)) pst1
282 PR.Continue n pst1 -> do
285 PR.Continue n pst1 -> do
283 assert (n <= length (x:getList buf)) (return ())
286 assert (n <= length (x:getList buf)) (return ())
284 let (src0, buf1) = splitAt n (x:getList buf)
287 let (src0, buf1) = splitAt n (x:getList buf)
@@ -309,6 +312,8 @@ parseBreakD (PRD.Parser pstep initial extract) stream@(Stream step state) = do
309 goExtract SPEC (List []) (List src) pst1
312 goExtract SPEC (List []) (List src) pst1
310 PR.Continue 0 pst1 ->
313 PR.Continue 0 pst1 ->
311 goExtract SPEC (List (x:getList buf)) (List xs) pst1
314 goExtract SPEC (List (x:getList buf)) (List xs) pst1
315+ PR.Continue 1 pst1 ->
316+ goExtract SPEC buf (List (x:xs)) pst1
312 PR.Continue n pst1 -> do
317 PR.Continue n pst1 -> do
313 assert (n <= length (x:getList buf)) (return ())
318 assert (n <= length (x:getList buf)) (return ())
314 let (src0, buf1) = splitAt n (x:getList buf)
319 let (src0, buf1) = splitAt n (x:getList buf)