@@ -209,7 +209,6 @@ gets f = pure (f !get)
209209
210210data 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
226225weakenRes : {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
230229weakenRes {whatever= True } com' (EmptyRes state com val xs) = EmptyRes state com' val xs
231230weakenRes {whatever= False } com' (EmptyRes state com val xs) = EmptyRes state com' val xs
232231weakenRes 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
244243upgradeRes state (EmptyRes inner com val xs) = EmptyRes state com (val, inner) xs
245244upgradeRes 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
314313public export
315314data 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)
326325parseState 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