Anexa D Anexa F

Anexa E
Gramatica utilizata pentru generatoarele
automate de analizoare lexicale



 
 
 
 

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:

Anexa D Anexa F