Menu

PseudoD / Blog: Recent posts

PseudoD 2.2.0

Luego de tanto tiempo en trabajo, PseudoD 2.2.0 esta listo para ser liberado! ya ha sido oficialmente publicado como la nueva versión de PseudoD y veamos ahora una lista completa de que trae de nuevo:

Resumen

Este es un corto resúmen de la lista de cambios, si vás a leer toda la lista puedes no leer esta sección.

  • Ahora las palabras clave metodo y procedimiento actúan como aliases de funcion y se agregaron como azúcar sintáctica.
  • En clases las nuevas palabras clave hereda, extiende e implementa existen como nuevos mecanismos de herencia: clase A hereda B y clase A extiende B son equivalentes a la vieja palabra clave heredar
  • Dentro de las clases, las palabras clave atributo, puntero y metodo poseen significados diferentes y especiales: sirven para declarar atributos (variables), punteros y métodos con una sintáxis más legible y simple.
  • Literales de cadena permiten al código verse mejor y trabajar con menos variables
  • Nuevo operador fijar a provee la máxima flexibilidad.
  • Nuevo tokenizador implementado a nivel de núcleo.
  • Corregidos bugs y fallas grandes
  • BEPD separada en sub-bibliotecas... read more
Posted by Alejandro Linarez 2017-08-15 Labels: v2.2.0 2.2.0 release

Revisión de PseudoD 2.2.0 (prerelease)

Aquí una revisión de los cambios que se están realizando actualmente en PseudoD, estos combios serán los últimos en ser realizados antes de liberar PseudoD 2.2.0: luego de realizar estos cambios, PseudoD 2.2.0 será liberado como la última versión estáble y se comenzará el trabajo de PseudoD 2.3.0 el cual será básicamente PseudoD 2.2.0 pero con una nueva BEPD.

Tokenizador

PseudoD poseerá un tokenizador, el cual permitirá que el núcleo del lenguaje pase ser como:... read more

Posted by Alejandro Linarez 2017-05-18 Labels: pseudod 2.2.0 bepd nueva version

Palabras clave con nueva sintáxis

Ahora más palabras clave utilizan la función PDvar::ValorDelToken, permitiendo una nueva sintáxis para los programas, más limpia y legible:

```pseudod
[ Antes: ]
adquirir mensaje
fijar mensaje a {Hola Mundo}
escribir mensaje
nl

[ "escribir" solo acepta variables ]

[ Ahora: ]
escribir {Hola Mundo}
nl
[ "escribir" acepta cualquier expresión: ]
escribir llamar Seno {6} finargs
nl
escribir si son iguales {A} y {B}
[ lo anterior escribe {falso} ]
nl
```... read more

Posted by Alejandro Linarez 2017-04-16 Labels: pseudod expresiones

pdhelpextracter y docmypd

Ahora no necesitas utilizar un navegador web para acceder a la documentación de la BEPD utilizando pdhelpextracter:

pdhelpextractar-autosearch.sh Arreglo | less

Imprimirá toda la ayuda de todo lo relacionado al nombre Arreglo. Busca incluso en los módulos instalados en la carpeta plugins por lo cual puedes no preocuparte acerca de configurar la herramienta. Si la instalación de PseudoD se realizó en una ruta no esperada, puedes configurar la variable de entorno $PSEUDODPATH.... read more

Posted by Alejandro Linarez 2017-02-17 Labels: pdhelpextracter pdhelpextracter-autosearch docmypd pddoc github HTML html css CSS

PseudoD 2.2.0 y los tipos de datos

Ahora que la BEPD en PseudoD 2.2.0 sufrio una reestructuración, dejando los archivos tipos.pseudo y plugins.pseudo sin apenas uso, se realizarán los siguientes cambios:

tipos.pseudo: Type Traits

Los type traits (rasgos de tipo) permiten al programa identificar los tipos (o sus caracteristicas) de determinados objetos o tipos.

```pseudod
utilizar tipos.pseudo

[ Tipos también declara la función Asertar ]... read more

Posted by Alejandro Linarez 2017-02-16 Labels: tipos.pseudo typetraits rasgos de tipo BEPD bepd clases 2.2.0

Nueva sintaxis de clases, herencia, comentarios y nombres

Ahora PseudoD 2.2.0 soporta una nueva sintaxis para las clases:

```pseudod
[ Antes ]
clase MiClase
;puntero
:metodo
atributo
finclase
heredar Objeto MiClase

clase MiClaseAbstracta
:metodo
finclase
heredar Objeto MiClaseAbstracta

funcion MiClaseAbstracta#metodo
finfun

[ Ahora ]
clase MiClase hereda Objeto
puntero mi_puntero
metodo mi_metodo
atributo mi_atributo
finclase

clase abstracta MiClaseAbstracta hereda Objeto
metodo mi_metodo
finclase... read more

Posted by Alejandro Linarez 2016-12-22 Labels: constructores destructores pseudod 2.2.0 2.2.0 nombres herencia clases comentarios sintaxis

Reestructuración del código y página libre

