det translator: --style structured writes invalid Java for a digit-first COBOL name (ZECS001 50702-MESSAGE)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 63/100
Direzione di ricerca
Start in gitgalaxy/tools/cobol_to_java/det/gen.py around line 161, where the structured path calls camel(it.name) without the digit prefix that the dispatch path applies. Compare the two paths, then check the other camel() callers, including the paragraph one near line 911. Reproduce with the digit-first 50702-MESSAGE example through det.program.translate in structured style. Done when the structured output for that name is a legal Java identifier and a new test that parses or compiles it passes.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens. With style="structured", the det translator writes invalid Java for a COBOL data item whose name starts with a digit.
Reproduced on main f842015da with det.program.translate:
01 50702-MESSAGE.
02 50702-KEY PIC X(08) VALUE 'xxxxxxxx'.
dispatch keeps its s_50702_MESSAGE names and is clean. structured, typed or not, declares a Java field whose name starts with a digit, which does not compile. Real case: zECS ZECS001.cbl:288 (01 50702-MESSAGE) gives private final Field 50702Message.
Cause. gitgalaxy/tools/cobol_to_java/det/gen.py:161 (base = camel(it.name) ..., in the structured path) uses camel() as is. Its docstring says "callers prefix a digit", and this caller does not.
Who it reaches. tests/tools/det_port.py defaults to --style dispatch, so committed det ports and proofs are not affected. gitgalaxy/tools/cobol_to_java/port_runner.py:653 defaults to structured, so a user's det run through port_runner does reach it. COBOL allows digit-first names, so any estate can hit this.
Found by the cobolrt API contract work: tests/tools/cobolrt_api.py --check --generated exits 1 on a structured work directory. That scan is manual today (#7356).
Fix. Prefix the name at this caller the way the dispatch path does, then check every other camel() caller for the same gap. Add a test that translates a digit-first name in structured style and parses or compiles the result.
Note. This edits gitgalaxy/tools/cobol_to_java/** (GENERATOR), so evidence records using gen.py go stale until the next refresh.
Class / Sibling gaps
Class: a generated Java identifier built from a COBOL name without checking that it is a legal Java identifier. Check the other camel() callers (gen.py:911 for paragraphs) and reserved words as well as a leading digit.
- Lingua principale
- Python
- Stelle
- 57
- Fork
- 11
- Merge medio
- 1h 32m
- PR unite (30g)
- 974
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di squid-protocol/gitgalaxy
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
squid-protocol/gitgalaxy#7811 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 47/100
squid-protocol/gitgalaxy#7813 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
claim:melek scope:core
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
squid-protocol/gitgalaxy#7709 · 22 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement legacy-modernization priority: medium scope:frontier
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
squid-protocol/gitgalaxy#7646 · 15 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
squid-protocol/gitgalaxy#7628 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di squid-protocol/gitgalaxy
Issue simili
-
docs: Release playbookApertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
awslabs/social-messaging-agent-runtime-toolkit#140 ·
I maintainer di solito rispondono entro 1 giorno
-
subtask
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
fga-eps-mds/2026.2-MeasureSoftGram-DOC#187 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
txn2/mcp-data-platform#2493 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
YO-WHATS-UP2/minigit#78 ·
I maintainer di solito rispondono entro 3 giorni
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
liberation-data/drivine-python#432 ·
I maintainer di solito rispondono entro 1 giorno