diff options
Diffstat (limited to 'compilador/tabla.py')
-rw-r--r-- | compilador/tabla.py | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/compilador/tabla.py b/compilador/tabla.py index fb76e08..7871a42 100644 --- a/compilador/tabla.py +++ b/compilador/tabla.py @@ -7,20 +7,20 @@ from typing import Any from nanoiter import NanoIter reservadas = [ - 'BOOLEAN', - 'CHAR', - 'DOUBLE', - 'ELSE', - 'IDENT', - 'IF', - 'INT', - 'PRINT', - 'READ', - 'RETURN', - 'STRING', - 'VOID', - 'WHILE', - 'FUNCTION' + 'booleano', + 'cadena', + 'caracter', + 'continuar', + 'detener', + 'entero', + 'funcion', + 'imprimir', + 'leer', + 'mientras', + 'retornar', + 'si', + 'sino', + 'vacio', ] literales = [ @@ -31,6 +31,13 @@ literales = [ 'STRING_LIT' ] +tokens = reservadas + literales + [ + '{', '}', '(', ')', ',', '\'', + '"', ';', '=', '*', '/', '+', + '-', '>', '<', '>=', '<=', '&&', + '||', '==', '!=' +] + class Token(Enum): BOOLEAN = 'booleano' CHAR = 'caracter' @@ -41,7 +48,9 @@ class Token(Enum): INT = 'entero' PRINT = 'imprimir' READ = 'leer' - RETURN = 'retorna' + BREAK = 'detener' + CONTINUE = 'continuar' + RETURN = 'retornar' STRING = 'cadena' VOID = 'vacio' FUNCTION = 'funcion' @@ -73,12 +82,7 @@ class Token(Enum): NOTEQ = '!=' EOF = 'EOF' -tokens = reservadas + literales + [ - '{', '}', '(', ')', ',', '\'', - '"', ';', '=', '*', '/', '+', - '-', '>', '<', '>=', '<=', '&&', - '||', '==', '!=' -] + @dataclass class LexToken: |