Menu

Tree [27c0ea] master /
 History

HTTPS access


File Date Author Commit
 Ejemplos 2017-08-09 Alejandro Linarez Rangel Alejandro Linarez Rangel [d41d2b] Preview PseudoD 2.2.0
 NEA 2021-07-18 Alejandro Linarez Rangel Alejandro Linarez Rangel [27c0ea] v3x: Agrega operador `...` al llamar a una func...
 NIA 2020-10-16 Alejandro Linarez Rangel Alejandro Linarez Rangel [4d326c] Agrega soporte de argumentos de línea de comandos.
 bepd 2020-09-12 Alejandro Linarez Rangel Alejandro Linarez Rangel [47b317] v3x: Agregado objeto __Archivo para abrir, leer...
 docs 2020-11-13 Alejandro Linarez Rangel Alejandro Linarez Rangel [8b8cae] Agrega un `docs/estructura.md` más actualizado.
 tests 2018-04-21 Alejandro Linarez Rangel Alejandro Linarez Rangel [61df86] Nueva prueba de retrollamadas
 .gitignore 2020-01-27 Alejandro Linarez Rangel Alejandro Linarez Rangel [8f55a3] Agregado soporte experimental de PseudoD 3.0.
 .travis.yml 2020-04-14 Alejandro Linarez Rangel Alejandro Linarez Rangel [fd4e40] Actualiza Travis a GCC 5 con C++14
 CODEOFCONDUCT.txt 2016-10-12 Alejandro Linarez Rangel Alejandro Linarez Rangel [92246a] Agregado código de conducta
 ESTRUCTURA.txt 2017-03-19 Alejandro Linarez Rangel Alejandro Linarez Rangel [a78328] Mejorado instalador, IPDC y archivos de lectura
 LEEME.txt 2017-03-19 Alejandro Linarez Rangel Alejandro Linarez Rangel [a78328] Mejorado instalador, IPDC y archivos de lectura
 LICENSE 2017-02-14 Alejandro Linarez Rangel Alejandro Linarez Rangel [24275a] Licenciado PseudoD bajo la licencia de Apache 2.0
 Makefile 2020-01-27 Alejandro Linarez Rangel Alejandro Linarez Rangel [8f55a3] Agregado soporte experimental de PseudoD 3.0.
 README.md 2018-10-06 Alejandro Linarez Rangel Alejandro Linarez Rangel [5abe19] Actualizado el Makefile para C++14
 instalar.sh 2020-02-26 Alejandro Linarez Rangel Alejandro Linarez Rangel [b0ba3c] Agregada nueva expresión `clonar`.
 ipdc 2020-09-02 Alejandro Linarez Rangel Alejandro Linarez Rangel [30c688] Corrige comillas en IPDC al invocar al ejecutable.

Read Me

Lenguaje de Programación PseudoD

BuildStatus

PseudoD es un lenguaje de programación interpretado, escrito en C++14 con
características de alto y medio nivel. Es orientado a objetos y posee una
sintaxis en español.

Características

  • Orientación a objetos
  • Biblioteca Estándar llena de utilidades
  • Núcleo Extensible de la Aplicación (NEA) que permite extender el lenguage
    fácilmente utilizando C++
  • Sistema de Módulos Dinámicos (Bibliotecas Dinámicas) que permite cargar
    módulos en C++ desde PseudoD sin recompilar el núcleo

Obtén PseudoD

