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}