Strumenti Utente

Strumenti Sito


it:ugbasic:syntax
Traduzioni di questa pagina:


ugBASIC (Manuale Utente)

Sintassi

Parole chiavi

Le seguenti parole chiave costituiscono l'intero vocabolario del linguaggio. Le parole chiave devono essere scritte in MAIUSCOLO. Perciò PRINT è un comando valido, mentre print non lo è.

 16BIT 32BIT 8BIT AAHS ABS ACCORDION ACOUSTIC ADD ADDRESS 
 AGE AGOGO ALT ALTO AND APPLAUSE ARRAY ARROW AS 
 ASC ASTERISK AT ATARI ATARIXL ATMOSPHERE BACK BACKGROUND BAG 
 BANJO BANK BANKED BAR BARITONE BASS BASSOON BEG BEGIN 
 BELL BELLS BELONG BIN BIRD BIT BITMAP BLACK BLOWN 
 BLUE BOOM BORDER BOTTLE BOWED BOX BRASS BREATH BRIGHT 
 BRIGHTNESS BROWN BUFFER BYTE CALL CALLIOPE CAN CAPS CAPSLOCK 
 CASE CDOWN CELESTA CELLO CENTER CENTRE CHAR CHARANG CHIFF 
 CHOIR CHR CHURCH CIRCLE CLARINET CLAVI CLEAN CLEAR CLEFT 
 CLINE CLIP CLS CMOVE COCO CODE COLECO COLLISION COLON 
 COLOR COLORMAP COLORS COLOUR COLOURMAP COLOURS COLUMN COLUMNS COMMA 
 COMMODORE COMPRESS COMPRESSED CONST CONTRABASS CONTROL COUNT CPC CRIGHT 
 CRSR CRYSTAL CSPRITE CUP CURSOR CYAN CYCLES CYMBAL DARK 
 DATA DEBUG DEFAULT DEFINE DELETE DIM DISABLE DISTANCE DISTORTION 
 DIV DLOAD DO DONE DOUBLE DOWN DRAGON DRAW DRAWBAR 
 DRUM DRUMS DTILE DTILES DULCIMER DWORD ECHOES ECM ELECTRIC 
 ELLIPSE ELSE ELSEIF EMPTY EMPTYTILE ENABLE END ENDIF ENDSELECT 
 ENDSTORAGE ENGLISH ENSEMBLE EQUAL EVERY EXACT EXIT EXPAND EXPLICIT 
 EXPLOSION FALSE FI FIDDLE FIFTHS FILEX FILL FINGER FIRE 
 FIRST FLIP FLUTE FONT FOR FRAME FRAMES FREE FRENCH 
 FRET FRETLESS FROM FUNCTION FX GAMELOOP GET GLOBAL GLOCKENSPIEL 
 GOBLINS GOLD GOSUB GOTO GR GRAND GRAPHIC GRAY GREEN 
 GREY GUITAR GUNSHOT HALO HALT HALTED HARMONICA HARMONICS HARP 
 HARPSICHORD HAS HEIGHT HELICOPTER HEX HIDDEN HIDE HIT HOME 
 HONKY HORIZONTAL HORN HSCROLL IF IGNORE IMAGE IMAGES IN 
 INK INKEY INPUT INSERT INSTR INSTRUMENT INT INTEGER INVERSE 
 IS JAZZ JDOWN JFIRE JLEFT JOY JOYCOUNT JRIGHT JUP 
 KALIMBA KEY KEYSHIFT KEYSTATE KILL KOTO LAVENDER LEAD LEFT 
 LEN LET LETTER LIGHT LINE LOAD LOCATE LOCK LONG 
 LOOP LOWER MAGENTA MARIMBA MASKED MAX MCM MELODIC MEMORIZE 
 MEMORY METALLIC MID MILLISECOND MILLISECONDS MIN MINUS MMOVE MOB 
 MOD MODE MONOCOLOR MONOCOLOUR MOVE MSX MUL MULTICOLOR MULTICOLOUR 
 MUSIC MUTED NEW NEXT NOISE NONE NOP NORMAL NOT 
 NOTE NYLON OBOE OCARINA OF OFF OLIVE ON ONLY 
 OOHS OPTION OP_DEC OP_INC OR ORANGE ORCHESTRA ORCHESTRAL ORGAN 
 ORIGIN OUT OVERDRIVEN OVERLAYED PAD PALETTE PAN PAPER PARALLEL 
 PARAM PEACH PEEK PEN PERCUSSIVE PERIOD PIANO PICCOLO PICK 
 PINK PIPE PIZZICATO PLAY PLOT PLUS POINT POKE POLYLINE 
 POLYSYNTH POP POSITION POSITIVE POUND POWERING PRESSED PRINT PROC 
 PROCEDURE PURPLE PUT RAIN RANDOM RANDOMIZE RASTER RAW READ 
 READONLY RECORDER RED REED RELATIVE RELEASE REMEMBER RENDER REPEAT 
 REPLACE RESOLUTION RESPAWN RETURN REVERSE RGB RIGHT RING RND 
 ROCK ROLL ROW ROWS RUN RUNSTOP SAWTOOTH SAX SCAN 
 SCANCODE SCANSHIFT SCI SCREEN SCROLL SEASHORE SECTION SELECT SEMICOLON 
 SEPARATOR SEQUENCE SET SGN SHADES SHAKUHACHI SHAMISEN SHANAI SHARED 
 SHIFT SHIFTS SHOOT SHOW SIGNED SITAR SIZE SLAP SLASH 
 SOPRANO SOUND SOUNDTRACK SPACE SPAWN SPRITE SQR SQUARE STATE 
 STEEL STEP STOP STORAGE STR STRING STRINGS SWAP SWEEP 
 SYNTH SYNTHBRASS SYNTHSTRINGS TAB TAIKO TAN TANGO TASK TELEPHONE 
 TEMPORARY TENOR TEXT TEXTADDRESS TEXTMAP THEN THREAD TI TICKS 
 TILE TILEMAP TILES TILESET TIME TIMER TIMPANI TINKLE TO 
 TOM TONK TRANSPARENCY TRANSPARENT TREMOLO TROMBONE TRUE TRUMPET TUBA 
 TUBULAR TURQUOISE TWEET TYPE UNIQUE UNTIL UP UPPER USE 
 USING VAL VAR VARIABLES VARPTR VBL VERTICAL VIBRAPHONE VIDEO 
 VIOLA VIOLET VIOLIN VISIBLE VOICE VOLUME VSCROLL WAIT WARM 
 WEND WHILE WHISTLE WHITE WIDTH WITH WOODBLOCK WORD WRITE 
 WRITING XCURS XGR XGRAPHIC XOR XPEN XTEXT XY XYLOPHONE 
 YCURS YELLOW YGR YGRAPHIC YIELD YPEN YTEXT YX ZX 
 

