REPL – Interfaz de Línea de Comandos Interactiva
Archivo: src/repl.rs
¿Por qué?
Permite a los usuarios escribir y ejecutar fragmentos de código Forja en tiempo real, facilitando pruebas rápidas, depuración y exploración del lenguaje sin necesidad de crear archivos fuente.
Cómo funciona
- Lee líneas de entrada mediante
std::io::stdin()con un prompt>>. - Parsea cada línea usando el mismo pipeline del compilador (lexer → parser → AST).
- Compila a bytecode con
compiler_asm.rso directamente abytecode.rsy ejecuta con la VM (vm::run). - Mantiene un estado persistente entre iteraciones (variables, funciones) mediante una instancia global de
VM. - Soporta comandos internos (por ejemplo
:quit,:reset,:load <file>) mediante un pequeño dispatcher de comandos.
Para qué se usa
Ideal para aprendizaje, experimentación y debugging avanzado, así como para scripts rápidos que no justifiquen crear un proyecto completo.