Vale, es sencillo, adicionando a lo que expliqué en la clase anterior, simplemente al encontrar un paréntesis dice “Uhh, paréntesis, a iniciar a parsear lo que está dentro” e inicia a parsear hasta que ya no encuentra más expresiones por parsear 😄
.
En mi caso, hice la prueba quitando el paréntesis final:
-(5 + 5;
Y me devolvió:
Se esperaba que el siguiente token fuera TokenType.RPAREN pero se obtuvo TokenType.SEMICOLON
Python devuelve:
File "index.py", line 1
-(5 + 5;
^
SyntaxError: invalid syntax
JavaScript devuelve:
VM40:1 Uncaught SyntaxError: Unexpected token ';'
PHP devuelve:
PHP Parse error: syntax error, unexpected ';' in /var/www/html/lpp/index.php on line 3
Creo que podríamos ser más amables y en vez de volver el TokenType, mejor devolver el Token Literal jaja
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?