Guía de Uso de LangPy

Aprende a usar LangPy para escribir código Python en tu idioma nativo usando palabras clave en lenguaje natural

Verificar Instalación

Verifica que LangPy esté correctamente instalado ejecutando el comando sin argumentos.

langpy

Si LangPy está instalado correctamente, verás el mensaje informativo

Uso Básico

Ejecuta archivos LangPy directamente

Crea un archivo con la extensión apropiada (.pyes para español, .pypt para portugués, .pyfr para francés) y ejecútalo con el comando langpy.

# hola.pyes
definir main():
    nombre = "Mundo"
    imprimir(f"Hola {nombre}!")

main()
langpy hola.pyes

Lenguajes Soportados

El lenguaje se determina únicamente por la extensión del archivo

  • Español: extensión .pyes - palabras clave como definir, si, para, imprimir
  • Portugués: extensión .pypt - palavras-chave como definir, se, para, imprimir
  • Francés: extensión .pyfr - mots-clés comme definir, si, pour, imprimer

Ejecutar Proyectos

LangPy soporta estructuras de proyectos con punto de entrada __main__

Organiza tu código en directorios y usa __main__.pyes como punto de entrada principal.

mi_proyecto/
├── __main__.pyes     # Punto de entrada
├── math.pyes            # Módulo local
└── utils/
    ├── __init__.pyes
    └── helpers.pyes
langpy mi_proyecto/

LangPy ejecutará automáticamente el archivo __main__.pyes del directorio

Transpilar a Python

Convierte archivos LangPy a archivos Python estándar

Genera archivos .py que pueden ejecutarse con el intérprete estándar de Python.

langpy transpile script.pyes

Esto crea un archivo .py con el mismo nombre junto a tu archivo fuente

LangPy resuelve y transpila automáticamente todos los módulos locales importados que tengan la extensión del lenguaje correspondiente, preservando la estructura de directorios.

# Si main.pyes importa utils/math.pyes:
# main.pyes → main.py
# utils/math.pyes → utils/math.py

Transpilar a Directorio Específico

Genera archivos Python en un directorio de salida personalizado

Usa el flag --output para especificar un directorio de salida. LangPy copiará todos los archivos necesarios preservando la estructura.

langpy transpile main.pyes --output dist/
langpy transpile main.pyes -o dist/

Transpila archivos LangPy importados y copia archivos .py referenciados (excluyendo módulos de pip)

Referencia de Comandos CLI

langpy <archivo>

Ejecuta directamente un archivo LangPy o proyecto con __main__.pyes

langpy script.pyes
langpy mi_proyecto/

langpy transpile

Convierte archivos LangPy a Python estándar. Resuelve automáticamente imports locales de LangPy.

langpy transpile script.pyes

--output / -o

Especifica directorio de salida para transpilación. Preserva estructura de directorios y copia archivos .py vanilla referenciados.

langpy transpile script.pyes --output dist/
langpy transpile script.pyes -o dist/

--force / -f

Fuerza la sobrescritura de archivos .py existentes durante la transpilación.

langpy transpile script.pyes --force
langpy transpile script.pyes -f

--help

Muestra información de ayuda y comandos disponibles.

langpy --help

--version

Muestra la versión instalada de LangPy.

langpy --version

Trabajar con Librerías

LangPy es 100% compatible con las librerías de Python

Puedes importar y usar cualquier librería de Python o crear módulos locales usando la sintaxis de LangPy.

# math.pyes
definir suma(a, b):
    retornar a + b

definir resta(a, b):
    retornar a - b
# main.pyes
desde operations importar suma, resta
importar numpy como np

definir analizar_datos():
    # Usa tus funciones
    resultado = suma(10, 5)
    imprimir(f"Suma: {resultado}")
    
    # Usa cualquier librería de Python
    datos = np.array([1, 2, 3, 4, 5])
    imprimir(f"Media: {np.mean(datos)}")

analizar_datos()
langpy main.pyes

Cómo Funciona

LangPy es un transpilador léxico que traduce únicamente las palabras clave a Python, dejando todo lo demás sin cambios.

  1. Lee tu archivo .pyes/.pypt/.pyfr
  2. Tokeniza usando el tokenizador de la biblioteca estándar de Python
  3. Reemplaza únicamente los tokens NAME con palabras clave (strings y comentarios permanecen sin cambios)
  4. Destokeniza de vuelta a código Python válido
  5. Ejecuta con la máquina virtual estándar de Python

Cero sobrecarga en tiempo de ejecución - se ejecuta como Python nativo sin penalización de rendimiento