"Os tokens (símbolos léxicos) são unidades básicas de texto do programa. Eles são representados internamente por três informações: classe do token, valor do token e posição do token." [1]
Essa foi a única referência que encontrei definindo a representação de um token usando a sua posição. Todas as outras fontes que chequei, inclusive o livro do Ullman ("Compiladores: Princípios, Técnicas e Ferramentas"), consideram que um token é composto por um par consistindo de nome do token (classe) e valor de atributo (carrega um valor semântico e é opcional).
[1] https://pt.wikibooks.org/wiki/Constru%C3%A7%C3%A3o_de_compiladores/An%C3%A1lise_l%C3%A9xica
Certo.
Os tokens (símbolos léxicos) são unidades básicas de texto do programa. Eles são representados internamente por três informações: classe do token, valor do token e posição do token.
Classe do token – representa o tipo do token conhecido.
Valor do token – dependente da classe; podem ser divididos em dois grupos: tokens simples e tokens com argumento.
Posição do token – indica o local do texto fonte (linha e coluna) onde ocorreu o token.
Tokens simples – não tem um valor associado, por exemplo como as palavras reservadas.
Tokens com argumento – possuem um valor associado, por exemplo como os identificadores e as constantes.
As classes para palavras reservadas constituem-se em abreviações dessas, não sendo necessário passar seus valores para o analisador sintático.
É usual que os compiladores representem a classe de um token por um número inteiro para tornar a representação mais compacta.