Ahora, PseudoD posee una nueva estructura de código, donde todo el NIA esta separado en una carpeta indepeniente. Además se esta trabajando en un nuevo tokenizador basado en la clase pseudod::NMemonicoProxy y una nueva clase PDvar::PDVariante. Estos cambios se verán en el repositorio en GitHub (https://github.com/alinarezrangel/PseudoD) y el proyecto en GitHub ya acepta pull requests.

Se publicará el código fuente de la página de PseudoD en GitHub dentro de los próximos días para permitir un desarrollo más abierto.

Posted by Alejandro Linarez 2016-10-25 Labels: página web NIA código codigo

Bug De Los Punteros

PseudoD 2.1.0 posee un bug importante, cuyo nombre clave es invalidación de punteros por eliminación de relleno.

Nombre Valor
Bug ID 1/1/1
¿Esta registrado? Si
Descubierto el 20161009
Versiones afec. < 2.2.0
Publicación del parche No (ver nota 2)... read more
Posted by Alejandro Linarez 2016-10-10 Labels: bug 2.2.0 punteros puntero inválido dt20161009 bid1/1/1

Nueva página de PseudoD

PseudoD ya posee una nueva y mejorada página en desarrollo, en http://pseudod.sourceforge.net/ y esta potenciada por Generation 1 (ver más en http://alinarezrangel.github.io/generation/)

El código fuente de esta página estará disponible proximamente para el desarrollo público.

Posted by Alejandro Linarez 2016-09-18 Labels: página de pseudod generation

Biblioteca de manejo de cadenas

Ya se agrego a PseudoD un nuevo encabezado: cadena.pseudo posee funciones de utilidad para manejar cadenas de caracteres. Por ahora, las funciones contenidas son:

  1. Cadena#Concatenar Concatena dos cadenas
  2. Cadena#Buscar Busca una cadena en otra
  3. Cadena#SubCadena Selecciona una subcadena de otra

Su uso puede ser:

```
utilizar entsal.pseudo
utilizar cadena.pseudo

llamar EscribirLinea
llamar Cadena#Concatenar
{Hola }
{Mundo}
finargs
finargs... read more

Posted by Alejandro Linarez 2016-08-25 Labels: pseudod bepd cadenas cadena.pseudo

Rediseño de la BEPD

Para incluir las nuevas caracteristicas que PseudoD ha agregado desde la versión 1.0.0, la BEPD será totalmente reescrita para aprovechar al 100% las caracteristicas de PseudoD 2.2.0. Este cambio incluirá:

  • Regreso de las funciones de cadenas.
  • Nuevas funciones matemáticas
  • Se utilizará AquaDoc en vez de PDDoc.
  • Reestructuración de algunos archivos.

Sin embargo, este cambio es totalmente compatible con viejos programas.

Posted by Alejandro Linarez 2016-08-10 Labels: bepd 2.2.0

Nuevo módulo del NEA y regreso de las cadenas

Hace tiempo, PseudoD tenía un módulo de manejo de cadenas en la BEPD (clases.pseudo tenía una clase Cadena aún soportada por el resaltado de sintaxis de la IDE de PseudoD). Este modulo fue declarado obsoleto en PseudoD 1.5.0 y ahora, en PseudoD 2.2.0 (proximo lanzamiento) se volverá a ver. Algunas razones por las cuales se piensa agregar este módulo de nuevo son:

Literales de cadena... read more

Posted by Alejandro Linarez 2016-07-16 Labels: pseudod 2.2.0 NEA unicode utf-8

Extensiones de los archivos

Hace tiempo que PseudoD soporta 4 extensiones de archivos (.pd, .pseudo, .pseudod y .psd) y este post indicará cuando utilizar uno u otro.

Archivo principal: .pd

Todo archivo que vaya a ser ejecutado con PseudoD debe estar nombrado con la extensión .pd, es equivalente al .cpp de C++ o .c de C.

Cabeceras y módulos: .pseudo

Todo archivo que vaya a ser importado desde PseudoD (generalmente con utilizar) debe estar nombrado con la extensión .pseudo. Es equivalente al .h de C/C++.... read more

Posted by Alejandro Linarez 2016-07-14 Labels: extensiones

Literales en llamadas

El sistema de entrada y salida de PseudoD (entsal.pseudo) se vuelve mucho más flexible gracias a las literales en llamadas a funciones. El único cambio es que ahora los argumentos a funciones soportan literales de cadena, tal como fijar, pero a excepción de estas dos ordenes, ninguna otra acepta literales de cadena (ver más abajo para una explicación), y gracias a esto, el "Hola Mundo" pasa a ser:... read more

Posted by Alejandro Linarez 2016-07-03 Labels: literales de cadena 2.2.0 funciones clases

Literales de cadena

Ya la version del repositorio git de PseudoD soporta literales de cadena! su uso es el siguiente: puedes insertarlas junto al nuevo operador a o donde se espere una expresión cualquiera:

fijar mensaje a {Hola Mundo}
fijar saludo a «Hola»
si son iguales respuesta y {Que tal!}
escribir saludo [ el resto de las ordenes aún no soportan las literales ]
fin

Además, se mejoro el interprete interactivo de PseudoD para un uso más facil.

Posted by Alejandro Linarez 2016-06-26

PseudoD optimizado

Recientemente se logro optimizar PseudoD (version disponible en el repositorio git) para que ejecutara un programa de prueba aproximadamente en 364 milisegundos (tiempo original: 1400 milisegundos), la proxima mejora sera agregada dentro de unos dias (esta en desarrollo): utilizar ValorDelTokenpara las lecturas de fijar y llamar, para despues utilizarlo en cualquier lugar.

Posted by Alejandro Linarez 2016-06-24

Planes a futuro: v2.2.0 y caracteristicas obsoletas

Algunas caracteristicas en PseudoD han dado lugar a código poco legible, o a código no intuitivo. Estas caracteristicas serán eliminadas de forma total para PseudoD 3.0.0, y mientras, se proporcionarán valores de reemplazo.

La primera caracteristica en ser eliminada será el #(Final). (delimitador de cierre). Ya con PseudoD v2.1.0 se puede evitar su uso en las clases, pero aún no en llamadas a funciones. Su principal reemplazo en clases es:... read more

Posted by Alejandro Linarez 2016-06-06 Labels: v2.2.0

PseudoD v2.1.0 review

PseudoD v2.1.0 ha llegado, y aunque no tenga cambios mayores, posee elementos que facilitarán el desarrollo en PseudoD:

  • Clase Arreglo
  • Función BibliotecasDinamicas.LlamarOO
  • Solucionado bug en Referencia#fijarAttr

Clase Arreglo

La nueva clase ubicada en algor.pseudo llamada Arreglo, permite el desarrollo de estructuras de crecimiento dinámico, sin tener que preocuparte por el manejo de la memoria:... read more

Posted by Alejandro Linarez 2016-05-26

Bibliotecas dinámicas

Como ya se ha dicho antes, PseudoD soporta 2 tipos de modulos dinámicos:

  • Módulos del NEA
  • Módulos en C++ dinámico

Pero ahora con PseudoD 2.1.0, dentro de los módulos en C++ dinámico existen unas categorias:

  • Orientados a objetos
  • Orientados a procedimientos

```
// Módulo en C++11 dinámico orientado a procedimientos
// Valido en todas las versiones

ifndef MI_MODULO_H

define MI_MODULO_H

include <nea pddata.hh=""></nea>

include <iostream>... read more</iostream>

Posted by Alejandro Linarez 2016-05-16

PseudoD v2.1.0

Proximamente se lanzara una nueva versión de PseudoD: PseudoD v2.1.0. Esta nueva versión (siguiendo el semver) es compatible con PseudoD v2.0.0 con las siguientes caracteristicas:

  • Nuevo sistema de módulos dinámicos orientados a objetos (aún se soportan los módulos al estilo C).
  • Clase Arreglo y solucionado un bug en la implementación de Referencia#fijarAttr.

Y se esta trabajando en lo siguiente:... read more

Posted by Alejandro Linarez 2016-05-11 Labels: v2.1.0 soporte semver

Proxima BBL

Proximamente se realizará un cambio de estilo a la página de desarrolladores, y junto a esto, se publicará la BBL de forma oficial.

¿Que es la BBL?

La BBL (Biblioteca de Bibliotecas de PseudoD) es una colección de modulos del NEA, modulos dinámicos y modulos en PseudoD de facil acceso y descarga. Actualmente la BBL esta bajo pruebas y no se tardará mucho en publicarse de forma oficial.

Por ejemplo, con el manejador de la BBL, llamado pdmodulo, instalar un módulo es tan sencillo como:... read more

Posted by Alejandro Linarez 2016-05-05 Labels: pdmodulo bbl 2.1.0

Nuevo sistema de versiones de PseudoD

Desde la versión 2.0.0 de PseudoD, se cambiara el sistema de versiones al de semantic versioning(ver página oficial).

Posted by Alejandro Linarez 2016-04-18

Nuevo diseño de la página principal

Ahora la página principal de PseudoD(http://www.pseudod.com) posee un nuevo estilo basado en el framework de CSS W3.CSS(ver página oficial) muy similar al que proximamente tendrá la página de desarrolladores.

Posted by Alejandro Linarez 2016-04-07

Nueva wiki de PseudoD

Ahora, PseudoD posee una nueva wiki que esta en trabajo en http://www.pseudod.com/wiki/.

Posted by Alejandro Linarez 2016-04-01

Proyecto PseudoWeb

Desde PseudoD u1.9.0 se esta trabajando en un proyecto llamado PseudoWeb, el cual es un preprocesador de HTML, de esta forma, se puede mezclar HTML y PseudoD para generar una página web. Actualmente el proyecto esta en fase de pruebas y no ha sido liberado, sin embargo, falta muy poco para su lanzamiento.

Un ejemplo de página generada es:

```

<meta charset="utf-8"> <title>Pagina de ejemplo</title>

{ adquirir mensaje fijar mensaje =* Hola!
Mundo! llamar PseudoWeb#Escribir mensaje #(Final). }

```... read more

Posted by Alejandro Linarez 2016-03-18 Labels: pseudoweb html web
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.