示例#1
0
 public IEnumerable <IToken> MakeTokens(string text)
 {
     if (text == null)
     {
         throw new ArgumentNullException(nameof(text));
     }
     if (text == "")
     {
         throw new ArgumentException("Text is empty");
     }
     if (config == null)
     {
         config = MdTokenizerConfig.DefaultConfig();
     }
     tokens        = new List <MdToken>();
     pairedSymbols = new Stack <MdToken>();
     foreach (var str in text.Split().Where(str => str != ""))
     {
         var token = MakeToken(str);
         HandlePairedTokens(token);
         tokens.Add(token);
     }
     ClearPairedStack();
     return(tokens);
 }
示例#2
0
        public static MdTokenizerConfig DefaultConfig()
        {
            var config = new MdTokenizerConfig();

            config.AddSpecialSymbol("_", true, true);
            config.AddSpecialSymbol("__", true, true);
            config.AddSpecialSymbol("NONE", false, true);
            config.AddSpecialSymbol("#", false, false);
            config.AddSpecialSymbol("##", false, false);
            config.AddSpecialSymbol("###", false, false);
            config.AddSpecialSymbol("####", false, false);
            config.AddSpecialSymbol("#####", false, false);
            config.AddSpecialSymbol("######", false, false);
            config.AddNestingExceptionForSymbol("__", "_");
            config.SetShieldingSymbol(@"\");
            return(config);
        }