op_tokens.go (565B)
1 package ini 2 3 import ( 4 "fmt" 5 ) 6 7 var ( 8 equalOp = []rune("=") 9 equalColonOp = []rune(":") 10 ) 11 12 func isOp(b []rune) bool { 13 if len(b) == 0 { 14 return false 15 } 16 17 switch b[0] { 18 case '=': 19 return true 20 case ':': 21 return true 22 default: 23 return false 24 } 25 } 26 27 func newOpToken(b []rune) (Token, int, error) { 28 tok := Token{} 29 30 switch b[0] { 31 case '=': 32 tok = newToken(TokenOp, equalOp, NoneType) 33 case ':': 34 tok = newToken(TokenOp, equalColonOp, NoneType) 35 default: 36 return tok, 0, NewParseError(fmt.Sprintf("unexpected op type, %v", b[0])) 37 } 38 return tok, 1, nil 39 }