about summary refs log tree commit diff stats
path: root/shell/parse.mu
diff options
context:
space:
mode:
Diffstat (limited to 'shell/parse.mu')
-rw-r--r--shell/parse.mu10
1 files changed, 8 insertions, 2 deletions
diff --git a/shell/parse.mu b/shell/parse.mu
index c9e2901f..d888f56b 100644
--- a/shell/parse.mu
+++ b/shell/parse.mu
@@ -8,8 +8,8 @@ fn parse-input tokens: (addr stream token), out: (addr handle cell), trace: (add
     return
   }
   var close-paren?/eax: boolean <- copy 0/false
-  var dummy?/ecx: boolean <- copy 0/false
-  close-paren?, dummy? <- parse-sexpression tokens, out, trace
+  var dot?/ecx: boolean <- copy 0/false
+  close-paren?, dot? <- parse-sexpression tokens, out, trace
   {
     compare close-paren?, 0/false
     break-if-=
@@ -17,6 +17,12 @@ fn parse-input tokens: (addr stream token), out: (addr handle cell), trace: (add
     return
   }
   {
+    compare dot?, 0/false
+    break-if-=
+    error trace, "'.' is not a valid expression"
+    return
+  }
+  {
     var empty?/eax: boolean <- stream-empty? tokens
     compare empty?, 0/false
     break-if-!=