package token type Token struct { Kind TokenKind At Loc Data any } func Simple(kind TokenKind, at Loc) Token { return Token{ Kind: kind, At: at, } } func New(kind TokenKind, at Loc, data any) Token { return Token{ Kind: kind, At: at, Data: data, } } func (t Token) CanEndStmt() bool { switch t.Kind { case EOF, EOL, SemiColon: return true default: return false } }