| Crates.io | r2rust-core |
| lib.rs | r2rust-core |
| version | 0.1.0 |
| created_at | 2024-11-22 07:09:49.967393+00 |
| updated_at | 2024-11-22 07:09:49.967393+00 |
| description | An interpreter inspired by R, implemented in Rust with a modular design. |
| homepage | https://github.com/R2Rust |
| repository | https://github.com/R2Rust/core |
| max_upload_size | |
| id | 1457150 |
| size | 92,478 |
R2Rust es un intérprete escrito en Rust inspirado en el lenguaje de programación R. Este proyecto reimplementa funcionalidades básicas de R con el objetivo de ser ligero, eficiente y modular.
Clona este proyecto desde GitHub:
git clone https://github.com/R2Rust/core.git
cd core
Compila el proyecto utilizando cargo:
cargo build
Para iniciar el REPL interactivo:
cargo run
Ejemplo de sesión interactiva:
Welcome to R2Rust! 🚀
Type 'exit' to quit or 'help' for instructions.
rustr> x <- 10 + 20
Result: 30
rustr> y <- x + 5
Result: 35
rustr> exit
Goodbye!
R2Rust/
├── src/
│ ├── ast.rs # Definición del Abstract Syntax Tree (AST)
│ ├── environment.rs # Manejo de variables y estado
│ ├── evaluator.rs # Evaluación de expresiones
│ ├── lexer.rs # Tokenización de entrada
│ ├── parser.rs # Análisis sintáctico
│ ├── repl.rs # Read-Eval-Print Loop
│ ├── lib.rs # Biblioteca central del proyecto
│ └── main.rs # Punto de entrada principal
├── tests/ # Pruebas para los módulos
│ ├── lexer_tests.rs
│ ├── parser_tests.rs
│ ├── evaluator_tests.rs
│ └── repl_tests.rs
├── Cargo.toml # Configuración del proyecto y dependencias
├── Cargo.lock # Bloqueo de versiones de dependencias
└── README.md # Documentación del proyecto
¡Las contribuciones son bienvenidas! Si quieres colaborar:
git checkout -b feature/nueva-funcionalidad
git commit -m "Añadir nueva funcionalidad"
git push origin feature/nueva-funcionalidad
Ejecuta todas las pruebas para asegurarte de que todo funcione correctamente:
cargo test
Este proyecto está licenciado bajo la GNU General Public License v3.0. Consulta el archivo LICENSE para más información.