Hva er ADS-filformatet?
En .ads-fil er en Ada-pakkesspesifikasjon - grensesnittdelen av en Ada-pakke. Under navnekonvensjonen til GNAT-kompilatoren (de facto-standarden i Ada-økosystemet), er hver Ada-pakke delt over to filer: spesifikasjonen i .ads og implementasjonskroppen i en .adb-fil.
.ads-filen deklarerer hva som er offentlig synlig for andre kompilasjonsenheter: typer, undertyper, konstanter, underprogramsignaturer (prosedyre- og funksjonsprofiler), oppgavetyper og generiske parametere. Den inneholder ingen kjørbar kode eller underprogramkropper - kun deklarasjonene som utgjør kontrakten andre pakker avhenger av.
Syntaktisk åpner en spesifikasjon med package <Name> is og lukkes med end <Name>;. Kontekstklausuler (with- og use-setninger) øverst lister opp pakkene spesifikasjonen avhenger av. Ada-kommentarer begynner med --.
Formatet er ren UTF-8 (eller ASCII) tekst med MIME-type text/x-ada. Det finnes ingen «magic bytes»; filer identifiseres ved deres Ada-kildestruktur. Ada-dialekten som er i bruk - Ada 83, 95, 2005, 2012 eller Ada 2022 (ISO/IEC 8652:2023) - styres av GNAT-kompilatorflagg som -gnat2022 eller en pragma Ada_2022 på kildenivå.
.ads-filer åpnes i GNAT Studio, Visual Studio Code med Ada/SPARK-utvidelsen, eller et hvilket som helst tekstredigeringsprogram. GNAT-verktøykjeden kompilerer dem sammen med deres .adb-kropper; byggkoordinering håndteres av en .gpr-prosjektfil.
Sikkerhet og trygghet
RISIKO: LOWEn .ads-fil er ren Ada-kildetekst og kan ikke kjøres av seg selv, så det er trygt å åpne en for å lese den. Den vanlige forsiktigheten for all kildekode gjelder: gå gjennom kode fra upålitelige kilder før du kompilerer og kjører den, siden det omkringliggende prosjektet vil produsere en kjørbar fil. Det er ingen DRM, kryptering eller spesiell håndtering - behandle den som enhver tekst-/kodefil. Installer GNAT-verktøykjeden kun fra offisielle kilder (AdaCore/GCC).
Formatdetaljer
i et nøtteskall- Reklame- / annonsefil - Enkelte annonsesystemer og AdSense-relaterte verktøy bruker .ads for annonseinnhold eller annonse-tag-filer; ikke relatert til Ada-kildekode.
- Generisk «adressebok» / innstillingseksport - Noen få eldre programmer lagrer innstillinger eller adressedata med filendelsen .ads; identifiseres ved det opprinnelige programmet.
Programmer som åpner ADS-filer
Tekniske detaljer
dyp spesifikasjon| Filtype | Ren tekst Ada-kilde - spesifikasjonsdelen (grensesnittet) av en Ada-pakke |
| MIME-type | text/x-ada (også akseptert som text/plain) |
| Tekstkoding | UTF-8 eller ASCII; historisk Latin-1; GNAT-koding kan velges via -gnatiX-flagg |
| Binær signatur | Ingen - ren tekst; identifisert av Ada-nøkkelordstruktur (package <Name> is … end <Name>;) |
| Typisk filstørrelse | 1 KB - 100 KB (kun spesifikasjonsdeklarasjoner; kropper ligger i den tilhørende .adb) |
| GNAT navneregel | Basenavnet må samsvare med pakkenavnet, med små bokstaver og punktum erstattet med bindestrek - f.eks. Ada.Containers mappes til ada-containers.ads |
| Struktur | Valgfrie with/use-kontekstklausuler, deretter package <Name> is, offentlige deklarasjoner, valgfri privat seksjon, end <Name>; |
| Innholdsbegrensning | Kun deklarasjoner - typer, undertyper, konstanter, underprogramprofiler, generiske enheter; ingen kjørbar kode eller kropper |
| Synlighetsmodell | Offentlig del er synlig for alle avhengige pakker; privat seksjon er kun tilgjengelig innenfor pakken og dens barn |
| Språkdialekt | Ada 83 / 95 / 2005 / 2012 / 2022 valgt via GNAT -gnatXX-flagg eller pragma Ada_XXXX i kilden |
| Kompilert utdata | GNAT produserer en .ali (Ada Library Information) fil og objektfil (.o) for hvert kompilert .ads/.adb-par |
| Byggkoordinering | GNAT-prosjektfil (.gpr) lister opp .ads-kilder og styrer kompilatorbrytere per enhet |
| Plattformstøtte | Plattformuavhengig: Linux, Windows, macOS og innebygde systemer (VxWorks, RTEMS, bare-metal ARM, RISC-V) |
| Kompilator-økosystem | GNAT (GCC Ada-frontend, AdaCore), GNAT LLVM, PTC ObjectAda, Green Hills MULTI Ada |
| Utgitt | 1980 (Ada language); .ads/.adb naming from GNAT (early 1990s) |
| Siste versjon | Ada 2022 (ISO/IEC 8652:2023) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.adaic.org |
ADS-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om ADS-filer.
Ofte stilte spørsmål
Hvordan åpner jeg en ADS-fil?
Hva er forskjellen mellom .ads og .adb?
Hvordan kompilerer jeg en .ads-fil?
gcc -c file.ads (med Ada-frontend) vil utføre en syntakskontroll av spesifikasjonen.