1
0
forked from GitHub/gf-core

a work in progress implementation for reset

This commit is contained in:
Krasimir Angelov
2024-08-26 13:47:39 +02:00
parent 428287346a
commit 676a01db2c
7 changed files with 42 additions and 16 deletions

View File

@@ -256,6 +256,8 @@ ppTerm q d (Markup tag attrs children)
| otherwise = pp "<" <> pp tag <+> hsep (map (ppMarkupAttr q) attrs) <> pp ">" $$
nest 3 (ppMarkupChildren q children) $$
pp "</" <> pp tag <> pp ">"
ppTerm q d (Reset c t)
= pp "[:" <> ppControl c <+> pp "|" <> ppTerm q 0 t <> pp "]"
ppTerm q d (TSymCat i r rs) = pp '<' <> pp i <> pp ',' <> ppLinFun (pp.fst) r rs <> pp '>'
ppTerm q d (TSymVar i r) = pp '<' <> pp i <> pp ',' <> pp '$' <> pp r <> pp '>'
@@ -263,6 +265,9 @@ ppEquation q (ps,e) = hcat (map (ppPatt q 2) ps) <+> "->" <+> ppTerm q 0 e
ppCase q (p,e) = ppPatt q 0 p <+> "=>" <+> ppTerm q 0 e
ppControl All = empty
ppControl (Limit n) = pp n
instance Pretty Patt where pp = ppPatt Unqualified 0
ppPatt q d (PAlt p1 p2) = prec d 0 (ppPatt q 0 p1 <+> '|' <+> ppPatt q 1 p2)