-2- INLEIDING ALGOL (een samentrekking van ALGOrithmic Language) is de naam van een taal, die ontworpen is met het doel, rekenprocessen te beschrijven. Deze taal is zo precies gedefinieerd, dat een in ALGOL opgestelde be- schrijving van een rekenproces voor een rekenmachine voldoende is, om dit proces ook werkelijk uit te voeren. Op de Rekenafdeling van het Mathematisch Centrum is voor de X1 een methode ontwikkeld om in ALGOL opgeschreven rekenprocessen - kortweg ALGOL-programmas genoemd - uit te voeren. De verwerking van een ALGOL- programma geschiedt in de volgende fasen. De tekst van het ALGOL-programma, opgesteld met inachtneming van de regels, die wij hieronder zullen expliceren, wordt uitgetypt op een z.g. Flexowriter. Dit is een electrische schrijfmachine, die alles wat men er op typt tevens vast kan leggen in een zevengats papieren ponsband. De band, die door een Flexowriter geproduceerd wordt, is een medium, dat grote analogie vertoont met de iets smallere vijfgats telexband, die in de automatische telegrafie gebruikt wordt. Omdat de band van de Flexo- writer breder is, kunnen we er wat meer symbolen op vastleggen dan in de telexband. Zo kent de Flexowriter elke letter in duplo, nl. eenmaal als hoofdletter en eenmaal als kleine letter, zulks in tegenstelling tot de telex, die maar een enkelvoudig alfabet kent. In het volgende zullen we zien, dat we dit grotere aantal symbolen heel goed zullen kunnen gebruiken. (Bovendien kan de Flexowriter gebruikt worden om de tekst, die eenmaal in een band geponst is, autmatisch nog een keer uit te typen: behalve een ponsstation heeft de Flexowriter nl. ook een leesstation. Een hierin gelegde band kan nog eens uitgetypt worden en desgewenst en passant bovendien weer geponst worden. De Flexowriter is dus ook bruikbaar als bandreproducer.) De band, die op de Flexowriter geproduceerd is en waarin de tekst van het ALGOL-programma nu is vastgelegd, kan door de X1 zonder meer verwerkt worden. Deze verwerking geschiedt in tweeen. De X1 beschikt over een z.g. _NA_vertaalprogramma_NA_ (de MC-vertaler), waardoor de zevengats band met ALGOL- tekst gelezen kan worden. Terwijl deze tekst gelezen wordt, wordt meteen deze ALGOL-beschrijving vertaald in een rekenvoorschrift, dat meer is aan- gepast aan de eisen, die de X1 met het oog op vlotte uitvoering van het rekenproces mag stellen. Het resultaat van deze vertaalarbeid, dat het z.g. _NA_objectprogramma_NA_ genoemd wordt, wordt onder de hand weer uitgeponst. De vertaler produceert uit een ALGOL-programma dus een aequivalent object- programma. Als dit gebeurd is, heeft de zevengats band met ALGOL-tekst zijn werk gedaan. Verder werken we met de band, die door de vertaler ge- produceerd is. Als de berekening werkelijk uitgevoerd gaat worden, nemen we de band met het objectprogramma en leggen deze onder de bandlezer. Door een speciaal inleesprogramma wordt deze band gelezen, de erop staande informatie wordt in het geheugen van de X1 opgenomen en de machine is gereed om de gevraagde be- rekening uit te voeren.