static string Digit(string str) { return(MatchChar(Char.IsDigit)(str)); }
//match at least one whitespace character static string Whitespace_(string str) { string stripFirst = MatchChar(Char.IsWhiteSpace)(str); return(Whitespace(stripFirst)); }
static string RBracket(string str) { return(MatchChar(')')(str)); }
new public static Rule Identifier = Node(Opt(MatchChar('@') + SharedGrammar.Identifier);