Webb (programmeringssystem)

Web är ett datorprogrammeringssystem skapat av Donald E. Knuth som den första implementeringen av vad han kallade " litterate programmering ": idén att man skulle kunna skapa mjukvara som litteraturverk , genom att bädda in källkod i beskrivande text, snarare än tvärtom ( som är vanlig praxis i de flesta programmeringsspråk ), i en ordning som är bekväm för exponering för mänskliga läsare, snarare än i den ordning som kompilatorn kräver .

Web består av två sekundära program: TANGLE, som producerar kompilerbar Pascal- kod från källtexterna, och WEAVE, som producerar snyggt formaterad, utskrivbar dokumentation med TeX .

CWEB är en version av webben för programmeringsspråket C , medan noweb är ett separat programmeringsverktyg för läskunnig, som är inspirerat av webben (som återspeglas i namnet) och som är språkagnostiskt .

De viktigaste programmen skrivna i webben är TeX och Metafont . Moderna TeX-distributioner använder ett annat program Web2C för att konvertera webbkälla till C.

Filosofi

Till skillnad från de flesta andra dokumentationsgeneratorer som hänvisar dokumentation till kommentarer, är WEB-metoden att skriva en artikel för att dokumentera framställningen av källkoden. Ungefär som TeX-artiklar är källan indelad i avsnitt enligt dokumentationsflöde. Till exempel, i CWEB, är kodsektioner sömlöst blandade i argumentationsraden.

CWEB

CWEB
Paradigm Läskunnig , imperativ ( procedurmässig ), strukturerad
Designad av Donald Knuth
Utvecklare Donald Knuth och Silvio Levy
Dök först upp 1987 ; 36 år sedan ( 1987 )
Stabil frisättning
3,67 / 24 oktober 2006 ; 16 år sedan ( 2006-10-24 )
Maskinskrivningsdisciplin Statisk , svag , manifest , nominell
OS Cross-platform (multi-plattform)
Licens anpassad fri programvara licens
Filnamnstillägg .w
Hemsida www-cs-faculty .stanford .edu /~uno /cweb .html
Influerad av
WEB , TeX
Influenced
noweb

CWEB är ett datorprogrammeringssystem skapat av Donald Knuth och Silvio Levy som en uppföljning av Knuths WEB- lärta programmeringssystem , med programmeringsspråket C (och i mindre utsträckning programmeringsspråken C++ och Java ) istället för Pascal .

Liksom WEB består den av två primära program: CTANGLE, som producerar kompilerbar C-kod från källtexterna, och CWEAVE, som producerar snyggt formaterad utskrivbar dokumentation med TeX .

Funktioner

  • Kan ange manuell TeX-kod såväl som automatisk.
  • Gör formatering av C-kod för snygg utskrift .
  • Kan definiera avsnitt, och kan innehålla dokumentation och koder, som sedan kan inkluderas i andra avsnitt.
  • Skriv rubrikkoden och C-huvudkoden i en fil och kan återanvända samma sektioner, och sedan kan den trasslas in i flera filer för kompilering.
  • Använd #line -pragmor så att eventuella varningar eller fel hänvisar till .w-källan.
  • Inkludera filer.
  • Ändra filer, som automatiskt kan slås samman i koden vid kompilering/utskrift.
  • Ger index över identifierare och avsnittsnamn i utskriften.

externa länkar