C# 클래스 Pchp.Library.PerlRegex.RegexRunner

파일 보기 프로젝트 열기: iolevel/peachpie 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
runcrawl int[]
runcrawlpos int
runmatch Match
runregex Regex
runstack int[]
runstackpos int
runtext string
runtextbeg int
runtextend int
runtextpos int
runtextstart int
runtrack int[]
runtrackcount int
runtrackpos int

보호된 메소드들

메소드 설명
Capture ( int capnum, int start, int end ) : void

Called by Go() to capture a subexpression. Note that the capnum used here has already been mapped to a non-sparse index (by the code generator RegexWriter).

CharInClass ( char ch, string charClass ) : bool
CharInSet ( char ch, string set, string category ) : bool
CheckTimeout ( ) : void
Crawl ( int i ) : void

Save a number on the longjump unrolling stack

Crawlpos ( ) : int

Get the height of the stack

DoubleCrawl ( ) : void

Increases the size of the longjump unrolling stack.

DoubleStack ( ) : void

Called by the implementation of Go() to increase the size of the grouping stack.

DoubleTrack ( ) : void

Called by the implementation of Go() to increase the size of the backtracking stack.

EnsureStorage ( ) : void

Called by the implementation of Go() to increase the size of storage

FindFirstChar ( ) : bool

The responsibility of FindFirstChar() is to advance runtextpos until it is at the next position which is a candidate for the beginning of a successful match.

Go ( ) : void

The responsibility of Go() is to run the regular expression at runtextpos and call Capture() on all the captured subexpressions, then to leave runtextpos at the ending position. It should leave runtextpos where it started if there was no match.

InitTrackCount ( ) : void

InitTrackCount must initialize the runtrackcount field; this is used to know how large the initial runtrack and runstack arrays must be.

IsBoundary ( int index, int startpos, int endpos ) : bool

Called by the implementation of Go() to decide whether the pos at the specified index is a boundary or not. It's just not worth emitting inline code for this logic.

IsECMABoundary ( int index, int startpos, int endpos ) : bool
IsMatched ( int cap ) : bool

Call out to runmatch to get around visibility issues

MatchIndex ( int cap ) : int

Call out to runmatch to get around visibility issues

MatchLength ( int cap ) : int

Call out to runmatch to get around visibility issues

Popcrawl ( ) : int

Remove a number from the longjump unrolling stack

RegexRunner ( ) : System
Scan ( Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick ) : Match

Scans the string to find the first match. Uses the Match object both to feed text in and as a place to store matches that come out. All the action is in the abstract Go() method defined by subclasses. Our responsibility is to load up the class members (as done here) before calling Go. The optimizer can compute a set of candidate starting characters, and we could use a separate method Skip() that will quickly scan past any characters that we know can't match.

Scan ( Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick, System.TimeSpan timeout ) : Match
TransferCapture ( int capnum, int uncapnum, int start, int end ) : void

Called by Go() to capture a subexpression. Note that the capnum used here has already been mapped to a non-sparse index (by the code generator RegexWriter).

Uncapture ( ) : void

비공개 메소드들

메소드 설명
DoCheckTimeout ( ) : void
DumpState ( ) : void

Dump the current state

InitMatch ( ) : void

Initializes all the data members that are used by Go()

StackDescription ( int a, int index ) : string
StartTimeoutWatch ( ) : void
TextposDescription ( ) : string
TidyMatch ( bool quick ) : Match

Put match in its canonical form before returning it.

메소드 상세

Capture() 보호된 메소드

Called by Go() to capture a subexpression. Note that the capnum used here has already been mapped to a non-sparse index (by the code generator RegexWriter).
protected Capture ( int capnum, int start, int end ) : void
capnum int
start int
end int
리턴 void

CharInClass() 보호된 정적인 메소드

protected static CharInClass ( char ch, string charClass ) : bool
ch char
charClass string
리턴 bool

CharInSet() 보호된 정적인 메소드

protected static CharInSet ( char ch, string set, string category ) : bool
ch char
set string
category string
리턴 bool

CheckTimeout() 보호된 메소드

protected CheckTimeout ( ) : void
리턴 void

Crawl() 보호된 메소드

Save a number on the longjump unrolling stack
protected Crawl ( int i ) : void
i int
리턴 void

Crawlpos() 보호된 메소드

Get the height of the stack
protected Crawlpos ( ) : int
리턴 int

DoubleCrawl() 보호된 메소드

Increases the size of the longjump unrolling stack.
protected DoubleCrawl ( ) : void
리턴 void

DoubleStack() 보호된 메소드

Called by the implementation of Go() to increase the size of the grouping stack.
protected DoubleStack ( ) : void
리턴 void

