Fix for empty strings.
authorD Herring <dherring@at.tentpost.dot.com>
Sat, 10 Mar 2007 17:50:57 +0000 (12:50 -0500)
committerD Herring <dherring@at.tentpost.dot.com>
Sat, 10 Mar 2007 17:50:57 +0000 (12:50 -0500)
examples/tests.lisp
parser.lisp

index c780239..32ffa18 100644 (file)
@@ -43,3 +43,6 @@
 
 (grammar-rule parse-test
   (grammar-string "abc"))
+
+(grammar-rule parse-test
+  (grammar-string ""))
index 27e3ea1..6af2ae2 100644 (file)
@@ -56,7 +56,7 @@
 
 (defmacro grammar-string (str)
   (let ((l (length str)))
-    (cond ((= l 0) 'start)
+    (cond ((= l 0) '(values start ""))
           ((= l 1) `(when (eq ,(char str 0) (char string start))
                      (values (1+ start) ,str)))
           (t