Ejemplo n.º 1
0
 public ParseResult <T> Parse([SpecialNullHandling] string text)
 {
     foreach (IPattern <T> pattern in patterns)
     {
         ParseResult <T> result = pattern.Parse(text);
         if (result.Success || !result.ContinueAfterErrorWithMultipleFormats)
         {
             return(result);
         }
     }
     return(ParseResult <T> .NoMatchingFormat(new ValueCursor(text)));
 }
Ejemplo n.º 2
0
            public ParseResult <T> ParsePartial(ValueCursor cursor)
            {
                int index = cursor.Index;

                foreach (IPartialPattern <T> pattern in patterns)
                {
                    cursor.Move(index);
                    ParseResult <T> result = pattern.ParsePartial(cursor);
                    if (result.Success || !result.ContinueAfterErrorWithMultipleFormats)
                    {
                        return(result);
                    }
                }
                cursor.Move(index);
                return(ParseResult <T> .NoMatchingFormat(cursor));
            }