Alapszabályok:
Az azonosítók betűvel kezdődnek, betűket és számjegyeket tartalmazhatnak,
de aláhúzásjel nem lehet bennük. A kis- és nagybetűket megkülönbözteti a nyelv.
A kulcsszavakat és foglalt szavakat csupa nagybetűvel kell írni, ezeket nem
lehet felüldefiniálni.
Az azonosítókat típusokhoz, eljárásokhoz konstansokhoz, stb. rendeljük hozzá.
Állhat egy betűből, de követheti még egy vagy több betű, szám és aláhúzás jel
is. Modula-3 érzékeny a kis- és nagy betűkre, ezért, ha két azonosító ugyanazon
betű sorozatból áll, de viszont legalább egy betű nagyságban különböznek, akkor
már a két azonosító nem egyezik meg.
Betű { Betű | Szám | "_" ... }
Literal egy konstans érték, mely lehet egy szám, egy karakter vagy egy string.
Number | CharLiteral | TextLiteral
A számok előjeles és előjel nélküli egész és valós számok lehetnek.
Egész számok esetén 10-estől eltérő számrendszert is meg lehet adni
(2 és 16 között), alap_szám alakban. Például: 2_1010 (2-es alapú) =
8_12 (8-as alapú) = 10 (10-es alapú) = 16_A (16-os alapú). A lebegőpontos
számokat megadhatjuk a megszokott alakban:
Szám { Szám ... } "." Szám { Szám ... } [ Exponent ] ahol
Exponent = "E" | "D" | "X" [ "+" | "-" ] Szám { Szám ... }
"\n" | új sor karakter | |
"\t" | tabulátor karakter | |
"\r" | kocsi vissza karakter | |
"\f" | a formfeed character | |
"\\" | \ karakter | |
"\"" | " karakter | |
"\'" | ' karakter | |
"\" Oktális szám Oktális szám Oktális szám | egy CHAR értéket specifikál, ahol az Oktálisszám egy [0..7] közötti szám. Például: \015 (13 -as karakter) |
A Text literál egy szöveg (string) típusú értéket reprezentál.
Például: "Hello.\n"
" { PrintingChar | Escape | "'" ... } "
PrintingChar és az Escape jelentése ugyanaz mint fent.
A megjegyzések a szokott "(* megjegyzés *)" formátumúak, és több sort is átölelhetnek.
AND DO FROM NOT REPEAT UNTIL ANY ELSE GENERIC OBJECT RETURN UNTRACED ARRAY ELSIF IF OF REVEAL VALUE AS END IMPORT OR ROOT VAR BEGIN EVAL IN OVERRIDES SET WHILE BITS EXCEPT INTERFACE PROCEDURE THEN WITH BRANDED EXCEPTION LOCK RAISE TO BY EXIT LOOP RAISES TRY CASE EXPORTS METHODS READONLY TYPE CONST FINALLY MOD RECORD TYPECASE DIV FOR MODULE REF UNSAFE
ABS BYTESIZE EXTENDED INTEGER MIN NUMBER TEXT ADDRESS CARDINAL FALSE ISTYPE MUTEX ORD TRUE ADR CEILING FIRST LAST NARROW REAL TRUNC ADRSIZE CHAR FLOAT LONGREAL NEW REFANY TYPECODE BITSIZE DEC FLOOR LOOPHOLE NIL ROUND VAL BOOLEAN DISPOSE INC MAX NULL SUBARRAY