示例#1
0
 private static ParseResult Match_Eol(InputStream input)
 {
     return(ParseBuilder.FirstOf(
                ParseBuilder.Match("\r\n"),
                ParseBuilder.Match('\r'),
                ParseBuilder.Match('\n'))(input));
 }
示例#2
0
 private static ParseResult Match_Space(InputStream input)
 {
     return(ParseBuilder.FirstOf(
                ParseBuilder.Match(' '),
                ParseBuilder.Match('\t'),
                Match_Eol)(input));
 }
示例#3
0
 private static ParseResult Match_GenericTypeParameter(InputStream input)
 {
     return(ParseBuilder.FirstOf(
                ParseBuilder.WithAction(Match_UnqualifiedName, r =>
     {
         var result = new TypeNameInfo();
         InitializeTypeNameInfo((ParsedUnqualifiedName)r.ResultData, result);
         return new ParseResult(r.MatchedString, result);
     }),
                ParseBuilder.WithAction(
                    ParseBuilder.Sequence(Match_LeftBracket, Match_TypeName, Match_RightBracket),
                    r => new SequenceResult(r)[1]))(
                input));
 }
示例#4
0
 private static ParseResult Match_IdAlphanumeric(InputStream input)
 {
     return(ParseBuilder.FirstOf(Match_QuotedChar, ParseBuilder.Match(ch => char.IsLetterOrDigit(ch)))(input));
 }
示例#5
0
 private static ParseResult Match_IdContinuation(InputStream input)
 {
     return(ParseBuilder.FirstOf(Match_IdNonAlpha, Match_IdAlphanumeric)(input));
 }
示例#6
0
 private static ParseResult Match_IdStart(InputStream input)
 {
     return(ParseBuilder.FirstOf(Match_IdNonAlpha, Match_IdAlpha)(input));
 }
示例#7
0
 private static ParseResult Match_AssemblyNameChar(InputStream input)
 {
     return(ParseBuilder.FirstOf(Match_QuotedChar, ParseBuilder.Match(ch => !"^/\\:?\"<>|,[]".Contains(ch)))(input));
 }
示例#8
0
 private static ParseResult Match_AssemblyNamePart(InputStream input)
 {
     return(ParseBuilder.FirstOf(Match_Culture, Match_Version, Match_PublicKey, Match_PublicKeyToken)(input));
 }
示例#9
0
 private static ParseResult Match_OpenGeneric(InputStream input)
 {
     return(ParseBuilder.FirstOf(Match_CLRSyntax, Match_EmptyBrackets)(input));
 }
示例#10
0
 private static ParseResult Match_GenericParameters(InputStream input)
 {
     return(ParseBuilder.FirstOf(Match_ClosedGeneric, Match_OpenGeneric)(input));
 }