feat(charka): charka-lexer — tokenizador de COBOL
Primera etapa del transpilador COBOL→Rust (Fase D del plan macro): texto COBOL → secuencia de Token. Lexer deliberadamente tonto (emite Word para todo identificador, la clasificación es del parser). Tokens Word/Number/String/Period/Symbol con línea+columna; soporta formato fijo (tarjeta de 80 columnas) y libre; comentarios, comillas dobladas, operadores de 1 y 2 caracteres. LexError tipado. 17 tests; clippy limpio. Limitación v1: sin continuación de literales entre líneas. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user