peg lexer changes
parent
22d14b036a
commit
b31f8a0d15
|
@ -1,5 +1,6 @@
|
|||
USING: hashtables assocs sequences locals math accessors multiline delegate strings
|
||||
delegate.protocols kernel peg peg.ebnf lexer namespaces combinators parser words ;
|
||||
delegate.protocols kernel peg peg.ebnf peg.private lexer namespaces combinators parser
|
||||
words ;
|
||||
IN: peg-lexer
|
||||
|
||||
TUPLE: lex-hash hash ;
|
||||
|
@ -43,11 +44,11 @@ M: lex-hash at*
|
|||
|
||||
: parse* ( parser -- ast )
|
||||
compile
|
||||
[ execute( -- result ) [ error-stack get first throw ] unless* ] with-global-lexer
|
||||
[ execute [ error-stack get first throw ] unless* ] with-global-lexer
|
||||
ast>> ;
|
||||
|
||||
: create-bnf ( name parser -- )
|
||||
reset-tokenizer [ lexer get skip-blank parse* parsed ] curry
|
||||
reset-tokenizer [ lexer get skip-blank parse* dup ignore? [ drop ] [ parsed ] if ] curry
|
||||
define-syntax ;
|
||||
|
||||
SYNTAX: ON-BNF:
|
||||
|
|
Loading…
Reference in New Issue