Add a bounded linker-script structure view for MEMORY SECTIONS and ENTRY
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 64/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- kotlin
- Ambito
- compilers, developer-experience
Direzione di ricerca
Start from the linked LinkerScriptLexer.kt to see how tokens are already produced, then find where Wave registers structure/navigation for linker scripts under plugins/wave/src/main/kotlin/dev/wavelang/intellij/wave/ld/. Build a bounded parser over that lexer that reports MEMORY regions, SECTIONS entries and ENTRY declarations with exact source ranges and degrades gracefully on nested braces, comments, strings and incomplete expressions. Done means the structure view lists these against small kernel/freestanding fixtures plus a short supported-syntax description, with no expression evaluation and location-counter fixes left to #5.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem / current evidence
WfP currently colors GNU-style linker-script keywords but has no structural representation. Compiler developers need to locate memory regions, output sections and entry declarations.
Code and contract references
- WfP/plugins/wave/src/main/kotlin/dev/wavelang/intellij/wave/ld/LinkerScriptLexer.kt
- Wave/src/cli.rs#L2441
Scope / proposed contract
Introduce a documented GNU-compatible subset sufficient for outline/navigation. Preserve unsupported expressions as editable text; do not claim this is a Whale linker-script interpreter.
Completion criteria
- List named MEMORY regions, SECTIONS entries and ENTRY declarations with exact source ranges.
- Handle nested braces, comments, strings and incomplete expressions without unbounded parsing.
- Do not evaluate layout expressions or declare a script linkable merely because it parses.
- Keep standalone location-counter token fixes in existing #5.
- Use representative kernel/freestanding fixtures and a small supported-syntax description.
Dependencies and boundaries
- Reuse/coordinate with existing WfP work: #5.
- Ecosystem index: #49; existing foundations: #8.
Difficulty
Medium — requires understanding the affected tool or platform integration.
Audit baseline: Wave 509a1e46; Whale e3a12d08; Vex 71f29daa; WfP 2804fc02. This issue records source-audit findings and proposed work; no implementation or new execution is claimed. The checks above are future acceptance criteria. Prefer small fixtures and targeted validation; full builds or real debugger/IDE sessions should be explicit and necessary.
- Lingua principale
- Java
- Stelle
- 0
- Fork
- 3
- Merge medio
- 8h 8m
- PR unite (30g)
- 1
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun 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 wavefnd/wave-for-platform
-
documentation good first issue help wanted priority medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
wavefnd/wave-for-platform#45 ·
-
documentation good first issue help wanted priority medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
wavefnd/wave-for-platform#44 ·
-
documentation good first issue help wanted priority high
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
wavefnd/wave-for-platform#43 ·
-
enhancement good first issue help wanted priority low ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
wavefnd/wave-for-platform#41 ·
-
enhancement good first issue help wanted priority medium product
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
wavefnd/wave-for-platform#40 ·
Tutte le issue di wavefnd/wave-for-platform
Issue simili
-
account bug communication lecture
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
line/centraldogma#1397 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
cryptomator/hub#515 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
vert-x3/vertx-mail-client#268 ·
-
Startup can freeze while MigLayout's component wrapper runs its static initializer on the EDTApertadesktop edt not responding
Difficoltà 1/5 1-3 ore Idoneità per principianti 86/100