private static ParseResult Match_LangTagPart(InputStream input) { var isAlpha = ParseBuilder.Match(ch => "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(ch)); var optAlpha = ParseBuilder.ZeroOrOne(isAlpha); return(ParseBuilder.Sequence(isAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha, optAlpha)(input)); }
private static ParseResult Match_Spacing(InputStream input) { return(ParseBuilder.ZeroOrOne(Match_Space)(input)); }
private static ParseResult Match_LanguageTag(InputStream input) { return(ParseBuilder.Sequence(Match_LangTagPart, ParseBuilder.ZeroOrOne(ParseBuilder.Sequence(ParseBuilder.Match('-'), Match_LangTagPart)), Match_Spacing)(input)); }