3 // namespace: System.Text.RegularExpressions
\r
4 // file: RegexRunner.cs
\r
6 // author: Dan Lewis (dihlewis@yahoo.co.uk)
\r
11 namespace System.Text.RegularExpressions {
\r
13 public abstract class RegexRunner {
\r
16 protected internal RegexRunner () {
\r
17 throw new NotImplementedException ("RegexRunner is not supported by Mono.");
\r
20 // protected abstract
\r
22 protected abstract bool FindFirstChar ();
\r
24 protected abstract void Go ();
\r
26 protected abstract void InitTrackCount ();
\r
28 // protected methods
\r
30 protected void Capture (int capnum, int start, int end) {
\r
33 protected static bool CharInSet (char ch, string set, string category) {
\r
37 protected void Crawl (int i) {
\r
40 protected int CrawlPos () {
\r
44 protected void DoubleCrawl () {
\r
47 protected void DoubleStack () {
\r
50 protected void DoubleTrack () {
\r
53 protected void EnsureStorage () {
\r
56 protected bool IsBoundary (int index, int startpos, int endpos) {
\r
60 protected bool IsECMABoundary (int index, int startpos, int endpos) {
\r
64 protected bool IsMatched (int cap) {
\r
68 protected int MatchIndex (int cap) {
\r
72 protected int MatchLength (int cap) {
\r
76 protected int PopCrawl () {
\r
80 protected void TransferCapture (int capnum, int uncapnum, int start, int end) {
\r
83 protected void Uncapture () {
\r
88 protected internal Match Scan (Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick) {
\r