     ] if* 
   ] if ;
 
-M: choice-parser parse ( state parser -- result )
+M: choice-parser (parse) ( state parser -- result )
   choice-parser-parsers (choice-parser) ;
 
 TUPLE: repeat0-parser p1 ;

! Copyright (C) 2007 Chris Double.
! See http://factorcode.org/license.txt for BSD license.
USING: kernel sequences strings namespaces math assocs shuffle vectors arrays combinators.lib ;
IN: peg

TUPLE: parse-result remaining ast ;

GENERIC: parse ( state parser -- result )

<PRIVATE

SYMBOL: ignore 

: <parse-result> ( remaining ast -- parse-result )


TUPLE: ensure-not-parser p1 ;

M: ensure-not-parser (parse) ( state parser -- result )
   dupd ensure-not-parser-p1 parse [
     drop f
   ] [
