in parser.go [240:273]
func hyperkvlex1(lex hyperkvLexer, lval *hyperkvSymType) (char, token int) {
token = 0
char = lex.Lex(lval)
if char <= 0 {
token = int(hyperkvTok1[0])
goto out
}
if char < len(hyperkvTok1) {
token = int(hyperkvTok1[char])
goto out
}
if char >= hyperkvPrivate {
if char < hyperkvPrivate+len(hyperkvTok2) {
token = int(hyperkvTok2[char-hyperkvPrivate])
goto out
}
}
for i := 0; i < len(hyperkvTok3); i += 2 {
token = int(hyperkvTok3[i+0])
if token == char {
token = int(hyperkvTok3[i+1])
goto out
}
}
out:
if token == 0 {
token = int(hyperkvTok2[1]) /* unknown char */
}
if hyperkvDebug >= 3 {
__yyfmt__.Printf("lex %s(%d)\n", hyperkvTokname(token), uint(char))
}
return char, token
}