ExpresieRegulata | MembruStang ::= MembruDrept # |
MembruStang | identificator |
MembruDrept | Expresie | MembruDrept OpSel Expresie |
OpSel | | |
Expresie | Termen | Expresie Termen |
Termen | Factor | Factor * | Factor + |
Factor | identificator | 'caracter' | ( MembruDrept ) | 'caracter'..'caracter' |
Exemplu: consideram
ca in fisierul de intrare pentru generatorul de analizoare lexicale avem
expresiile regulate corespunzatoare atomilor identificator si
nrBaza10
(vezi Anexa A). In acest caz continutul
fisierului este de forma:
identificator | ::= litera ( litera | cifraZec )* # |
litera | ::= 'A'..'Z' | 'a'..'z' # |
cifraZec | ::= '0'..'9' # |
nrBaza10 | ::= ( cifraZec )+ # |
Obs: operatorul
'. .' nu face parte de fapt din limbajul expresiilor regulate standard;
el a fost introdus ca o simplificare. Generatoarele de analizoare lexicale
existente (v. lucrarea "Generatorul de analizoare lexicale
LEX") au adoptat mai multe simplificari de notatie, folosind diverse
caractere in aceste sens ( de ex: '[', ']', '^' etc).
Legenda: