code: func (l *Lexer) scanSpecialSymbol() (Token, string) {
  	lastScannedItem := ScannedItem{}
  	var buffer []byte
  SpecialSymbolLoop:
  	for {
  		switch ch := l.read(); {
  		case ch == 0:
  			break SpecialSymbolLoop
  		case isSpecialSymbol(ch):
  			buffer = append(buffer, ch)
  			if token, ok := string2token[string(buffer)]; ok {
  				lastScannedItem = ScannedItem{tok: token, literal: string(buffer)}
  			} else if lastScannedItem.tok != 0 {
  				l.unread()
  				break SpecialSymbolLoop
  			}
  		default:
  			l.unread()
  			break SpecialSymbolLoop
  		}
  	}
  	if lastScannedItem.tok == 0 {
  		return ErrorToken, fmt.Sprintf("error expected: keyword found '%s'", buffer)
  	}
  	return lastScannedItem.tok, lastScannedItem.literal
  }
docs: // scanSpecialSymbol scans string starting with special symbol.
  // special symbol identify non literal operators. "!=", "==", "="