Ir al contenido principal

Entradas

Mostrando las entradas de 2016

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 clases PunteroInteligente 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 com

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,

Punteros y referencias

 PseudoD hace énfasis en las diferencias entre punteros y referencias. Este articulo esta dedicado a mostrar y explicar estas 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: Memoria después de tres adquisiciones de memoria Claro, esto es ignorando las variables de la BEPD y del núcleo las cuales, en PseudoD 1.9.5 (no pro bado en versiones recientes) er an de , aproximadamente, ~526 bloques (esto incluyen d o toda la BEPD, nosotros solo utilizaremos lo autoincl uido ). Primero: ¿Que es un puntero? Un puntero (se cció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 punt

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.