In ugBASIC (come nel BASIC COMMODORE) non è necessario isolare le parole chiave l'una dall'altra, o da altri identificatori, con alcun separatore, come gli spazi.

Identificatori

Gli identificatori vengono utilizzati per dare un nome a etichette, variabili, costanti, procedure e funzioni. Puoi scegliere qualsiasi nome per un identificatore. Ad ogni modo, si devono seguire alcune regole:

  • il primo carattere deve essere alfabetico minuscolo;
  • i caratteri rimanenti possono essere maiuscoli;
  • il simbolo del dollaro ($) identifica le variabili stringa;
  • si fa distinzione tra maiuscole e minuscole: pippo e pIPPO sono simboli diversi;
  • possono essere di qualsiasi lunghezza e tutti i caratteri sono significativi.

Comandi

Le istruzioni e i comandi possono essere separati utilizzando il carattere due punti (:) e possono terminare con i caratteri LF o CR+LF. Il separatore non è richiesto se è presente una sola istruzione in una riga, come nell'esempio seguente:

 WHILE NOT finished : PRINT "continue" : WEND
 WHILE NOT finished
    PRINT "continue"
 WEND

Commenti

Se si inizia una riga con l'apice ('), o la si pone dopo i due punti, sarà considerata un commento fino alla fine della riga. Lo stesso per il comando REM, che viene utilizzato per iniziare un commento.

 ' comment
 REM comment
 line = 1 :' comment
 line = 1 :REM comment

Spazi bianchi

Gli spazi bianchi (ad es. spazi e tabulazioni) vengono ignorati, poiché non sono necessari. Si consiglia di utilizzarli se è necessario rendere più leggibile il sorgente del programma o rimuoverli, se è necessario partecipare a concorsi in cui il numero di righe è un fattore importante.

Etichette (e numeri di linea)

Le etichette possono essere utilizzate per identificare qualsiasi punto del codice sorgente. Le etichette vengono utilizzate da alcune istruzioni, come GOTO e GOSUB. Le etichette devono essere aggiunte con i due punti (:).

    GOSUB subroutine1
    END
 subroutine1:
    PRINT "subroutine1 has been called!"
    RETURN

Come nel linguaggio BASIC tradizionale, anche le etichette possono essere numeriche. I numeri di riga sono trattati come etichette speciali da ugBASIC, ma non devono essere seguiti dai due punti (:).

Spezzare le linee lunghe

Il carattere di sottolineatura (_) alla fine della riga può essere utilizzato per dividere una singola riga in più righe, in modo da essere più leggibile.

 ' Write this very long line in a short one.
 DIM xx AS BYTE(32) = # { _
    x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, _
    x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, _
 }

POWERED BY