Ir al contenido principal

Entradas

Entrada destacada

Futuro PseudoD 2.2.0

La futura versión de PseudoD, PseudoD 2.2.0 tendrá cambios fundamentales en la estructura del lenguaje, más estos cambios serán compatibles con versiones anteriores, de manera que no romperán con la estructura de ningún programa existente.

Los cambios son:
Resolución de nombres Ahora usar referencias es más cómodo que nunca con la resolución de nombres de PseudoD 2.2.0:

adquirir var fijar var a {Hola Mundo} adquirir ref fijar ref a var#NOMBRE escribir <ref>
Este código imprime en pantalla el texto "Hola Mundo".
Mejor sintaxis para las clases y funciones
clase Persona hereda Objeto implementa @Saludable atributo nombre puntero padre puntero madre metodo saludar finclase metodo Persona#saludar con yo y nombre escribir {Hola } escribir nombre escribir {, yo soy } escribir <yo>#nombre nl finmetodoReestructuración de la BEPD parte 1/2 Ahora la BEPD posee una mejor estrucutra y nuevas funciones.
Entradas recientes

Desreferenciación en línea

PseudoD 2.2.0 ahora incluye también un mecanismo llamado resolución de nombres, también conocido como desreferenciación en línea o nombres resueltos. Esta característica permite al desarrollador dejar de usar las molestas clasesPunteroInteligente y Referencia, ahorrando tiempo y recursos para tareas más importantes. En resumen, ahora puedes resolver un nombre sin la necesidad de llamar a funciones externas o utilizar módulos del NEA. Pero primero: ¿Como se resuelve un nombre?

Un nombre resuelto es aquel que puede acceder de por si solo a una dirección de memoria virtual (de PseudoD) válida: Si, PseudoD no almacena la memoria en direcciones crudas (por ejemplo: void* en C y C++) sino en direcciones virtuales, por ello, incrementar un puntero siempre devolverá dos valores: o un puntero válido a otra variable de PseudoD, o un error (memory underflow/overflow).

Algunos nombres resueltos son: mensaje, NULO y foo#bar. La definición de un nombre sin resolver es un poco más complicada: un nombr…

Funciones (guía rápida)

PseudoD, como otros lenguajes de programación, implementa las clases y funciones. Veamos las funciones como código encerrado en un contexto, que permite su re-utilización por cualquier otro código:
utilizar entsal.pseudo funcion SaludarA [ Saluda a alguien o algo ] adquirir nombre [ A quién saludar ] recibir_parametro nombre [ Recibimos el parámetro ] llamar ImprimirFormato {¡Hola %!\k} nombre finargs liberar nombre [ No olvidemos liberar la memoria ] finfun [ Ahora podemos utilizar la funcion ] llamar SaludarA {Mundo} finargs [ ¡Hola Mundo! ] llamar SaludarA {Foo} finargs [ ¡Hola Foo! ] llamar SaludarA {John Doe} finargs [ ¡Hola John Doe! ]Nos ahorramos escribir tres(3) veces <llamar ImprimirFormato ...>, claro, esto no es mucho, las funciones son más útiles cuando se van a llamar cientos de veces y poseen cientos de líneas de código.

La función <ImprimirFormato> está definida en la cabecera <entsal.pseudo> de la BEPD, y su declar…

Punteros y referencias

PseudoD hace énfasis en las diferencias entre punteros y referencias. Este articulo esta dedicado a mostrar y explicarestas diferencias (incluye ejemplos).

Para comenzar, vamos a asumir que al inicio de todos los ejemplos de ejecutó el siguiente código:

adquirir variable1 adquirir variable2 adquirir variable3
¿Muy sencillo no? luego de esto, la memoria de PseudoD queda similar a:
Claro, esto es ignorando las variables de la BEPD y del núcleo las cuales, en PseudoD 1.9.5 (no probado en versionesrecientes) eran de, aproximadamente, ~526 bloques (esto incluyendo todala BEPD, nosotros solo utilizaremos loautoincluido).


Primero: ¿Que es un puntero?Un puntero (sección no-normativa, válida solo en PseudoD) es un bloque de memoria que en vez de poseer un valor propio (como variable1 posee {Hola} en la imagen superior) posee un índice de acceso rápido a otra variable, por ende, cada vez que se acceda al puntero realmente se estará accediendo al valor apuntado.

Los punteros son más rápidos de desref…

Paginas oficiales

Como primera entrada, voy a dejar una lista de enlaces a las páginas oficiales de PseudoD:

http://www.pseudod.com: página oficial de PseudoD.http://www.pseudod.com/wiki/: wiki oficial de PseudoD.http://www.pseudod.sourceforge.net/: página de desarrolladores.http://www.sourceforge.net/p/pseudod: proyecto en sourceforge.http://www.github.com/alinarezrangel/pseudod: proyecto en github. En estas páginas se encuentra gran parte de la documentación del lenguaje.