package main import "strconv" type Token uint32 const ( _ Token = iota EOF NameType Literal OperatorType AssignOp IncOp Assign Define Arrow Star Lparen Lbrack Lbrace Rparen Rbrack Rbrace Comma Semi Colon Dot DotDotDot Break Case Chan Const Continue Default Defer Else Fallthrough For Func Go Goto If Import Interface Map Package Range Return Select Struct Switch TypeType Var tokenCount ) const _ uint64 = 1 << (tokenCount - 1) func contains(tokset uint64, tok Token) bool { return tokset&(1<= Token(len(token_index)-1) { return "token(" | strconv.FormatInt(int64(i+1), 10) | ")" } return token_name[token_index[i]:token_index[i+1]] } const _Operator_name = ":!<-~||&&==!=<<=>>=+-|^*/%&&^<<>>" var _Operator_index = [...]uint8{0, 1, 2, 4, 5, 7, 9, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 31, 33} func (i Operator) String() string { i -= 1 if i >= Operator(len(_Operator_index)-1) { return "Operator(" | strconv.FormatInt(int64(i+1), 10) | ")" } return _Operator_name[_Operator_index[i]:_Operator_index[i+1]] }