Ada-boken

Jonas Agerberg, Anna-Bie Agerberg

Publisher: Studentlitteratur, 1984, 372 pages

ISBN: 91-44-22181-9

Keywords: Programming

Last modified: April 13, 2021, 6:25 p.m.

Ada är ett generellt, standardiserat programspråk med stor spännvidd. Det kan användas både av specialister som kontruerar avancerade realtidssystem och av programmeringsnoviser som med enkla medel kan sätta kraftfulla programmaskinerier i spel. Adas uppbyggnad gör det lätt att bygga upp en repertoar av återanvändbara programmoduler. Därigenom sänks utvecklings- och underhållskostnaderna för programvaran radikalt.

I Adaboken beskrivs språkets uppbyggnad och hur det används praktiskt från en grundläggande nivå fram mot en mer avancerad hantering. Den är utformad för att kunna användas bådfe som kursbok och vid självstudier. Uppläggningen är sådan att inga speciella datatekniska eller matematiska förkunskaper erfordras.

  1. Varudeklaration, bruksanvisning, lite terminologi
    • Varudeklaration
    • Bruksanvisning
    • Lite terminologi
  2. Kort historik
    • Ada — ett standardspråk
  3. Byggbitar och verktyg för programbygge
    • Om behovet av en verktygslåda
    • Hur skaffar man sig ett paket?
    • Hur ser ett Adapaket ut?
    • Hur ett Adaprogram är uppbyggt
    • Vi kompilerar och kör programmet
      • Strukturen
      • Abstrakt datatyp
      • Procedurer med parametrar
  4. Hur man skriver identifierare i Ada — tecken och symboler
    • Identifierare
    • Övriga tecken och symboler
    • Kompilationsdirektiv — pragmor
    • Formen på ett Adaprogram
  5. Vi bygger ut verktygslådan
    • Addition och subtraktion
    • Valutavärdet av en hög med pengar — en ny datatyp
    • Jämförelse med likhet
    • Storleksjämförelser
    • Växlingsoperationer
    • Tomma högar — nollvärden
    • Det utvidgade paketet MONEY
    • Vi använder den utbyggda verktygslådan
    • Vår språkrepertoar så här långt
    • Behov — paket — tillämpning
    • Några egna övningar
  6. De obligatoriska paketen
    • Paketet STANDARD
      • Numeriska typer och operationer på dessa
      • Typen BOOLEAN
      • Uttryck
      • Typen CHARACTER och paketet ASCII
      • Typen STRING
    • Paketet SYSTEM
    • Standardpaketen för in- och utmatning
    • Paketet TEXT_IO
      • Layoutstyrning
      • Tecken
      • Teckensträngar
      • Heltalstyper
      • Flyttal och fixpunktstal
      • SOME_IO
  7. Subprogram — första varvet
    • Deklarationer och kroppar
      • Subprogramdeklarationer
      • Subprogramkroppar
      • Subprogramspecifikationer
      • Säkerhetsaspekter
      • Deklarationslösa subprogramkroppar
    • Ett subprograms uppbyggnad — deklaration av subprogram
      • Kroppsdelar hos ett subprogram
    • Hur och var deklareras subprogram
      • Subprogramkroppar
      • Subprogramdeklarationer
  8. Objektdeklarationer
    • Variabledeklarationer
    • Konstantdeklarationer
    • Taldeklarationer
  9. Deklarerade storheters synlighet och räckvidd — elaborering
    • Olika slag av deklarerade storheter
    • Synlighet och räkvidd
    • Homonymisering — overloading
    • Omdöpning — renaming
    • Elaborering av deklarationer
    • Livslängd hos deklarerade storheter
  10. Felhantering
    • Exceptions
    • Regler för felhantering
      • Others-alternativet
      • Synlighet — anonyma exceptions
      • Fördeklarerade exceptions
      • Felsituationer vid elaborering av deklarationer
      • Undertryckning av exceptions
    • Användning av exceptions
  11. Typer och typdeklarationer
    • Vad är en datatyp? — Typkompatibilitet
    • Olika indelningsgrunder för typer
    • Subtyper (subtypes)
      • När skall vi introducera subtyper?
    • Härledda typer (derived types)
    • Enkla typer — skalära typer
    • Heltalstyper
      • Subtyper av heltal
      • Nya heltalstyper
    • Flyttalstyper
    • Fixtalstyper
    • Universella typer
    • Typkonvertering
    • Uppräkningstyper
      • Egendefinierade uppräkningstyper
      • Typen BOOLEAN
      • Teckentyper
    • Sammansatta typer
    • Posttyper — record types
    • Fälttyper — array types
    • Deklaration av fältobjekt
      • Strängtyper
      • Delfält — slices
      • Tilldelning för fältobjekt
    • Aggregat
  12. Satsrepertoaren i Ada
    • Enkla satser
      • Tilldelningssatsen
      • Proceduranrop
      • Exit-satsen
      • Return-satsen
      • Raise-satsen
      • Fördröjningssatsen
      • Null-satsen
    • Sammansatta satser
      • Villkorssatser
      • Flervalssatser
      • Iterationssatser
      • Block
  13. Mer om subprogram
    • Subprogrammet anropar sig själv — rekursion
    • Operatorssymboler som funtionsnamn
    • Defaultparametrar
    • Subprogram med obegränsade fältparametrar
    • Subprogram — en viktig byggmodul
  14. Uttryck
    • Operatorer
      • Tillhörighetstest
      • Logiska operatorerna
      • Relationsoperatorerna
      • Additionsoperatorerna
      • De nomadiska operatorerna
      • Multiplikationsoperatorerna
      • Exponentiering
    • Statiska uttryck
    • Kvalificerade uttryck
  15. Paketkonstruktion
    • Specifikation — deklarationer — skyltfönstret
    • Paketkroppen — implementeringsdelen
    • Privata typer — privata deklarationer
    • Köpaketet — en abstrakt datatyp
    • Konstanter av privata typer
    • Privatisering av fördefinierade typer
    • Paketkroppens uppbyggnad
    • Initiering av paket
    • Paket som biblioteksenheter
  16. Generiska programenheter
    • Parametriserade enheter
    • Instantiering av generiska enheter
    • Generiska parametrar
      • Generiska objektparametrar
      • Generiska typparametrar
      • Generiska subprogramparametrar
    • När använder vi generiska enheter
  17. Mer om in- och utmatning
    • Filer
    • In- och utmatningsoperationer i TEXT_IO
      • Skrivning till och läsning från strängar
      • In- och utmatning för uppräkningstyper — ENUMERATION_IO
    • "Oformatterad" in- och utmatning
    • Paketet IO_EXCEPTIONS
    • Paketet LOW_LEVEL_IO
  18. Parametriserade typer
    • Subtyper av sammansatta typer
    • Ett illustrativt exempel — TEXT_HANDLER
    • Hantering av obegränsade fälttyper
    • Parametriserade filer
  19. Separatkompilering
    • Lite terminology
    • Separatkompilering med biblioteksenheter
      • Programuppläggning med biblioteksenheter
      • Deklarationsberoende och kroppsberoende
      • När kan programmet exekveras?
      • Prototypbygge
      • Kompletterande regler för bibliotekshantering
    • Subenheter
    • Versionskontroll
  20. Dynamiska datastrukturer, Accesstyper
    • Statiska objekt — dynamiska objekt
    • Hantering av pekare och dynamiska objekt
    • Konstanter av accesstyp
    • Hur man använder accesstyper och accessvariabler
      • Linjära länkade listor
      • Grenade datastrukturer — träd
    • Accesstyper med diskriminanter
      • En diskriminerad accesstyp
  21. Introduktion till processhantering (tasking)
    • Modeller för parallellitet
      • En bjudningsprocess
      • Processer i operativsystemet
    • Hur avbildas processerna i datamaskinen?
    • Vad behövs för att exekvera Adas processor?
    • Hur skapas processer (tasks) i Ada?
    • Processtyper (task types) och processobjekt
  22. Kommunikation — synkronisering — rendezvous
    • Konkurrens eller samverkan
    • Rendezvous mellan processer
      • Entry — accept
      • Vad händer vid ett rendezvous?
      • Några observationer — rendezvous
      • Uppdatering av gemensam global buffert
      • En semaforprocess
      • Vi gör en pool av buffertar
      • En bufferthanterare
      • En paketerad bufferthanterare
      • Monitormodellen
      • Ett generiskt bufferthanteringspaket
  23. Processers inbördes beroende — aktivering — terminering
    • Aktivering
    • Terminering av processer
    • Terminering genom terminate-alternativ
  24. Tideräkning och klockhantering
    • Fördröjningssatsen — typen DURATION
    • Paketet CALENDAR
    • Selectsatser med time-out
  25. Avslutningsvarv om processhantering
    • Else-alternativ i select-konstruktioner
    • Entryanrop med bivillkor
    • Entryfamiljer
    • Attribut till tasks och entries
    • Prioriteter
    • Ytterligare några modellexempel
      • Kundprocesser med entries
      • Kolibriprocesser
    • Slutord om processhanteringen i Ada
  26. Maskinnära programmering
    • Behövs maskinnära faciliteter i ett högnivåspråk
    • Hantering av en I/O-port
    • Maskinkodsprocedurer
    • Paketet LOW_LEVEL_IO
    • Brytsignalhantering (interrupts)
    • Funktionen UNCHECKED_CONVERSION
    • Andra maskinberoende operationer
  27. Referensmanualen
    • Allmänt
    • Uppläggning och innehåll
    • Appendix F
    • Om ord och termer i RM
    • Syntaxnotationen
  28. Paketet STANDARD
  29. Standardpaketen för in- och utmatning
    • TEXT_IO
    • SEQUENTIAL_IO
    • DIRECT_IO
    • IO_EXCEPTIONS
    • LOW-LEVEL_IO
  30. Attributlista, pragmalista
    • Attribut
    • Pragmor
  31. Syntaxsammanställning med korsreferensindex
    • Syntax
    • Indexregister till syntaxen
  32. Kroppen till paketet MONEY

Reviews

Ada-boken

Reviewed by Roland Buresund

Bad ** (2 out of 10)

Last modified: April 9, 2021, 12:25 a.m.

It was bad already in the mid-80ties. And it haven't aged well (like the language).

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required