/// <summary> /// 定义一个终结符。 /// </summary> /// <param name="id">终结符的标识符。</param> /// <param name="regex">终结符对应的正则表达式。</param> /// <param name="action">终结符的动作。</param> private void InternalDefineSymbol(T id, string regex, Action <ReaderController <T> > action) { IEnumerable <string> context = ParseContexts(ref regex); InternalDefineSymbol(id, RegexParser.ParseRegex(regex, RegexOptions.None, this.regexs), action, context); }
/// <summary> /// 定义一个指定名称的正则表达式。 /// </summary> /// <param name="name">正则表达式的名称。</param> /// <param name="regex">定义的正则表达式。</param> public void DefineRegex(string name, string regex) { regexs[name] = RegexParser.ParseRegex(regex, RegexOptions.None, regexs); }
/// <summary> /// 根据给定的字符串解析正则表达式。 /// </summary> /// <param name="pattern">正则表达式的模式字符串。</param> /// <param name="regexDef">正则表达式的定义。</param> /// <returns>解析得到的正则表达式。</returns> public static Regex Parse(string pattern, IDictionary <string, Regex> regexDef) { return(RegexParser.ParseRegex(pattern, RegexOptions.None, regexDef)); }
/// <summary> /// 根据给定的字符串解析正则表达式。 /// </summary> /// <param name="pattern">正则表达式的模式字符串。</param> /// <param name="option">正则表达式的选项。</param> /// <returns>解析得到的正则表达式。</returns> public static Regex Parse(string pattern, RegexOptions option) { return(RegexParser.ParseRegex(pattern, option, null)); }
/// <summary> /// 根据给定的源文件读取器解析正则表达式。 /// </summary> /// <param name="reader">正则表达式的源文件读取器。</param> /// <param name="option">正则表达式的选项。</param> /// <param name="regexDef">正则表达式的定义。</param> /// <returns>解析得到的正则表达式。</returns> public static Regex Parse(SourceReader reader, RegexOptions option, IDictionary <string, Regex> regexDef) { return(RegexParser.ParseRegex(reader, option, regexDef)); }
/// <summary> /// 根据给定的源文件读取器解析正则表达式。 /// </summary> /// <param name="reader">正则表达式的源文件读取器。</param> /// <param name="option">正则表达式的选项。</param> /// <returns>解析得到的正则表达式。</returns> public static Regex Parse(SourceReader reader, RegexOptions option) { return(RegexParser.ParseRegex(reader, option, null)); }
/// <summary> /// 根据给定的源文件读取器解析正则表达式。 /// </summary> /// <param name="reader">正则表达式的源文件读取器。</param> /// <returns>解析得到的正则表达式。</returns> public static Regex Parse(SourceReader reader) { return(RegexParser.ParseRegex(reader, RegexOptions.None, null)); }