ARexx

ARexx
Språkklass nödvändigt
Utförandetyp skriptspråk , makrospråk och tolkat programmeringsspråk
Framträdde i 1987
Utvecklaren William S. Howes och önsketänkande utveckling
Filtillägg _ .rexx .rx
Blivit påverkad REXX
Licens Proprietär

ARexx  är en dialekt av programmeringsspråket REXX för Amiga -datorer , utvecklat 1987 av programmeraren William S. Hawes från Wishful Thinking Development, med ett antal funktioner utöver standard REXX-funktionerna för att stödja AmigaOS- specifikationer . Program skrivna för ARExx är vanligtvis i form av skriptfiler eller makron .

Alla [1] applikationer som är skrivna för AmigaOS, såväl som AROS , kan exekvera ARExx-skript för att utöka dess möjligheter och interprogramkommunikation. För detta ändamål öppnar applikationer den så kallade. "ARexx-port" och definiera uppsättningar av kommandon och/eller funktioner som är tillgängliga att anropas från ARexx-skript via denna namngivna port. Således kan ett anpassat ARExx-skript till exempel anropa funktioner implementerade av den ena och den andra applikationen och skicka resultaten av deras exekvering tolkade i skriptet som kommandoargument till den tredje och fjärde applikationen. Denna förmåga låter dig blanda och matcha funktioner och data från olika applikationer. Till exempel kan ett ARexx-skript hämta data från en databas , lägga till det i ett kalkylblad för att utföra beräkningar och sedan infoga tabeller och diagram baserat på resultaten i ett dokument som öppnas i en ordbehandlare .

Historik

De första versionerna av ARexx dök upp 1987 och utvecklades för Amiga -datorer av William S. Hawes . Utvecklaren vägleddes av den REXX- tolkade språksyntaxen som beskrivs av Mike Kuleshov i The REXX Language: A Practical Approach to Programming [2] . ARExx inkluderades med AmigaOS 2.0 av Commodore 1990 och har funnits i alla efterföljande versioner av AmigaOS sedan dess. Denna senare version av ARexx följer den officiella REXX-språksyntaxen, även om den skrevs specifikt för Amiga -datorekosystemet . Från och med AmigaOS 3.5 fick även Workbench sin egen ARexx-port genom vilken ARexx kan använda systemfunktioner. Howes deltog senare i utvecklingen av ANSI- standarden för REXX .

Den ursprungliga ARexx-tolken skrevs i m68k assembler och används i AmigaOS 4 och MorphOS i emuleringsläge eftersom den inte har porterats . Den version av ARexx som är omskriven i C för AROS är ofullständig och förväntas ersättas av en annan dialekt av REXX  , Regina . William Hawes är inte längre involverad i utvecklingen av applikationer för Amiga -datorerna , och inget annat företag som är associerat med Amiga-plattformen finansierar utvecklingen av nya versioner av ARexx. Trots detta fortsätter den befintliga versionen av ARExx att användas i ättlingarna till det klassiska AmigaOS  - AmigaOS 4 , MorphOS och AROS .

Från ARexx-manualen (författaren svarar på en fråga om påverkan):

ARExx utvecklades på Amiga 1000 -datorn med 512 KB minne och två hårddiskar .
Prototyptolken utvecklades i C med hjälp av Lattice C ,
och den slutliga versionen skrevs i assembler med hjälp av MetaComCo- verktygssatsen .
Dokumentationen skrevs i TxEd-redigeraren och skrevs av TeX i AmigaTeX .
Detta är alltså en Amiga 100% produkt. [3]

Programstruktur

Varje ARexx-program måste (av historiska skäl) innehålla minst en kommentarsrad, och detta måste vara den första raden i programmet:

/* Det här är mitt program */

Närvaron av denna rad talar om för RexxMast-tolken att den givna filen är ett ARexx-skript. Ytterligare kommentarsrader i filen ignoreras av tolken och kan användas som avsett av programmeraren. Faktum är att själva ARExx-programmet alltid börjar bara med följande rad:

SÄG "Hej världen!"

När detta kommando körs, kommer meddelandet "Hello World!" att visas i konsolfönstret.

ARexx Libraries

ARexx kommer med ett omfattande bibliotek med fördefinierade (system)funktioner. Dessa funktioner är alltid tillgängliga och är optimalt anpassade till de interna datastrukturer som antagits av AmigaOS , men på grund av detta kan de skilja sig mycket från den officiella REXX- kommandouppsättningen (till exempel ADDLIB ()-funktionen).

Förutom fördefinierade funktioner finns det många funktioner från ytterligare bibliotek skrivna av tredjepartsprogrammerare för att utöka standarduppsättningen. Dessa ytterligare bibliotek kan anslutas från programmet på ARExx-språket och efter det blir den funktionalitet som är implementerad i dem tillgänglig. Till exempel:

Detta är dock bara en liten del av de befintliga biblioteken som du kan utöka ARexx med.

Se även

Anteckningar

  1. Giguere, Eric ARExx Command Hosts .
  2. Cowlishaw, Michael. REXX-språket: ett praktiskt tillvägagångssätt för programmering . — 1:a. - Prentice Hall, 1985. - ISBN 0-13-780651-5 .
  3. ARexx användarhandbok

Länkar