diff --git a/extra/peg/peg.factor b/extra/peg/peg.factor index a9695f90d8..d388bbd124 100755 --- a/extra/peg/peg.factor +++ b/extra/peg/peg.factor @@ -19,6 +19,10 @@ C: parse-result C: parse-error C: 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> 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 )