public static Rule Opt(Rule r) { return(new OptRule(r)); }
public static Rule OneOrMore(Rule r) { return(new PlusRule(r)); }
public static Rule ZeroOrMore(Rule r) { return(new ZeroOrMoreRule(r)); }
public static Rule Not(Rule r) { return(new NotRule(r)); }
public static Rule At(Rule rule) { return(new AtRule(rule)); }
/// <summary> /// This rule should be used only with a named rule, since the name /// of the rule is used as the label. /// </summary> /// <param name="rule"></param> /// <returns></returns> public static Rule Node(Rule rule) { return(new NodeRule(rule)); }