DoubleTrack() 보호된 메소드

Called by the implementation of Go() to increase the size of the backtracking stack.
protected DoubleTrack ( ) : void
리턴 void

EnsureStorage() 보호된 메소드

Called by the implementation of Go() to increase the size of storage
protected EnsureStorage ( ) : void
리턴 void

FindFirstChar() 보호된 추상적인 메소드

The responsibility of FindFirstChar() is to advance runtextpos until it is at the next position which is a candidate for the beginning of a successful match.
protected abstract FindFirstChar ( ) : bool
리턴 bool

Go() 보호된 추상적인 메소드

The responsibility of Go() is to run the regular expression at runtextpos and call Capture() on all the captured subexpressions, then to leave runtextpos at the ending position. It should leave runtextpos where it started if there was no match.
protected abstract Go ( ) : void
리턴 void

InitTrackCount() 보호된 추상적인 메소드

InitTrackCount must initialize the runtrackcount field; this is used to know how large the initial runtrack and runstack arrays must be.
protected abstract InitTrackCount ( ) : void
리턴 void

IsBoundary() 보호된 메소드

Called by the implementation of Go() to decide whether the pos at the specified index is a boundary or not. It's just not worth emitting inline code for this logic.
protected IsBoundary ( int index, int startpos, int endpos ) : bool
index int
startpos int
endpos int
리턴 bool

IsECMABoundary() 보호된 메소드

protected IsECMABoundary ( int index, int startpos, int endpos ) : bool
index int
startpos int
endpos int
리턴 bool

IsMatched() 보호된 메소드

Call out to runmatch to get around visibility issues
protected IsMatched ( int cap ) : bool
cap int
리턴 bool

MatchIndex() 보호된 메소드

Call out to runmatch to get around visibility issues
protected MatchIndex ( int cap ) : int
cap int
리턴 int

MatchLength() 보호된 메소드

Call out to runmatch to get around visibility issues
protected MatchLength ( int cap ) : int
cap int
리턴 int

Popcrawl() 보호된 메소드

Remove a number from the longjump unrolling stack
protected Popcrawl ( ) : int
리턴 int

RegexRunner() 보호된 메소드

protected RegexRunner ( ) : System
리턴 System

Scan() 보호된 메소드

Scans the string to find the first match. Uses the Match object both to feed text in and as a place to store matches that come out. All the action is in the abstract Go() method defined by subclasses. Our responsibility is to load up the class members (as done here) before calling Go. The optimizer can compute a set of candidate starting characters, and we could use a separate method Skip() that will quickly scan past any characters that we know can't match.
protected Scan ( Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick ) : Match
regex Regex
text string
textbeg int
textend int
textstart int
prevlen int
quick bool
리턴 Match

Scan() 보호된 메소드

protected Scan ( Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick, System.TimeSpan timeout ) : Match
regex Regex
text string
textbeg int
textend int
textstart int
prevlen int
quick bool
timeout System.TimeSpan
리턴 Match

TransferCapture() 보호된 메소드

Called by Go() to capture a subexpression. Note that the capnum used here has already been mapped to a non-sparse index (by the code generator RegexWriter).
protected TransferCapture ( int capnum, int uncapnum, int start, int end ) : void
capnum int
uncapnum int
start int
end int
리턴 void

Uncapture() 보호된 메소드

protected Uncapture ( ) : void
리턴 void

프로퍼티 상세

runcrawl 보호되어 있는 프로퍼티

protected int[] runcrawl
리턴 int[]

runcrawlpos 보호되어 있는 프로퍼티

protected int runcrawlpos
리턴 int

runmatch 보호되어 있는 프로퍼티

protected Match,Pchp.Library.PerlRegex runmatch
리턴 Match

runregex 보호되어 있는 프로퍼티

protected Regex runregex
리턴 Regex

runstack 보호되어 있는 프로퍼티

protected int[] runstack
리턴 int[]

runstackpos 보호되어 있는 프로퍼티

protected int runstackpos
리턴 int

runtext 보호되어 있는 프로퍼티

protected string runtext
리턴 string

runtextbeg 보호되어 있는 프로퍼티

protected int runtextbeg
리턴 int

runtextend 보호되어 있는 프로퍼티

protected int runtextend
리턴 int

runtextpos 보호되어 있는 프로퍼티

protected int runtextpos
리턴 int

runtextstart 보호되어 있는 프로퍼티

protected int runtextstart
리턴 int

runtrack 보호되어 있는 프로퍼티

protected int[] runtrack
리턴 int[]

runtrackcount 보호되어 있는 프로퍼티

protected int runtrackcount
리턴 int

runtrackpos 보호되어 있는 프로퍼티

protected int runtrackpos
리턴 int