Skip to content
This repository was archived by the owner on Nov 12, 2025. It is now read-only.

Commit 484b30c

Browse files
committed
remove state from Failure result
This was never used.
1 parent 2179132 commit 484b30c

File tree

1 file changed

+19
-20
lines changed

1 file changed

+19
-20
lines changed

libs/contrib/Text/Parser/Core.idr

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,6 @@ gets f = pure (f !get)
209209

210210
data ParseResult : (st : Type) -> List tok -> (consumes : Bool) -> Type -> Type where
211211
Failure : {xs : List tok} ->
212-
(state : st) ->
213212
(committed : Bool) ->
214213
(err : String) -> (rest : List tok) -> ParseResult st xs c ty
215214
EmptyRes : (state : st) ->
@@ -226,7 +225,7 @@ data ParseResult : (st : Type) -> List tok -> (consumes : Bool) -> Type -> Type
226225
weakenRes : {whatever, c : Bool} -> {xs : List tok} ->
227226
(com' : Bool) ->
228227
ParseResult st xs c ty -> ParseResult st xs (whatever && c) ty
229-
weakenRes com' (Failure state com msg ts) = Failure state com' msg ts
228+
weakenRes com' (Failure com msg ts) = Failure com' msg ts
230229
weakenRes {whatever=True} com' (EmptyRes state com val xs) = EmptyRes state com' val xs
231230
weakenRes {whatever=False} com' (EmptyRes state com val xs) = EmptyRes state com' val xs
232231
weakenRes com' (NonEmptyRes state com val more) = NonEmptyRes state com' val more
@@ -240,7 +239,7 @@ upgradeRes : {c : Bool} -> {xs : List tok} ->
240239
outerST ->
241240
ParseResult innerST xs c ty ->
242241
ParseResult outerST xs c (ty, innerST)
243-
upgradeRes state (Failure inner com msg xs) = Failure state com msg xs
242+
upgradeRes state (Failure com msg xs) = Failure com msg xs
244243
upgradeRes state (EmptyRes inner com val xs) = EmptyRes state com (val, inner) xs
245244
upgradeRes state (NonEmptyRes inner com val xs) = NonEmptyRes state com (val, inner) xs
246245

@@ -253,29 +252,29 @@ doParse state com xs act with (sizeAccessible xs)
253252
doParse state com xs Get | sml = EmptyRes state com state xs
254253
doParse state com xs (Put newState) | sml = EmptyRes newState com () xs
255254
doParse state com xs (Empty val) | sml = EmptyRes state com val xs
256-
doParse state com [] (Fail str) | sml = Failure state com str []
257-
doParse state com (x :: xs) (Fail str) | sml = Failure state com str (x :: xs)
255+
doParse state com [] (Fail str) | sml = Failure com str []
256+
doParse state com (x :: xs) (Fail str) | sml = Failure com str (x :: xs)
258257
doParse state com xs Commit | sml = EmptyRes state True () xs
259258

260-
doParse state com [] (Terminal f) | sml = Failure state com "End of input" []
259+
doParse state com [] (Terminal f) | sml = Failure com "End of input" []
261260
doParse state com (x :: xs) (Terminal f) | sml
262261
= maybe
263-
(Failure state com "Unrecognised token" (x :: xs))
262+
(Failure com "Unrecognised token" (x :: xs))
264263
(\a => NonEmptyRes state com {xs=[]} a xs)
265264
(f x)
266265
doParse state com [] EOF | sml = EmptyRes state com () []
267266
doParse state com (x :: xs) EOF | sml
268-
= Failure state com "Expected end of input" (x :: xs)
269-
doParse state com [] (NextIs f) | sml = Failure state com "End of input" []
267+
= Failure com "Expected end of input" (x :: xs)
268+
doParse state com [] (NextIs f) | sml = Failure com "End of input" []
270269
doParse state com (x :: xs) (NextIs f) | sml
271270
= if f x
272271
then EmptyRes state com x (x :: xs)
273-
else Failure state com "Unrecognised token" (x :: xs)
272+
else Failure com "Unrecognised token" (x :: xs)
274273
doParse state com xs (Alt x y) | sml with (doParse state False xs x | sml)
275-
doParse state com xs (Alt x y) | sml | Failure state' com' msg ts
274+
doParse state com xs (Alt x y) | sml | Failure com' msg ts
276275
= if com' -- If the alternative had committed, don't try the
277276
-- other branch (and reset commit flag)
278-
then Failure state' com msg ts
277+
then Failure com msg ts
279278
else weakenRes com (doParse state False xs y | sml)
280279
-- Successfully parsed the first option, so use the outer commit flag
281280
doParse state com xs (Alt x y) | sml | (EmptyRes state' _ val xs)
@@ -284,32 +283,32 @@ doParse state com xs act with (sizeAccessible xs)
284283
= NonEmptyRes state' com val more
285284
doParse state com xs (SeqEmpty act next) | (Access morerec)
286285
= case doParse state com xs act | Access morerec of
287-
Failure state' com msg ts => Failure state' com msg ts
286+
Failure com msg ts => Failure com msg ts
288287
EmptyRes state' com val xs =>
289288
case doParse state' com xs (next val) | (Access morerec) of
290-
Failure state'' com' msg ts => Failure state'' com' msg ts
289+
Failure com' msg ts => Failure com' msg ts
291290
EmptyRes state'' com' val xs => EmptyRes state'' com' val xs
292291
NonEmptyRes state'' com' val more => NonEmptyRes state'' com' val more
293292
NonEmptyRes state' {x} {xs=ys} com val more =>
294293
case (doParse state' com more (next val) | morerec _ (shorter more ys)) of
295-
Failure state'' com' msg ts => Failure state'' com' msg ts
294+
Failure com' msg ts => Failure com' msg ts
296295
EmptyRes state'' com' val _ => NonEmptyRes state'' com' val more
297296
NonEmptyRes state'' {x=x1} {xs=xs1} com' val more' =>
298297
rewrite appendAssociative (x :: ys) (x1 :: xs1) more' in
299298
NonEmptyRes state'' com' val more'
300299
doParse state com xs (SeqEat act next) | sml with (doParse state com xs act | sml)
301-
doParse state com xs (SeqEat act next) | sml | Failure state' com' msg ts
302-
= Failure state' com' msg ts
300+
doParse state com xs (SeqEat act next) | sml | Failure com' msg ts
301+
= Failure com' msg ts
303302
doParse state com (x :: (ys ++ more)) (SeqEat act next) | (Access morerec) | (NonEmptyRes state' com' val more)
304303
= case doParse state' com' more (next val) | morerec _ (shorter more ys) of
305-
Failure state'' com' msg ts => Failure state'' com' msg ts
304+
Failure com' msg ts => Failure com' msg ts
306305
EmptyRes state'' com' val _ => NonEmptyRes state'' com' val more
307306
NonEmptyRes state'' {x=x1} {xs=xs1} com' val more' =>
308307
rewrite appendAssociative (x :: ys) (x1 :: xs1) more' in
309308
NonEmptyRes state'' com' val more'
310309
-- This next line is not strictly necessary, but it stops the coverage
311310
-- checker taking a really long time and eating lots of memory...
312-
doParse state _ _ _ | sml = Failure state True "Help the coverage checker!" []
311+
doParse state _ _ _ | sml = Failure True "Help the coverage checker!" []
313312

314313
public export
315314
data ParseError tok = Error String (List tok)
@@ -325,7 +324,7 @@ parseState : (act : GrammarT st tok c ty) ->
325324
Either (ParseError tok) ((ty, st), List tok)
326325
parseState act initial xs
327326
= case doParse initial False xs act of
328-
Failure _ _ msg ts => Left (Error msg ts)
327+
Failure _ msg ts => Left (Error msg ts)
329328
EmptyRes state _ val rest => Right ((val, state), rest)
330329
NonEmptyRes state _ val rest => Right ((val, state), rest)
331330

0 commit comments

Comments
 (0)