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); }
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); }