Print error message nicely
parent
b5cef674b1
commit
e47f944cca
|
@ -19,6 +19,10 @@ C: <parse-result> parse-result
|
||||||
C: <parse-error> parse-error
|
C: <parse-error> parse-error
|
||||||
C: <parser> parser
|
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
|
SYMBOL: error-stack
|
||||||
|
|
||||||
: (merge-errors) ( a b -- c )
|
: (merge-errors) ( a b -- c )
|
||||||
|
@ -311,7 +315,7 @@ TUPLE: token-parser symbol ;
|
||||||
dup >r ?head-slice [
|
dup >r ?head-slice [
|
||||||
r> <parse-result> f f add-error
|
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 ;
|
] if ;
|
||||||
|
|
||||||
M: token-parser (compile) ( parser -- quot )
|
M: token-parser (compile) ( parser -- quot )
|
||||||
|
|
Loading…
Reference in New Issue