Este repositorio contiene la más reciente versión de PseudoD, por ahora no
existen binarios precompilados (aún se trabaja en eso) por ello, si deseas
obtener PseudoD debes compilarlo (es muy fácil):

  • Verifica que posees las dependencias (véase más abajo)
  • Clona este repositorio con
    git clone https://github.com/alinarezrangel/PseudoD.git o descarga una
    versión estable
  • Extrae (si descargástes una versión estable) y entra al directorio del código
    fuente (por ejemplo: si descargástes PseudoD 2.1.0 y lo extraes en
    pseudod-code, entonces entra a pseudod-code). Si clonastes el repositorio
    con Git, simplemente entra al directorio recién creado.
  • Si deseas instalar PseudoD, simplemente ejecuta ./instalar.sh (o
    sudo ./instalar.sh) para iniciar el instalador, es recomendable instalar
    PseudoD para utilizarlo, aunque si no deseas instalarlo de manera global, puedes
    fijar la variable de entorno RUTA_PSEUDOD_INSTALACION a la ruta donde deseas
    instalar PseudoD y luego ejecutar el instalador (por ejemplo, para instalar
    PseudoD en ./install/ solo utiliza
    export RUTA_PSEUDOD_INSTALACION="./install/"; ./instalar.sh).
  • Luego de instalar PseudoD (esto lo compila automáticamente) y ejecutar el
    código en BASH que el instalador provee basta con ejecutar
    PseudoD $RUTA_PSEUDOD_INSTALACION/Ejemplos/HolaMundo.pd -d -d para ver el
    "Hola Mundo".
  • Si no deseas instalar PseudoD, solo ejecuta make y los binarios estarán
    en el directorio actual.

Dependencias

PseudoD utiliza la biblioteca estándar de C++11 y la biblioteca estándar de
C11, por ello es necesario poseer un compilador con soporte de C++11 y C11
para compilar PseudoD (GCC y G++ 4.8 o superior). PseudoD también utiliza
parte de las APIs POSIX, como dlfcn.h para algunas tareas, esto implica que
PseudoD no puede compilarse en sistemas Microsoft Windows sin utilizar
herramientas adicionales: Cygwin es necesario para esta tarea.

En resumen:

  • Compilador con soporte de C++11 y C11 o superior (gcc o g++ 4.8 o superior)
  • Cygwin si se compila en sistemas Microsoft Windows
  • GNU Make o compatible (en general, algún Make).

Suite de pruebas

La suite de pruebas tiene los mismos requerimientos base que PseudoD pero los
siguientes programas deben estar instalados además:

  • find
  • sed
  • cat
  • diff
  • head
  • wc
  • bc
  • touch
  • mkdir
  • Los binarios resultantes de compilar e instalar PseudoD.

Opcionalmente, si deseas que la salida de las pruebas este coloreada (util para
detectar pruebas fallidas), es necesario poseer el programa tput.

LEEME

Es recomendable leer los siguientes archivos:

  • LEEME.txt (LEEME.txt): Este archivo contiene más información
    sobre PseudoD.
  • CONTRIBUTE.txt (CONTRIBUTE.txt): Como contribuir con el
    proyecto y estilo de código.
  • ESTRUCTURA.txt (ESTRUCTURA.txt): Este archivo explica
    la estructura del directorio.
  • bepd/LEEME.txt (bepd/LEEME.txt): LEEME de la BEPD.
  • tests/LEEME.txt (tests/LEEME.txt): LEEME de la suite de
    pruebas.

Documentación y ayuda

La página oficial de PseudoD se encuentra en
http://pseudod.sourceforge.net.

Ejemplos

[ Esto es un comentario ]
[
Puede tener múltiples líneas
]

[
En PseudoD, las cadenas de carácteres están delimitadas por `{}` en vez de `""`
]

escribir {Hola Mundo}
nl [ nl es "Nueva Línea" e imprimir el fin de línea ]

[ Vayamos a algo más complejo: una clase anfitríon ]

[ PseudoD soporta caracteres Unicode UTF-8 en los nombres: ]
clase Anfitríon hereda Objeto
    metodo saludarA
finclase

[
Los parámetros comienzan con "con/de" y son una lista de nombres separados
por "y", el parámtro "yo" es como el "self" de Python o el "this" de C++
y contiene a la instancia actual.
]
metodo Anfitríon#saludarA con yo y nombre_persona
    escribir {Bienvenido }
    escribir nombre_persona
    nl
finmetodo

instancia Anfitríon anfitríon

llamar anfitríon#saludarA {Pepe} finargs
llamar anfitríon#saludarA {a PseudoD} finargs

[
La BEPD (Biblioteca Estándar de PseudoD) posee clases, funciones y
procedimientos, entre otras herramientas útiles:
]

[ Funciones trigonométricas: ]
utilizar mt/trigonometria.pseudo

[ Imprime el seno de 7 (`sin(7)`) ]
escribir llamar Seno {7} finargs
nl

Licencia

PseudoD esta licenciado bajo la Licencia de Apache 2.0.

LICENSE

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.