ARexx | |
---|---|
Nyelvóra | parancsoló |
A végrehajtás típusa | szkriptnyelv , makrónyelv és értelmezett programozási nyelv |
Megjelent | 1987 |
Fejlesztő | William S. Howes és a Wishful Thinking Development |
Fájlkiterjesztés _ | .rexx .rx |
Befolyásolt | REXX |
Engedély | szabadalmazott |
Az ARexx az Amiga számítógépekhez készült REXX programozási nyelv dialektusa , amelyet 1987-ben fejlesztett ki William S. Hawes, a Wishful Thinking Development programozója, és számos olyan funkcióval rendelkezik, amelyek a szabványos REXX képességeken túlmenően támogatják az AmigaOS sajátosságait . Az ARexx számára írt programok általában szkriptfájlok vagy makrók formájában vannak .
Bármely [1] AmigaOS-hez írt alkalmazás, valamint az AROS képes ARexx szkriptek futtatására, hogy kibővítse képességeit és a programok közötti kommunikációt. Erre a célra az alkalmazások megnyitják az ún. "ARexx port", és meghatározza azon parancsok és/vagy funkciók készleteit, amelyek az ARexx szkriptekből ezen a porton keresztül hívhatók. Így egy egyedi ARexx szkript képes például meghívni az egyik vagy a másik alkalmazás által megvalósított függvényeket, és elküldeni a szkriptben értelmezett végrehajtásuk eredményét parancsargumentumként a harmadik és negyedik alkalmazásnak. Ez a képesség lehetővé teszi a különböző alkalmazások szolgáltatásainak és adatainak keverését. Például egy ARexx szkript lekérhet adatokat egy adatbázisból , hozzáadhatja azokat egy táblázathoz a számítások elvégzéséhez, majd az eredmények alapján táblázatokat és diagramokat szúrhat be egy szövegszerkesztőben megnyitott dokumentumba .
Az ARexx első verziói 1987-ben jelentek meg, és William S. Hawes fejlesztette ki Amiga számítógépekre . A fejlesztőt a REXX által értelmezett nyelvi szintaxis vezérelte, amelyet Mike Kuleshov ír le a The REXX Language: A Practical Approach to Programming [2] című könyvében . Az ARexx-et a Commodore 1990-ben csatolta az AmigaOS 2.0 -hoz, és azóta az AmigaOS összes későbbi verziójában megtalálható. Az ARexx ezen későbbi verziója a hivatalos REXX nyelvi szintaxist követi, bár kifejezetten az Amiga számítógépes ökoszisztémához készült . Az AmigaOS 3.5-től kezdve még a Workbench is kapott egy saját ARexx portot, amelyen keresztül az ARexx használhatja a rendszerfunkciókat. Howes később részt vett a REXX ANSI szabványának kidolgozásában .
Az eredeti ARexx interpreter m68k assemblerben íródott, és AmigaOS 4 -ben és MorphOS -ben emulációs módban használatos, mivel nincs áthelyezve . Az ARexx C nyelven átírt verziója az AROS számára hiányos, és várhatóan a REXX másik dialektusa , a Regina váltja fel . William Hawes már nem vesz részt az Amiga számítógépek alkalmazásainak fejlesztésében , és egyetlen más, az Amiga platformhoz kapcsolódó cég sem finanszírozza az ARexx új verzióinak fejlesztését. Ennek ellenére az ARexx meglévő verzióját továbbra is használják a klasszikus AmigaOS leszármazottaiban - AmigaOS 4 , MorphOS és AROS .
Az ARexx kézikönyvből (a szerző egy hatásra vonatkozó kérdésre válaszol):
Az ARexx-et Amiga 1000 számítógépen fejlesztették ki 512 KB memóriával és két lemezmeghajtóval .
A prototípus értelmezőt C nyelven fejlesztették ki a Lattice C segítségével , a végső verziót pedig assemblerben
írták meg a MetaComCo eszközkészlettel .
A dokumentációt a TxEd szerkesztőben írták, és TeX gépelte be az AmigaTeX segítségével .
Tehát ez egy Amiga 100%-os termék. [3]
Minden ARexx programnak (történelmi okokból) tartalmaznia kell legalább egy megjegyzéssort, és ennek kell lennie a program első sorának:
/* Ez az én programom */Ennek a sornak a jelenléte jelzi a RexxMast értelmezőnek, hogy az adott fájl egy ARexx szkript. A fájl további megjegyzéssorait az értelmező figyelmen kívül hagyja, és a programozó szándéka szerint használhatja azokat. Valójában maga az ARexx program mindig csak a következő sorral kezdődik:
MONDD "Hello World!"A parancs végrehajtásakor a „Hello World!” üzenet jelenik meg a konzol ablakában.
Az ARexx előre definiált (rendszer) funkciók széles körű könyvtárával érkezik. Ezek a funkciók mindig rendelkezésre állnak, és optimálisan igazodnak az AmigaOS által elfogadott belső adatstruktúrákhoz , de emiatt nagymértékben eltérhetnek a hivatalos REXX parancskészlettől (például az ADDLIB () függvény).
Az előre definiált függvényeken kívül számos, külső programozók által írt további könyvtárból származó függvény található a szabványkészlet bővítése érdekében. Ezeket a további könyvtárakat a programból ARexx nyelven lehet csatlakoztatni, és ezt követően elérhetővé válik a bennük megvalósított funkcionalitás. Például:
Ez azonban csak egy kis része a meglévő könyvtáraknak, amelyekkel bővítheti az ARexx-et.