Renamed match function to 'findAllMatches', to better represent what it does
This commit is contained in:
2
main.go
2
main.go
@@ -178,7 +178,7 @@ func main() {
|
|||||||
re_postfix := shuntingYard(re)
|
re_postfix := shuntingYard(re)
|
||||||
// fmt.Println(re_postfix)
|
// fmt.Println(re_postfix)
|
||||||
startState := thompson(re_postfix)
|
startState := thompson(re_postfix)
|
||||||
matchIndices := match(startState, os.Args[2])
|
matchIndices := findAllMatches(startState, os.Args[2])
|
||||||
inColor := false
|
inColor := false
|
||||||
if len(matchIndices) > 0 {
|
if len(matchIndices) > 0 {
|
||||||
for i, c := range os.Args[2] {
|
for i, c := range os.Args[2] {
|
||||||
|
10
matching.go
10
matching.go
@@ -23,12 +23,12 @@ func takeZeroState(states []*State) (rtv []*State, isZero bool) {
|
|||||||
return rtv, false
|
return rtv, false
|
||||||
}
|
}
|
||||||
|
|
||||||
// match tries to match the regex represented by given start-state, with
|
// findAllMatches tries to findAllMatches the regex represented by given start-state, with
|
||||||
// the given string
|
// the given string
|
||||||
func match(start *State, str string) (indices []matchIndex) {
|
func findAllMatches(start *State, str string) (indices []matchIndex) {
|
||||||
return matchHelper(start, str, make([]matchIndex, 0), 0)
|
return findAllMatchesHelper(start, str, make([]matchIndex, 0), 0)
|
||||||
}
|
}
|
||||||
func matchHelper(start *State, str string, indices []matchIndex, offset int) []matchIndex {
|
func findAllMatchesHelper(start *State, str string, indices []matchIndex, offset int) []matchIndex {
|
||||||
// 'Base case' - exit if string is empty
|
// 'Base case' - exit if string is empty
|
||||||
if len(str) == 0 {
|
if len(str) == 0 {
|
||||||
return indices
|
return indices
|
||||||
@@ -86,7 +86,7 @@ func matchHelper(start *State, str string, indices []matchIndex, offset int) []m
|
|||||||
if i == startingFrom {
|
if i == startingFrom {
|
||||||
i++
|
i++
|
||||||
}
|
}
|
||||||
return matchHelper(start, str[i:], indices, offset+i)
|
return findAllMatchesHelper(start, str[i:], indices, offset+i)
|
||||||
}
|
}
|
||||||
currentStates = make([]*State, len(tempStates))
|
currentStates = make([]*State, len(tempStates))
|
||||||
copy(currentStates, tempStates)
|
copy(currentStates, tempStates)
|
||||||
|
Reference in New Issue
Block a user