Skip to content

interpago/alvz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alvz Language v0.18.0

Lenguaje de programación interpretado con sintaxis completamente en español. Orientado a objetos, asíncrono, con tipado estático opcional. Basado en una VM de pila con 83 opcodes y compilación a WebAssembly.

Características

  • Sintaxis en español — keywords, errores y documentación en español
  • Orientado a objetos — clases, herencia, métodos estáticos, getters/setters, super
  • Async/await — ejecución concurrente con ThreadPoolExecutor
  • Tipado opcional — anotaciones de tipo con verificación estática (--no-check-types para deshabilitar)
  • 83 opcodes — VM de pila con bytecode completo (aritmética, control de flujo, closures, excepciones, debug)
  • 13 módulos stdlibmatematicas, cadenas, colecciones, testing, json, csv, sistema, fecha, http, sqlite, aleatorio, expresiones_regulares, consola
  • Compilación WASM — genera binarios .wasm compatibles con wasmtime 45+
  • LSP + DAP — language server con diagnósticos, completado, ir a definición, hover; debugger con breakpoints, paso a paso, inspección de variables
  • Extension VS Code — disponible en el Marketplace como "Alvz en Español": resaltado semántico, 48 snippets, autocompletado, iconos
  • Modo seguro--safe restringe FS, red, imports y recursos
  • CLI completaalvz archivo.alvz, alvz test, alvz fmt, alvz nuevo, alvz build, alvz fix, alvz bench, alvz debug, alvz install
  • Standalonealvz build genera ejecutables con PyInstaller o Nuitka
  • 626 tests — cobertura de VM, parser, lexer, WASM, LSP, DAP, tipos, formatter, fixer, benchmarks

Instalación

Alvz está disponible en PyPI (Python Package Index), el repositorio oficial de paquetes Python. Esto permite instalarlo con un solo comando:

pip install alvz-lenguaje

Requiere Python 3.10+.

Instalación con extras:

pip install alvz-lenguaje[wasm]   # con soporte WebAssembly (wasmtime)
pip install alvz-lenguaje[web]    # con servidor web (FastAPI)
pip install alvz-lenguaje[all]    # todo incluido

Para desarrollo local:

git clone https://github.com/interpago/alvz.git
cd alvz
pip install -e .

Uso rápido

# Ejecutar archivo
alvz programa.alvz

# Ejecutar via WebAssembly (37+ opcodes nativos)
alvz --wasm programa.alvz

# REPL interactivo
alvz

# Ejecutar tests
alvz test tests/

# Formatear código
alvz fmt programa.alvz

# Verificar tipos estáticamente
alvz --no-check-types programa.alvz   # deshabilita type checker

# Modo seguro (sin red, FS restringido)
alvz --safe programa.alvz

# Compilar a ejecutable o WASM
alvz build programa.alvz
alvz build programa.alvz --wasm

# Nuevo proyecto
alvz nuevo proyecto mi_app

# Analizar y corregir
alvz fix programa.alvz

# Benchmarks
alvz bench

# Depurar
alvz debug

Sintaxis básica

variable nombre = "Mundo"
imprimir("Hola " + nombre)

si (edad >= 18) {
    imprimir("Mayor de edad")
} sino {
    imprimir("Menor de edad")
}

mientras (x > 0) {
    imprimir(x)
    x = x - 1
}

funcion factorial(n) {
    si (n <= 1) {
        retornar 1
    }
    retornar n * factorial(n - 1)
}

clase Persona {
    variable nombre = ""
    variable edad = 0

    funcion inicializar(n, e) {
        nombre = n
        edad = e
    }

    funcion saludar() {
        imprimir("Hola, soy " + nombre)
    }
}

Documentación

Proyecto

About

Alvz Language - Lenguaje de programacion en espanol

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors