/** * Adds a regular expression token pattern to this matcher. * * @param pattern the pattern to add * * @throws Exception if the pattern couldn't be added to the matcher */ public override void AddPattern(TokenPattern pattern) { REHandler re; try { re = new GrammaticaRE(pattern.Pattern, ignoreCase); pattern.DebugInfo = "Grammatica regexp\n" + re; } catch (Exception) { re = new SystemRE(pattern.Pattern, ignoreCase); pattern.DebugInfo = "native .NET regexp"; } Array.Resize(ref regExps, regExps.Length + 1); regExps[regExps.Length - 1] = re; base.AddPattern(pattern); }