code.dwrz.net

Go monorepo.
Log | Files | Refs

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 }