EDG C++ har åpnet kildekoden til sin C/C++-front-end etter mer enn 30 år som proprietær teknologi. Koden ble publisert 30. september 2026, og The C++ Alliance blir prosjektets ideelle hjem. Det gjør en viktig del av C++-verktøykjeden tilgjengelig som åpen kildekode.
En front-end med lang historie
EDG C++-front-end har vært brukt kommersielt i over tre tiår og er kjent for omfattende støtte for ulike C++-dialekter og høy kompatibilitet. Teknologien har blant annet vært brukt i Intel C++ Compiler classic, NVIDIA CUDA NVCC og Microsoft Visual Studio IntelliSense.
Apache 2.0 og åpen utvikling
Den åpne EDG-koden distribueres under Apache 2.0-lisensen. Det betyr at utviklere og selskaper får tilgang til kildekoden, samtidig som prosjektet åpnes for eksterne bidrag.
The C++ Alliance skal stå for den ideelle forvaltningen av prosjektet. EDG-utviklere fortsetter å vedlikeholde koden, mens brukere kan bidra med feilrettinger og nye funksjoner gjennom pull requests.
Brukes allerede i tung C++-infrastruktur
Det som gjør åpningen spesielt interessant er hvor lenge EDG-teknologien har vært en del av eksisterende utviklerverktøy. Front-end-en håndterer blant annet parsing, kompatibilitet og kilde-til-kilde-transformasjoner som kan brukes som byggestein i andre C++-verktøy.
Det nye åpne prosjektet inneholder også et C-genererende backend, et C++-genererende backend, prelinker, runtime-støtte og flere utviklerverktøy. Kildekoden er nå tilgjengelig på GitHub.
Hvorfor er EDG C++ interessant?
En C++-front-end er en sentral del av verktøykjeden som tolker kildekoden og gjør den tilgjengelig for resten av kompilatoren eller andre analyseverktøy. Når en etablert front-end blir åpen kildekode, får utviklere mulighet til å undersøke hvordan teknologien fungerer og tilpasse den til egne prosjekter.
For C++-økosystemet er dette også interessant fordi EDG har vært en kommersiell leverandør i flere tiår. Koden kan nå studeres av utviklere som arbeider med kompilatorer, IDE-er, statisk analyse, kodegenerering og andre verktøy rundt C og C++. Åpen utvikling kan samtidig gjøre det enklere å oppdage feil og diskutere kompatibilitet med nye språkstandarder.
Hva er en C++-front-end?
En front-end er delen av en kompilator eller et utviklerverktøy som analyserer kildekoden og bygger opp en intern representasjon av programmet. Den må blant annet forstå syntaks, typer, språkregler og ulike versjoner av C++ før resten av verktøykjeden kan gjøre jobben sin.
For et språk som C++ er dette en omfattende oppgave. Språket har utviklet seg gjennom flere standarder og inneholder mange komplekse språkfunksjoner. En etablert front-end kan derfor være en verdifull byggestein for verktøy som trenger dyp forståelse av C++-kode.
Hva betyr dette for utviklere?
- Utviklere kan inspisere og bygge EDG C/C++-front-end-en selv.
- Prosjektet kan få bidrag fra C++-miljøet gjennom GitHub.
- Bedrifter får større innsyn i en komponent som tidligere var proprietær.
- EDG kan brukes som grunnlag for nye C/C++-verktøy og kilde-til-kilde-løsninger.
Et interessant tillegg til C++-økosystemet
Åpningen betyr ikke at eksisterende kommersielle produkter automatisk blir erstattet. Den viktigste endringen er at selve front-end-teknologien nå kan studeres, bygges videre på og forbedres offentlig. For C++-økosystemet kan dette gi nye muligheter innen kompilatorer, analyseverktøy og utviklerverktøy.
Relatert lesestoff
Kilder: EDGCPP, EDG Compiler Project på GitHub og Phoronix.