Lines Matching refs:parse
327 /// The parser can be run with either the `parse` or `parse_with_comments`
328 /// methods. The parse methods return an abstract syntax tree.
337 pub fn parse(&mut self, pattern: &str) -> Result<Ast> {
338 ParserI::new(self, pattern).parse()
352 /// This is called at the beginning of every parse. This prevents the
951 fn parse(&self) -> Result<Ast> {
1823 // OK, now we're parsing a range, so bump past the `-` and parse the
1949 /// Attempt to parse an ASCII character class, e.g., `[:alnum:]`.
2498 parser_nest_limit("", 0).parse(),
2501 assert_eq!(parser_nest_limit("a", 0).parse(), Ok(lit('a', 0)));
2505 parser_nest_limit("a+", 0).parse().unwrap_err(),
2512 parser_nest_limit("a+", 1).parse(),
2524 parser_nest_limit("(a)+", 1).parse().unwrap_err(),
2531 parser_nest_limit("a+*", 1).parse().unwrap_err(),
2538 parser_nest_limit("a+*", 2).parse(),
2560 parser_nest_limit("ab", 0).parse().unwrap_err(),
2567 parser_nest_limit("ab", 1).parse(),
2571 parser_nest_limit("abc", 1).parse(),
2577 parser_nest_limit("a|b", 0).parse().unwrap_err(),
2584 parser_nest_limit("a|b", 1).parse(),
2588 parser_nest_limit("a|b|c", 1).parse(),
2595 parser_nest_limit("[a]", 0).parse().unwrap_err(),
2602 parser_nest_limit("[a]", 1).parse(),
2616 parser_nest_limit("[ab]", 1).parse().unwrap_err(),
2623 parser_nest_limit("[ab[cd]]", 2).parse().unwrap_err(),
2630 parser_nest_limit("[ab[cd]]", 3).parse().unwrap_err(),
2637 parser_nest_limit("[a--b]", 1).parse().unwrap_err(),
2644 parser_nest_limit("[a--bc]", 2).parse().unwrap_err(),
2701 assert_eq!(parser("]").parse(), Ok(lit(']', 0)));
2703 parser(r"\\\.\+\*\?\(\)\|\[\]\{\}\^\$\#\&\-\~").parse(),
2735 parser(pat).parse(),
2749 parser(pat).parse(),
2767 parser(pat).parse(),
2795 parser(pat).parse(),
2814 parser(pat).parse(),
2829 parser(pat).parse(),
2847 parser(pat).parse(),
2866 parser(pat).parse(),
2884 parser(pat).parse().unwrap_err(),
2896 parser(pat).parse(),
2909 parser(pat).parse(),
2937 parser(r"a*").parse(),
2949 parser(r"a+").parse(),
2962 parser(r"a?").parse(),
2974 parser(r"a??").parse(),
2986 parser(r"a?").parse(),
2998 parser(r"a?b").parse(),
3016 parser(r"a??b").parse(),
3034 parser(r"ab?").parse(),
3052 parser(r"(ab)?").parse(),
3068 parser(r"|a?").parse(),
3087 parser(r"*").parse().unwrap_err(),
3094 parser(r"(?i)*").parse().unwrap_err(),
3101 parser(r"(*)").parse().unwrap_err(),
3108 parser(r"(?:?)").parse().unwrap_err(),
3115 parser(r"+").parse().unwrap_err(),
3122 parser(r"?").parse().unwrap_err(),
3129 parser(r"(?)").parse().unwrap_err(),
3136 parser(r"|*").parse().unwrap_err(),
3143 parser(r"|+").parse().unwrap_err(),
3150 parser(r"|?").parse().unwrap_err(),
3161 parser(r"a{5}").parse(),
3175 parser(r"a{5,}").parse(),
3189 parser(r"a{5,9}").parse(),
3203 parser(r"a{5}?").parse(),
3217 parser(r"ab{5}").parse(),
3237 parser(r"ab{5}c").parse(),
3259 parser(r"a{ 5 }").parse(),
3273 parser(r"a{ 5 , 9 }").parse(),
3287 parser_ignore_whitespace(r"a{5,9} ?").parse(),
3302 parser(r"(?i){0}").parse().unwrap_err(),
3309 parser(r"(?m){1,1}").parse().unwrap_err(),
3316 parser(r"a{]}").parse().unwrap_err(),
3323 parser(r"a{1,]}").parse().unwrap_err(),
3330 parser(r"a{").parse().unwrap_err(),
3337 parser(r"a{}").parse().unwrap_err(),
3344 parser(r"a{a").parse().unwrap_err(),
3351 parser(r"a{9999999999}").parse().unwrap_err(),
3358 parser(r"a{9").parse().unwrap_err(),
3365 parser(r"a{9,a").parse().unwrap_err(),
3372 parser(r"a{9,9999999999}").parse().unwrap_err(),
3379 parser(r"a{9,").parse().unwrap_err(),
3386 parser(r"a{9,11").parse().unwrap_err(),
3393 parser(r"a{2,1}").parse().unwrap_err(),
3400 parser(r"{5}").parse().unwrap_err(),
3407 parser(r"|{5}").parse().unwrap_err(),
3418 parser(r"a|b").parse(),
3425 parser(r"(a|b)").parse(),
3437 parser(r"a|b|c").parse(),
3444 parser(r"ax|by|cz").parse(),
3455 parser(r"(ax|by|cz)").parse(),
3470 parser(r"(ax|(by|(cz)))").parse(),
3505 parser(r"|").parse(),
3512 parser(r"||").parse(),
3523 parser(r"a|").parse(),
3527 parser(r"|a").parse(),
3532 parser(r"(|)").parse(),
3543 parser(r"(a|)").parse(),
3551 parser(r"(|a)").parse(),
3560 parser(r"a|b)").parse().unwrap_err(),
3567 parser(r"(a|b").parse().unwrap_err(),
3578 parser(r"(?=a)").parse().unwrap_err(),
3585 parser(r"(?!a)").parse().unwrap_err(),
3592 parser(r"(?<=a)").parse().unwrap_err(),
3599 parser(r"(?<!a)").parse().unwrap_err(),
3610 parser("(?i)").parse(),
3625 parser("(?iU)").parse(),
3648 parser("(?i-U)").parse(),
3676 parser("()").parse(),
3684 parser("(a)").parse(),
3692 parser("(())").parse(),
3705 parser("(?:a)").parse(),
3717 parser("(?i:a)").parse(),
3733 parser("(?i-U:a)").parse(),
3762 parser("(").parse().unwrap_err(),
3769 parser("(?").parse().unwrap_err(),
3776 parser("(?P").parse().unwrap_err(),
3783 parser("(?P<").parse().unwrap_err(),
3790 parser("(a").parse().unwrap_err(),
3797 parser("(()").parse().unwrap_err(),
3804 parser(")").parse().unwrap_err(),
3811 parser("a)").parse().unwrap_err(),
3822 parser("(?P<a>z)").parse(),
3834 parser("(?P<abc>z)").parse(),
3847 parser("(?P<a_1>z)").parse(),
3860 parser("(?P<a.1>z)").parse(),
3873 parser("(?P<a[1]>z)").parse(),
3886 parser("(?P<").parse().unwrap_err(),
3893 parser("(?P<>z)").parse().unwrap_err(),
3900 parser("(?P<a").parse().unwrap_err(),
3907 parser("(?P<ab").parse().unwrap_err(),
3914 parser("(?P<0a").parse().unwrap_err(),
3921 parser("(?P<~").parse().unwrap_err(),
3928 parser("(?P<abc~").parse().unwrap_err(),
3935 parser("(?P<a>y)(?P<a>z)").parse().unwrap_err(),
4296 parser_octal(r"\778").parse(),
4314 parser_octal(r"\7777").parse(),
4767 parser("[[:alnum:]]").parse(),
4775 parser("[[[:alnum:]]]").parse(),
4787 parser("[[:alnum:]&&[:lower:]]").parse(),
4799 parser("[[:alnum:]--[:lower:]]").parse(),
4811 parser("[[:alnum:]~~[:lower:]]").parse(),
4824 parser("[a]").parse(),
4832 parser(r"[a\]]").parse(),
4850 parser(r"[a\-z]").parse(),
4869 parser("[ab]").parse(),
4880 parser("[a-]").parse(),
4891 parser("[-a]").parse(),
4902 parser(r"[\pL]").parse(),
4914 parser(r"[\w]").parse(),
4926 parser(r"[a\wz]").parse(),
4946 parser("[a-z]").parse(),
4954 parser("[a-cx-z]").parse(),
4968 parser(r"[\w&&a-cx-z]").parse(),
4990 parser(r"[a-cx-z&&\w]").parse(),
5012 parser(r"[a--b--c]").parse(),
5028 parser(r"[a~~b~~c]").parse(),
5044 parser(r"[\^&&^]").parse(),
5060 parser(r"[\&&&&]").parse(),
5076 parser(r"[&&&&]").parse(),
5094 parser(pat).parse(),
5115 parser(r"[]]").parse(),
5123 parser(r"[]\[]").parse(),
5141 parser(r"[\[]]").parse(),
5166 parser("[").parse().unwrap_err(),
5173 parser("[[").parse().unwrap_err(),
5180 parser("[[-]").parse().unwrap_err(),
5187 parser("[[[:alnum:]").parse().unwrap_err(),
5194 parser(r"[\b]").parse().unwrap_err(),
5201 parser(r"[\w-a]").parse().unwrap_err(),
5208 parser(r"[a-\w]").parse().unwrap_err(),
5215 parser(r"[z-a]").parse().unwrap_err(),
5223 parser_ignore_whitespace("[a ").parse().unwrap_err(),
5230 parser_ignore_whitespace("[a- ").parse().unwrap_err(),
5716 parser(r"\pNz").parse(),
5734 parser(r"\p{Greek}z").parse(),
5752 parser(r"\p\{").parse().unwrap_err(),
5759 parser(r"\P\{").parse().unwrap_err(),
5819 parser(r"\d").parse(),
5827 parser(r"\dz").parse(),
5886 assert!(parser_nest_limit(pattern, 50).parse().is_ok());
5894 assert!(parser("(?x)[ / - ]").parse().is_ok());
5895 assert!(parser("(?x)[ a - ]").parse().is_ok());
5902 .parse()
5910 .parse()
5913 assert!(parser("(?x)[ / -").parse().is_err());
5914 assert!(parser("(?x)[ / - ").parse().is_err());
5920 .parse()
5927 .parse()