1# Changelog — charka
2
3Transpilador COBOL → Rust. El módulo más grande del ecosistema (Fase D
4del plan macro) — el parser COBOL completo es un esfuerzo multi-mes.
5
6### feat(charka-lexer): tokenizador de COBOL
7
8Crate nuevo `crates/modules/charka/charka-lexer` — la primera etapa del
9pipeline del transpilador: texto COBOL → secuencia de `Token`.
10
11- **Lexer deliberadamente tonto**: no conoce keywords ni la cláusula
12 `PICTURE`; emite `Word` para todo identificador y deja la
13 clasificación al parser.
14- Tokens: `Word` (palabras COBOL con guiones internos), `Number`
15 (literal sin signo), `String` (comillas dobladas colapsadas),
16 `Period` (el `.` terminador), `Symbol` (paréntesis, separadores y
17 operadores `+ - * / ** = < > <= >= <>`).
18- Dos formatos de fuente: **fijo** (la tarjeta de 80 columnas — cols
19 1-6 secuencia, 7 indicadora, 8-72 código, 73-80 identificación) y
20 **libre**. Comentarios por la columna indicadora (`*`/`/`) o por `*`
21 inicial en formato libre.
22- Cada `Token` lleva línea y columna 1-based; `LexError` tipado
23 (literal sin cerrar, carácter inesperado).
24- Limitación v1 documentada: no soporta continuación de literales entre
25 líneas (indicador `-`). Subconjunto COBOL'85, el hito intermedio.
26- 17 tests: sentencias, palabras con guiones, literales y comillas
27 dobladas, números vs terminador, operadores, ambos formatos,
28 tracking de posición, errores.
29
30### feat(charka-bcd): aritmética decimal con semántica COBOL
31
32(Pre-existente.) `Picture` + `Decimal` de punto fijo exacto — ver el
33SDD del módulo. 22 tests.
charka.md
Changelog — charka
Transpilador COBOL → Rust. El módulo más grande del ecosistema (Fase D
del plan macro) — el parser COBOL completo es un esfuerzo multi-mes.
feat(charka-lexer): tokenizador de COBOL
Crate nuevo crates/modules/charka/charka-lexer — la primera etapa del
pipeline del transpilador: texto COBOL → secuencia de Token.
- Lexer deliberadamente tonto: no conoce keywords ni la cláusula
PICTURE; emite Word para todo identificador y deja la
clasificación al parser.
- Tokens:
Word (palabras COBOL con guiones internos), Number
(literal sin signo), String (comillas dobladas colapsadas),
Period (el . terminador), Symbol (paréntesis, separadores y
operadores + - * / ** = < > <= >= <>).
- Dos formatos de fuente: fijo (la tarjeta de 80 columnas — cols
1-6 secuencia, 7 indicadora, 8-72 código, 73-80 identificación) y
libre. Comentarios por la columna indicadora (
*//) o por *
inicial en formato libre.
- Cada
Token lleva línea y columna 1-based; LexError tipado
(literal sin cerrar, carácter inesperado).
- Limitación v1 documentada: no soporta continuación de literales entre
líneas (indicador
-). Subconjunto COBOL'85, el hito intermedio.
- 17 tests: sentencias, palabras con guiones, literales y comillas
dobladas, números vs terminador, operadores, ambos formatos,
tracking de posición, errores.
feat(charka-bcd): aritmética decimal con semántica COBOL
(Pre-existente.) Picture + Decimal de punto fijo exacto — ver el
SDD del módulo. 22 tests.