     }
 }
 
-postfix operator >+ { }
-postfix func >+ <T, S:State>(p: Parsec<T, S>.Parser)  -> Parsec<[T], S>.Parser {
-    return many1(p)
-}
-
+// 匹配给定算子0到多次，并以指定的算子结尾
 func manyTil<T, TilType, S:State>(p:Parsec<T, S>.Parser,
         tail:Parsec<TilType, S>.Parser)->Parsec<[T], S>.Parser{
     return (many(p) =>> tail)
 }
 
+// 匹配给定算子0到1次，失败返回 nil
 func zeroOrOnce<T, S:State>(p:Parsec<T, S>.Parser)->Parsec<T?, S>.Parser{
     return{( state: S) throws -> T? in
         do{

    }
}



    }
}

// 匹配给定算子0到多次
func many<T, S:State >(p:Parsec<T, S>.Parser) -> Parsec<[T], S>.Parser {
    return {( state: S) throws -> [T] in
        var re = [T]()
