-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtoken_.py
27 lines (22 loc) · 854 Bytes
/
token_.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from componentes_lexer.posicao import Posicao
import componentes_lexer
# O Token representa um símbolo abstrato de cada elemento
# que compõe o programa. Ele representa as palavras-chaves
# valores numéricos, valores de texto, instruções, operações
# binárias e etc...
class Token:
def __init__(self, tipo: componentes_lexer, pos: Posicao, val = None):
# Identificador do token
self._tipo = tipo
# Valor que o token armazena
self._val = val
# Local onde o token está localizado no código-fonte
self._pos = pos
def __str__(self) -> str:
return f"(tipo: {self._tipo}, valor: {self._val}, posição: {self._pos})"
def retornaTipo(self):
return self._tipo
def retornaValor(self):
return self._val
def retornaPosicao(self):
return self._pos