// // A function call // // rgb(255, 0, 255) // // We also try to catch IE's `alpha()`, but let the `alpha` parser // deal with the details. // // The arguments are parsed with the `entities.arguments` parser. // public Call Call(Parser parser) { var memo = Remember(parser); var index = parser.Tokenizer.Location.Index; var name = parser.Tokenizer.Match(@"(%|[a-zA-Z0-9_-]+)\("); if (!name) { return(null); } if (name[1].ToLowerInvariant() == "alpha") { var alpha = Alpha(parser); if (alpha != null) { return(alpha); } } var args = Arguments(parser); if (!parser.Tokenizer.Match(')')) { Recall(parser, memo); return(null); } return(NodeProvider.Call(name[1], args, index)); }