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

Commit c89cd4e

Browse files
committed
inline upgradeRes in doParse
1 parent 410be2c commit c89cd4e

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

libs/contrib/Text/Parser/Core.idr

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -238,20 +238,16 @@ shorter : (more : List tok) -> .(ys : List tok) ->
238238
shorter more [] = lteRefl
239239
shorter more (x :: xs) = LTESucc (lteSuccLeft (shorter more xs))
240240

241-
upgradeRes : {c : Bool} -> {xs : List tok} ->
242-
outerST ->
243-
ParseResult innerST xs c ty ->
244-
ParseResult outerST xs c (ty, innerST)
245-
upgradeRes state (Failure com msg xs) = Failure com msg xs
246-
upgradeRes state (EmptyRes inner com val xs) = EmptyRes state com (val, inner) xs
247-
upgradeRes state (NonEmptyRes inner com val xs) = NonEmptyRes state com (val, inner) xs
248-
249241
doParse : {c : Bool} ->
250242
(state : st) ->
251243
(commit : Bool) -> (xs : List tok) -> (act : GrammarST st tok c ty) ->
252244
ParseResult st xs c ty
253245
doParse state com xs act with (sizeAccessible xs)
254-
doParse state com xs (Run sub init) | sml = upgradeRes state (doParse init com xs sub | sml)
246+
doParse state com xs (Run sub init) | sml
247+
= case (doParse init com xs sub | sml) of
248+
Failure com' msg xs' => Failure com' msg xs'
249+
EmptyRes inner com' val xs' => EmptyRes state com' (val, inner) xs'
250+
NonEmptyRes inner com' val xs' => NonEmptyRes state com' (val, inner) xs'
255251
doParse state com xs Get | sml = EmptyRes state com state xs
256252
doParse state com xs (Put newState) | sml = EmptyRes newState com () xs
257253
doParse state com xs (Empty val) | sml = EmptyRes state com val xs

0 commit comments

Comments
 (0)