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 .
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]
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 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.