public static CoreParser MB(CoreParser parser) { return(new ParserSerial(parser, 0, 1)); }
public static CoreParser OI(CoreParser parser) { return(new ParserSerial(parser, 1, int.MaxValue)); }
public static CoreParser SEQ(CoreParser parser, string delimiter) { return(MB(parser + T(delimiter) | parser)); }
public static CoreParser S(CoreParser parser, int minTimes, int maxTimes) { return(new ParserSerial(parser, minTimes, maxTimes)); }
/// <summary> /// This function does the same functional as MB. /// One tries parse rule 0 or 1 times and returns SyntaxTreeNode anyway. /// But there is default value here. (Default is null) /// </summary> /// <param name="parser">Internal rule for parsing</param> /// <returns>SyntaxTreeNode class object</returns> public static CoreParser OPT(CoreParser parser) { return(new ParserOptional(parser)); }