package Ġcom . nek om atic . iron ik . core . combin ators Ċ Ċ import Ġcom . nek om atic . iron ik . core . I Input Ċ import Ġcom . nek om atic . iron ik . core . I Parser Ċ import Ġcom . nek om atic . iron ik . core . Parser Result Ċ import Ġcom . nek om atic . iron ik . core . parsers . Parser Ċ Ċ fun Ġ< T Ġ: ĠAny , ĠT Stream Item Ġ: ĠAny > Ġanything But ( parser : ĠI Parser < T , ĠT Stream Item >): ĠI Parser < T Stream Item , ĠT Stream Item > Ġ= ĊĠĠĠĠĠĠĠ ĠParser ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġinput : ĠI Input < T Stream Item > Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparser Result Ġ= Ġparser . parse ( input ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parser Result Ġis ĠParser Result . Success ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParser Result . Failure ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Ġ= Ġinput . position , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= Ġ" Anything Ġwhich Ġis Ġnot Ġ'${ parser Result . payload . join ToString Ġ{ Ġit . toString () Ġ}} '" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany < T Stream Item >(). parse ( input ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ)