Timeline
Chat
Prospettiva
Action! (linguaggio di programmazione)
linguaggio di programmazione Da Wikipedia, l'enciclopedia libera
Remove ads
L'Action! è un linguaggio di programmazione per gli home computer della Famiglia Atari 8-bit. Integra un editor, un debugger ed un compilatore per il processore MOS 6502. L'Action! fu sviluppato da Clinton Parker e distribuito su cartuccia dalla Optimized Systems Software nel 1983. La sua sintassi è simile a quella dell'ALGOL 68.
L'Action! era un linguaggio prestante che permetteva la scrittura di videogiochi e di demo grafiche in un linguaggio di alto livello senza l'uso di codice scritto in linguaggio Assembly.
Era disponibile anche una libreria separata di funzioni chiamata Action! Toolkit. L'Action! fu utilizzato per creare almeno due prodotti commerciali: la suite di produttività Homepak ed il programma Games Computers Play. Del linguaggio non ne fu mai fatto un porting per altri sistemi.
Remove ads
Tipi di dati
Action! ha 3 tipi di dati fondamentali, tutti numerici.
BYTE
Rappresentato internamente come un intero a 8 bit privo di segno. I valori vanno da 0 a 255.
BYTE age=[21] ; dichiara la variabile age e la inizializza con il valore 21 BYTE leftMargin=82 ; dichiara la variabile leftmargin e la memorizza all'indirizzo 82
CARDinal
Rappresentato come un intero a 16 bit privo di segno. Valori da 0 a 65535.
CARD population=$600 ; dichiara la variabile e la memorizza agli indirizzi 1536 e 1537 CARD prevYear, curYear, nextYear ; si utilizza la virgola per dichiarare più variabili
INTeger
Rappresentato con un intero a 16 bit con segno. Valor da -32768 a 32767.
INT veryCold = [-10] INT profitsQ1, profitsQ2, ; la dichiarazione di più variabili può spaziare su profitsQ3, profitsQ4 ; più linee di codice
Action! ha anche i tipi di dato ARRAY, POINTER ed i tipi di dato definiti dall'utente (user-defined TYPEs). Non sono presenti tipi di dati floating point.
Un esempio di tipo di dato definito dall'utente:
TYPE CORD=[CARD x,y] CORD point point.x=42 point.y=23
Remove ads
Parole chiave
Una parola chiave o keyword è ogni stringa o simbolo che il compilatore ACTION! riconosce come speciale. Può essere un operatore, un nome di tipo di dato, uno statement oppure una direttiva di compilazione.
AND FI OR UNTIL = ( ARRAY FOR POINTER WHILE <> ) BYTE FUNC PROC XOR # . CARD IF RETURN + > [ CHAR INCLUDE RSH - >= ] DEFINE INT SET * < " DO LSH STEP / <= ' ELSE MOD THEN & $ ; ELSEIF MODULE TO % ^ EXIT OD TYPE ! @
Remove ads
Esempio di codice
Il seguente esempio rappresenta il codice dell'algoritmo del Crivello di Eratostene scritto in Action!. Per aumentare le prestazioni viene disabilitato il coprocessore grafico ANTIC.
BYTE RTCLOK=20, ; addr of sys timer SDMCTL=559 ; DMA control BYTE ARRAY FLAGS(8190) CARD COUNT,I,K,PRIME,TIME PROC SIEVE() SDMCTL=0 ; shut off Antic RTCLOK=0 ; only one timer needed COUNT=0 ; init count FOR I=0 TO 8190 ; and flags DO FLAGS(I)='T ; "'T" is a compiler-provided constant for True OD FOR I=0 TO 8190 ; and flags DO IF FLAGS(I)='T THEN PRIME=I+I+3 K=I+PRIME WHILE K<=8190 DO FLAGS(K)='F ; "'F" is a compiler-provided constant for False K==+PRIME OD COUNT==+1 FI OD TIME=RTCLOK ; get timer reading SDMCTL=34 ; restore screen PRINTF("%E %U PRIMES IN",COUNT) PRINTF("%E %U JIFFIES",TIME) RETURN
Bibliografia
- (EN) Lights, Camera, Action!, in Hi-Res, vol. 1, n. 4, maggio/giugno 1984, p. 72.
- (EN) Action! (JPG), in ANALOG Computing, n. 16, Cherry Valley, ANALOG 400/800 Corp., febbraio 1984, p. 54, ISSN 0744-9917 . Trascrizione del testo, su cyberroach.com.
Voci correlate
Collegamenti esterni
- Action!, su retrobits.net. URL consultato il 22 gennaio 2010 (archiviato dall'url originale il 1º marzo 2012).
- ACTION!, su atariwiki.org.
- The ACTION! Archive, su joyfulcoder.net. URL consultato il 22 gennaio 2010 (archiviato dall'url originale il 15 luglio 2009).
- effectus, su gury.atari8.info.
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads