copyright: comply with REUSE-3.0
[haskell/symantic-parser.git] / src / Symantic / Parser / Machine / View.hs
index e55dbcaf43369c00bb7127e4e16413a1afe94a82..743f4874182530f9cc323deb8a7917afd60e9e7b 100644 (file)
@@ -56,6 +56,7 @@ viewInstrCmd ::
 viewInstrCmd gen finalByLet (cmd, no) = Tree.Node $ (cmd
   <> "\nminReads="<>showsPrec 11 (minReads ga) ""
   <> "\nmayRaise="<>show (Map.keys (mayRaise ga))
+  <> "\nalwaysRaise="<>show (Set.toList (alwaysRaise ga))
   <> "\nfreeRegs="<>show (hideableName @sN (Set.toList (freeRegs ga)))
   , no)
   where
@@ -139,7 +140,7 @@ instance
     { unViewMachine = \lm next ->
         viewInstrCmd @sN (Right gen) lm ("catch "<>show exn, "")
           [ viewInstrArg "catchScope" (unViewMachine ok lm [])
-          , viewInstrArg "onException" (unViewMachine ko lm [])
+          , viewInstrArg ("onException "<>show exn) (unViewMachine ko lm [])
           ] : next
     , viewGen = gen
     } where gen = catch exn (viewGen ok) (viewGen ko)
@@ -212,12 +213,12 @@ instance
 instance
   HideableName sN =>
   InstrInputable (ViewMachine sN) where
-  pushInput k = ViewMachine
+  saveInput k = ViewMachine
     { unViewMachine = \lm next ->
-        viewInstrCmd @sN (Right gen) lm ("pushInput", "") [] :
+        viewInstrCmd @sN (Right gen) lm ("saveInput", "") [] :
         unViewMachine k lm next
     , viewGen = gen
-    } where gen = pushInput (viewGen k)
+    } where gen = saveInput (viewGen k)
   loadInput k = ViewMachine
     { unViewMachine = \lm next ->
         viewInstrCmd @sN (Right gen) lm ("loadInput", "") [] :