esc.go
1package parser
2
3// isEscape returns true if byte i is prefixed by an odd number of backslahses.
4func isEscape(data []byte, i int) bool {
5 if i == 0 {
6 return false
7 }
8 if i == 1 {
9 return data[0] == '\\'
10 }
11 j := i - 1
12 for ; j >= 0; j-- {
13 if data[j] != '\\' {
14 break
15 }
16 }
17 j++
18 // odd number of backslahes means escape
19 return (i-j)%2 != 0
20}