diff options
author | Iván Ávalos <avalos@disroot.org> | 2022-11-25 19:07:58 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2022-11-25 19:07:58 -0600 |
commit | 4b2fad150a292f882cee408d7f9746715225f7cb (patch) | |
tree | fe02aa65491aeec869e5c5427e2229fc1633bbf7 /compilador/tabla.py | |
parent | ea2d6ab3cc66e69d423e502407f272f634c3e070 (diff) | |
download | javanol-4b2fad150a292f882cee408d7f9746715225f7cb.tar.gz javanol-4b2fad150a292f882cee408d7f9746715225f7cb.tar.bz2 javanol-4b2fad150a292f882cee408d7f9746715225f7cb.zip |
Se añade `retornar', `detener' y `continuar'
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: |