ARexx | |
---|---|
Sprog klasse | bydende nødvendigt |
Udførelsestype | scriptsprog , makrosprog og fortolket programmeringssprog |
Dukkede op i | 1987 |
Udvikler | William S. Howes og ønsketænkningsudvikling |
Filtypenavn _ | .rexx .rx |
Blev påvirket | REXX |
Licens | proprietære |
ARexx er en dialekt af REXX -programmeringssproget til Amiga -computere , udviklet i 1987 af programmøren William S. Hawes fra Wishful Thinking Development, med en række funktioner ud over standard REXX-funktionerne til at understøtte AmigaOS -specifikationer . Programmer skrevet til ARExx er normalt i form af scriptfiler eller makroer .
Enhver [1] applikation skrevet til AmigaOS, såvel som AROS , kan udføre ARexx scripts for at udvide dens muligheder og interprogram kommunikation. Til dette formål åbner applikationer den såkaldte. "ARexx port" og definere sæt af kommandoer og/eller funktioner, der er tilgængelige for at blive kaldt fra ARexx scripts gennem denne navngivne port. Således kan et tilpasset ARexx-script for eksempel kalde funktioner implementeret af den ene og den anden applikation og sende resultaterne af deres eksekvering fortolket i scriptet som kommandoargumenter til den tredje og fjerde applikation. Denne funktion giver dig mulighed for at blande og matche funktioner og data fra forskellige applikationer. For eksempel kan et ARExx-script hente data fra en database , tilføje dem til et regneark for at udføre beregninger og derefter indsætte tabeller og diagrammer baseret på resultaterne i et dokument, der åbnes i et tekstbehandlingsprogram .
De første versioner af ARexx dukkede op i 1987 og blev udviklet til Amiga -computere af William S. Hawes . Udvikleren blev guidet af den REXX -fortolkede sprogsyntaks beskrevet af Mike Kuleshov i The REXX Language: A Practical Approach to Programming [2] . ARexx blev inkluderet med AmigaOS 2.0 af Commodore i 1990 og har været til stede i alle efterfølgende versioner af AmigaOS siden da. Denne senere version af ARexx følger den officielle REXX-sprogsyntaks, selvom den blev skrevet specifikt til Amiga -computerens økosystem . Fra og med AmigaOS 3.5 fik selv Workbench sin egen ARexx-port, hvorigennem ARexx kan bruge systemfunktioner. Howes deltog senere i udviklingen af ANSI- standarden for REXX .
Den originale ARexx-fortolker blev skrevet i m68k assembler og bruges i AmigaOS 4 og MorphOS i emuleringstilstand, da den ikke er blevet porteret . Den version af ARExx, der er omskrevet i C til AROS , er ufuldstændig og forventes at blive erstattet af en anden dialekt af REXX , Regina . William Hawes er ikke længere involveret i udviklingen af applikationer til Amiga -computere , og ingen anden virksomhed tilknyttet Amiga-platformen finansierer udviklingen af nye versioner af ARexx. På trods af dette fortsætter den eksisterende version af ARExx med at blive brugt i efterkommerne af det klassiske AmigaOS - AmigaOS 4 , MorphOS og AROS .
Fra ARexx-manualen (forfatteren besvarer et spørgsmål om påvirkning):
ARexx blev udviklet på Amiga 1000 computeren med 512 KB hukommelse og to diskdrev .
Prototypefortolkeren blev udviklet i C ved hjælp af Lattice C ,
og den endelige version blev skrevet i assembler ved hjælp af MetaComCo- værktøjssættet .
Dokumentationen er skrevet i TxEd-editoren og skrevet af TeX i AmigaTeX .
Så dette er et Amiga 100% produkt. [3]
Hvert ARexx-program skal (af historiske årsager) indeholde mindst én kommentarlinje, og dette skal være den første linje i programmet:
/* Dette er mit program */Tilstedeværelsen af denne linje fortæller RexxMast-fortolkeren, at den givne fil er et ARexx-script. Yderligere kommentarlinjer i filen ignoreres af tolken og kan bruges efter hensigten af programmøren. Faktisk starter selve ARExx-programmet altid kun med følgende linje:
SIG "Hej verden!"Når denne kommando udføres, vil meddelelsen "Hello World!" blive vist i konsolvinduet.
ARexx leveres med et omfattende bibliotek af foruddefinerede (system)funktioner. Disse funktioner er altid tilgængelige og er optimalt tilpasset de interne datastrukturer, der er vedtaget af AmigaOS , men på grund af dette kan de afvige meget fra det officielle REXX -kommandosæt (for eksempel ADDLIB ()-funktionen).
Ud over foruddefinerede funktioner er der mange funktioner fra yderligere biblioteker skrevet af tredjepartsprogrammører for at udvide standardsættet. Disse ekstra biblioteker kan tilsluttes fra programmet på ARExx-sproget, og derefter bliver den implementerede funktionalitet i dem tilgængelig. For eksempel:
Dette er dog kun en lille del af de eksisterende biblioteker, som du kan udvide ARexx med.