Example #1
0
        /// <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);
        }
Example #2
0
 /// <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);
 }
Example #3
0
 /// <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));
 }
Example #4
0
 /// <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));
 }
Example #5
0
 /// <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));
 }
Example #6
0
 /// <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));
 }
Example #7
0
 /// <summary>
 /// 根据给定的源文件读取器解析正则表达式。
 /// </summary>
 /// <param name="reader">正则表达式的源文件读取器。</param>
 /// <returns>解析得到的正则表达式。</returns>
 public static Regex Parse(SourceReader reader)
 {
     return(RegexParser.ParseRegex(reader, RegexOptions.None, null));
 }