Comments (3)
Por favor poner ejemplos claros con código del punto de entornos. ¿Qué no hace el lenguaje actualmente?¿Qué hace mal?¿Qué va a poder hacer con la propuesta?
Sobre el tema de LinkedList ¿Con cuántas variables declaradas la aplicación crashea?¿Realmente es necesaria esta "mejora"?
from interpretesencillowindows.
- En los entornos: Para la explicación del problema utilicé este fragmento de código para el intérprete:
numero condicional; condicional = 6; If(condicional > 5){ imprimir("La condicional " & condicional & " es mayor a 5."); numero condicional; condicional = 4; if(condicional < 5){ imprimir("La condicional interna " & condicional & " es menor a 5."); } else { imprimir("La condicional interna " & condicional & " no es menor a 5."); } }else{ imprimir("La condicional " & condicional & " es no mayor a 5."); } imprimir("El valor de la condicional 'global' es " & condicional);
El código indica que una condicional se declare en un nuevo entorno (en este caso del If) en donde se le da otro valor y se realiza otra validación. Posteriormente se imprime el valor de la condicional del entorno global, para verificar de que no fue alterada en el proceso.
En la imagen "img2" se encuentra el resultado del intérprete master, en el cual se ve que alteró la variable del entorno global. En la imagen "img3" se puede ver que el problema es que actualmente el intérprete no tiene ninguna validación para verificar que la variable existe; por lo tanto, cuando se declara de nuevo la variable, aparece duplicada, y al momento de cambiar el valor a la variable, siempre va a seleccionar la primera en la tabla de símbolos.
En la imagen "img1" está el resultado del intérprete utilizando entornos, en el cual se puede apreciar que no se alteró la variable del entorno global.
- Con respecto a la LinkedList, he probado con aproximadamente 55 variables declaradas y asignándole un valor y no genera ningún problema; aunque realizando las pruebas de los entornos me di cuenta que la LinkedList no posee una verificación para ver si la variable ya está declarada o no en la tabla de símbolos, por lo que pueden existir duplicados. Al implementar el HashMap no ocurriría esto, debido a que en un HashMap sus claves deben de ser únicas, y al momento de intentar declarar una variable repetida, saltaría un error, el cual se puede controlar mediante un try-catch.
from interpretesencillowindows.
Buenas tardes @Puac235,
Por favor proceder con la creación del pull request correspondiente con los cambios propuestos.
Saludos cordiales.
from interpretesencillowindows.
Related Issues (10)
- Creación de interfaz gráfica HOT 2
- Error al declarar variables HOT 4
- Pedir un número al usuario HOT 1
- Agregar instruccion Else If HOT 2
- Agregar operaciones con cadenas y condicional == HOT 2
- Agregar el tipo char HOT 3
- Agregar operadores lógicos HOT 2
- Agregar declaración y asignación en la misma línea HOT 1
- Mejora Para el proyecto - Operador Incremento y Decremento HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from interpretesencillowindows.