Add <:&:> to parser-combinators

release
Doug Coleman 2007-11-25 03:55:15 -06:00
parent a019a64407
commit 3fc47bae3a
1 changed files with 5 additions and 1 deletions

View File

@ -190,6 +190,10 @@ M: some-parser (parse) ( input parser -- result )
#! Same as <&> except flatten the result.
<&> [ dup second swap first [ , % ] { } make ] <@ ;
: <:&:> ( parser1 parser2 -- result )
#! Same as <&> except flatten the result.
<&> [ dup second swap first [ % % ] { } make ] <@ ;
LAZY: <*> ( parser -- parser )
dup <*> <&:> { } succeed <|> ;
@ -263,4 +267,4 @@ LAZY: <(+)> ( parser -- parser )
nonempty-list-of { } succeed <|> ;
LAZY: surrounded-by ( parser start end -- parser' )
[ token ] 2apply swapd pack ;
[ token ] 2apply swapd pack ;