Code Monkey home page Code Monkey logo

Comments (3)

ericknavarro avatar ericknavarro commented on August 29, 2024

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.

Puac235 avatar Puac235 commented on August 29, 2024
  • 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.

img1 (2)
img2 (2)
img3 (2)

from interpretesencillowindows.

ericknavarro avatar ericknavarro commented on August 29, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.