73 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package govaluate
 | |
| 
 | |
| /*
 | |
| 	Represents all valid types of tokens that a token can be.
 | |
| */
 | |
| type TokenKind int
 | |
| 
 | |
| const (
 | |
| 	UNKNOWN TokenKind = iota
 | |
| 
 | |
| 	PREFIX
 | |
| 	NUMERIC
 | |
| 	BOOLEAN
 | |
| 	STRING
 | |
| 	PATTERN
 | |
| 	TIME
 | |
| 	VARIABLE
 | |
| 	FUNCTION
 | |
| 	SEPARATOR
 | |
| 
 | |
| 	COMPARATOR
 | |
| 	LOGICALOP
 | |
| 	MODIFIER
 | |
| 
 | |
| 	CLAUSE
 | |
| 	CLAUSE_CLOSE
 | |
| 
 | |
| 	TERNARY
 | |
| )
 | |
| 
 | |
| /*
 | |
| 	GetTokenKindString returns a string that describes the given TokenKind.
 | |
| 	e.g., when passed the NUMERIC TokenKind, this returns the string "NUMERIC".
 | |
| */
 | |
| func (kind TokenKind) String() string {
 | |
| 
 | |
| 	switch kind {
 | |
| 
 | |
| 	case PREFIX:
 | |
| 		return "PREFIX"
 | |
| 	case NUMERIC:
 | |
| 		return "NUMERIC"
 | |
| 	case BOOLEAN:
 | |
| 		return "BOOLEAN"
 | |
| 	case STRING:
 | |
| 		return "STRING"
 | |
| 	case PATTERN:
 | |
| 		return "PATTERN"
 | |
| 	case TIME:
 | |
| 		return "TIME"
 | |
| 	case VARIABLE:
 | |
| 		return "VARIABLE"
 | |
| 	case FUNCTION:
 | |
| 		return "FUNCTION"
 | |
| 	case SEPARATOR:
 | |
| 		return "SEPARATOR"
 | |
| 	case COMPARATOR:
 | |
| 		return "COMPARATOR"
 | |
| 	case LOGICALOP:
 | |
| 		return "LOGICALOP"
 | |
| 	case MODIFIER:
 | |
| 		return "MODIFIER"
 | |
| 	case CLAUSE:
 | |
| 		return "CLAUSE"
 | |
| 	case CLAUSE_CLOSE:
 | |
| 		return "CLAUSE_CLOSE"
 | |
| 	case TERNARY:
 | |
| 		return "TERNARY"
 | |
| 	}
 | |
| 
 | |
| 	return "UNKNOWN"
 | |
| }
 |