]> gitweb.factorcode.org Git - factor.git/commitdiff
Print error message nicely
authorChris Double <chris@bethia.(none)>
Thu, 3 Jul 2008 05:38:28 +0000 (17:38 +1200)
committerChris Double <chris@bethia.(none)>
Thu, 10 Jul 2008 01:56:06 +0000 (13:56 +1200)
extra/peg/peg.factor

index a9695f90d8b6f22d5b684b005a06ec1749ad7077..d388bbd124a38b268f69d4829b5c2055dc2c8194 100755 (executable)
@@ -19,6 +19,10 @@ C: <parse-result>  parse-result
 C: <parse-error> parse-error
 C: <parser>        parser
 
+M: parse-error error.
+  "Peg parsing error at character position " write dup position>> number>string write 
+  "." print "Expected " write messages>> [ " or " write ] [ write ] interleave nl ;
+
 SYMBOL: error-stack
 
 : (merge-errors) ( a b -- c )
@@ -311,7 +315,7 @@ TUPLE: token-parser symbol ;
   dup >r ?head-slice [
     r> <parse-result> f f add-error
   ] [
-    drop input-slice input-from "Expected token '" r> append "'" append 1vector add-error f
+    drop input-slice input-from "token '" r> append "'" append 1vector add-error f
   ] if ;
 
 M: token-parser (compile) ( parser -- quot )