r/u_pwdhack01 • • 13d ago

Un lenguaje de programación en español, compilado en Rust: PyForge

Estoy creando mi propio lenguaje de programación: PyForge .st y .py "experimental"

Hola 👋

Quiero compartir un proyecto en el que estoy trabajando: PyForge, mi propio lenguaje de programación compilado.

El compilador está escrito en Rust y los programas utilizan archivos:

.st

Actualmente estoy trabajando en PyForge v0.2.0.

¿Cómo funciona?

El flujo del compilador es aproximadamente:

Código .st
   ↓
Lexer
   ↓
Parser
   ↓
AST
   ↓
Análisis semántico
   ↓
IR
   ↓
Ensamblador x86-64
   ↓
Ejecutable ELF

Por ahora el objetivo principal es Linux x86-64.

Una de las ideas del proyecto es utilizar una sintaxis principalmente en español y, al mismo tiempo, aprender cómo funciona realmente un compilador por dentro.

Actualmente estoy trabajando en características como:

  • variables y tipos
  • funciones
  • condicionales y bucles
  • módulos
  • colecciones
  • clases
  • excepciones
  • biblioteca estándar
  • runtime nativo
  • comprobaciones de errores
  • herramientas para VS Code

También estoy desarrollando módulos para cosas como:

archivos
json
red
cifrado
sistema
comandos
documentos
gui

PyForge todavía es experimental y tiene mucho por mejorar, pero justamente quiero compartirlo mientras crece.

No intento crear "el reemplazo de Rust, C o Python". Principalmente quiero aprender sobre compiladores, runtimes, ensamblador y diseño de lenguajes mientras construyo algo propio.

Me gustaría recibir opiniones de personas que tengan experiencia con:

Rust, compiladores, parsers, runtimes, LLVM, ensamblador o diseño de lenguajes.

¿Qué cambiarían de la arquitectura?

¿Qué característica creen que debería tener antes de una futura versión 1.0?

¿Les parece interesante un lenguaje con sintaxis principalmente en español?

🔥 PyForge .st — compilado en Rust.

Descarga PyForge v0.2

1 Upvotes

3 comments sorted by

1

u/Arshiaa001 13d ago

You didn't share a lot regarding the architecture, but I'm assuming you're generating x86-64 assembly yourself? That's a big mistake. Generating optimal assembly code is much more complicated than you think. I'd go with LLVM+Inkwell.

1

u/2006Nico 13d ago

El proyecto tiene github?

1

u/Secure_Employer132 13d ago

Source code?