コード例 #1
0
ファイル: Test.cs プロジェクト: lxq2537664558/DailyProjects
            public static Parser <T> Phrase <T>(Parser <T> p)
            {
                var phrase = WhiteSpaceParser.Opt().Drop(p.DropRight(WhiteSpaceParser.Opt()));

                return(new Parser <T>(reader => {
                    return phrase.Parse(reader).SelectMany((v, reader2) =>
                                                           reader2.Eof ? new Success <T>(v, reader2) as IParseResult <T> : new Failure <T>("Input is longer than a phrase", reader2));
                }));
            }
コード例 #2
0
ファイル: Test.cs プロジェクト: lxq2537664558/DailyProjects
 public static Parser <string> Regex(string pattern)
 {
     return(WhiteSpaceParser.Opt().Drop(BuildParserFromRegex(pattern)));
 }
コード例 #3
0
ファイル: Test.cs プロジェクト: lxq2537664558/DailyProjects
 public static Parser <string> String(string s)
 {
     return(WhiteSpaceParser.Opt().Drop(BuildParserFromString(s)));
 }