about summary refs log tree commit diff stats
path: root/shell/parse.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-05-30 16:45:38 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-05-30 16:45:38 -0700
commitb699982fb490159b56ba443228269e1cc066d35a (patch)
tree20393ab5e62db253104e23dcbbd80e6f6f6365d4 /shell/parse.mu
parent40c606632482e7a8d2f95c692a3a5166376569c6 (diff)
downloadmu-b699982fb490159b56ba443228269e1cc066d35a.tar.gz
.
Diffstat (limited to 'shell/parse.mu')
-rw-r--r--shell/parse.mu5
1 files changed, 5 insertions, 0 deletions
diff --git a/shell/parse.mu b/shell/parse.mu
index a977216c..bcaedd21 100644
--- a/shell/parse.mu
+++ b/shell/parse.mu
@@ -37,6 +37,7 @@ fn parse-sexpression tokens: (addr stream cell), _out: (addr handle cell), trace
   {
     break-if-=
     error trace, "end of stream; never found a balancing ')'"
+    trace-higher trace
     return 1/true, 0/false
   }
   read-from-stream tokens, curr-token
@@ -55,6 +56,7 @@ fn parse-sexpression tokens: (addr stream cell), _out: (addr handle cell), trace
       var close-paren?/eax: boolean <- copy 0/false
       var dot?/ecx: boolean <- copy 0/false
       close-paren?, dot? <- parse-sexpression tokens, right-ah, trace
+      trace-higher trace
       return close-paren?, dot?
     }
     # backquote quote -> parse as list with a special car
@@ -71,6 +73,7 @@ fn parse-sexpression tokens: (addr stream cell), _out: (addr handle cell), trace
       var close-paren?/eax: boolean <- copy 0/false
       var dot?/ecx: boolean <- copy 0/false
       close-paren?, dot? <- parse-sexpression tokens, right-ah, trace
+      trace-higher trace
       return close-paren?, dot?
     }
     # unquote -> parse as list with a special car
@@ -87,6 +90,7 @@ fn parse-sexpression tokens: (addr stream cell), _out: (addr handle cell), trace
       var close-paren?/eax: boolean <- copy 0/false
       var dot?/ecx: boolean <- copy 0/false
       close-paren?, dot? <- parse-sexpression tokens, right-ah, trace
+      trace-higher trace
       return close-paren?, dot?
     }
     # unquote-splice -> parse as list with a special car
@@ -103,6 +107,7 @@ fn parse-sexpression tokens: (addr stream cell), _out: (addr handle cell), trace
       var close-paren?/eax: boolean <- copy 0/false
       var dot?/ecx: boolean <- copy 0/false
       close-paren?, dot? <- parse-sexpression tokens, right-ah, trace
+      trace-higher trace
       return close-paren?, dot?
     }
     # dot -> return