Fixed the parser again for extended rendezvous
This commit is contained in:
parent
cb4250b1b2
commit
13ce688271
|
@ -2003,11 +2003,15 @@ alternative
|
||||||
guardedAlternative :: OccParser (A.Structured A.Alternative)
|
guardedAlternative :: OccParser (A.Structured A.Alternative)
|
||||||
guardedAlternative
|
guardedAlternative
|
||||||
= do m <- md
|
= do m <- md
|
||||||
(makeAlt, alreadyIndented) <- guard
|
(makeAlt, alreadyIndentedAfterExt) <- guard
|
||||||
when (not alreadyIndented) $ indent
|
if alreadyIndentedAfterExt
|
||||||
p <- process
|
-- There may or may not be a further process:
|
||||||
outdent
|
then (tryVX process outdent >>* (A.Only m . makeAlt))
|
||||||
return $ A.Only m (makeAlt p)
|
<|> (outdent >> return (A.Only m $ makeAlt (A.Skip m)))
|
||||||
|
else do indent
|
||||||
|
p <- process
|
||||||
|
outdent
|
||||||
|
return $ A.Only m (makeAlt p)
|
||||||
<?> "guarded alternative"
|
<?> "guarded alternative"
|
||||||
|
|
||||||
guard :: OccParser (A.Process -> A.Alternative, Bool)
|
guard :: OccParser (A.Process -> A.Alternative, Bool)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user