3 // namespace: System.Text.RegularExpressions
\r
4 // file: RegexRunner.cs
\r
6 // author: Dan Lewis (dihlewis@yahoo.co.uk)
\r
10 using System.ComponentModel;
12 namespace System.Text.RegularExpressions {
\r
13 /* I'm just guessing that this is the correct place for this
14 * attribute, and that the option is correct. It shuts up
15 * CorCompare for this undocumented class.
17 [EditorBrowsable (EditorBrowsableState.Never)]
18 public abstract class RegexRunner {
\r
21 protected internal RegexRunner () {
\r
22 throw new NotImplementedException ("RegexRunner is not supported by Mono.");
\r
25 // protected abstract
\r
27 protected abstract bool FindFirstChar ();
\r
29 protected abstract void Go ();
\r
31 protected abstract void InitTrackCount ();
\r
33 // protected methods
\r
35 protected void Capture (int capnum, int start, int end) {
\r
38 protected static bool CharInSet (char ch, string set, string category) {
\r
42 protected void Crawl (int i) {
\r
45 protected int CrawlPos () {
\r
49 protected void DoubleCrawl () {
\r
52 protected void DoubleStack () {
\r
55 protected void DoubleTrack () {
\r
58 protected void EnsureStorage () {
\r
61 protected bool IsBoundary (int index, int startpos, int endpos) {
\r
65 protected bool IsECMABoundary (int index, int startpos, int endpos) {
\r
69 protected bool IsMatched (int cap) {
\r
73 protected int MatchIndex (int cap) {
\r
77 protected int MatchLength (int cap) {
\r
81 protected int PopCrawl () {
\r
85 protected void TransferCapture (int capnum, int uncapnum, int start, int end) {
\r
88 protected void Uncapture () {
\r
93 protected internal Match Scan (Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick) {
\r