Files
sergio b052c41e3c feat(charka): CLI del transpilador — transpile / scaffold / run / check
App nueva crates/apps/charka — el binario `charka`, que vuelve usable
el pipeline COBOL->Rust desde la terminal.

- transpile <in.cob> [-o out.rs] — emite el código Rust.
- scaffold <in.cob> -o <dir> — genera un crate Rust completo
  (Cargo.toml + src/main.rs) que depende de charka-runtime y compila.
- run <in.cob> — ejecuta el programa con el intérprete sombra, sin
  compilar nada, y muestra su salida.
- check <in.cob> -e <esperado> — ejecuta y diferencia contra una
  salida esperada; reporta las líneas que difieren.

Avisa de los verbos COBOL que aún no se transpilan. Verificado de
punta a punta contra el corpus: scaffold de 06-nomina genera un crate
que compila y produce la misma salida que el intérprete sombra — las
dos rutas de ejecución concuerdan.

4 tests; fmt + clippy limpios.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 21:28:36 +00:00

23 lines
720 B
TOML

[package]
name = "charka"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
publish.workspace = true
description = "charka — CLI del transpilador COBOL→Rust: transpila, ejecuta y valida programas COBOL."
[[bin]]
name = "charka"
path = "src/main.rs"
[dependencies]
charka-lexer = { path = "../../modules/charka/charka-lexer" }
charka-parser = { path = "../../modules/charka/charka-parser" }
charka-ir = { path = "../../modules/charka/charka-ir" }
charka-codegen = { path = "../../modules/charka/charka-codegen" }
charka-shadow = { path = "../../modules/charka/charka-shadow" }
clap = { workspace = true }
anyhow = { workspace = true }