pub fn lazy<'a, I, A, F>(f: F) -> Parser<'a, I, A>
Expand description
Returns a Parser that lazily evaluates the specified Parser.
指定したParserを遅延評価するParserを返す。
- f: Function to generate parser
- f: パーサーを生成する関数
§Example
use std::iter::FromIterator;
use oni_comb_parser_rs::prelude::*;
let text: &str = "abc";
let input = text.chars().collect::<Vec<_>>();
fn value<'a>() -> Parser<'a, char, &'a str> {
tag("abc")
}
let parser: Parser<char, &str> = lazy(value);
let result: ParseResult<char, &str> = parser.parse(&input);
assert!(result.is_success());
assert_eq!(result.success().unwrap(), "abc");