Inițiere in Metalimbajul BNF

 In notatia BNF, regulile sintactice (metadefinitiile, formule metalingvistice) au forma:
<parte-stanga> ::= parte-dreapta, unde:
<parte-stanga>
: desemneaza simbol neterminal ce se defineste;
::=
: metasimbol avand sensul de "egal prin definitie";
parte-dreapta
: definitia simbolului neterminal.
 In cadrul definitiei (parte-dreapta) se intalnesc urmatoarele elemente:
<simbol neterminal>
: categorie sintactica folosita in definirea altei categorii sintactice, se include intre semnele < si >, de exemplu: <Litera>, <Cifra> etc;
simbol terminal
: element al alfabetului terminal -> A, b, 1,etc;
|
: separa alternativele in definitie;
[ ]
: indica o constructie optionala;
{ }
: indica posibilitatea repetarii constructiei.
 Alternativele se constituie prin juxtapunerea de simboluri neterminale si/sau simboluri terminale.
 O diagrama de sintaxa este un graf orientat avand o singura intrare si o singura iesire. Orice drum posibil in graf, incepand cu intrarea si terminand cu iesirea, defineste o constructie sintactica corecta. Ca noduri ale grafului se folosesc urmatoarele figuri geometrice, pentru care se precizeaza si conditiile de utilizare in prezentarea limbajului Pascal:
 Pentru a ilustra comparativ cele doua moduri de reprezentare a regulilor sintactice, se prezinta in continuare formulele metalingvistice si diagramele de sintaxa pentru litera, cifra (zecimala) si cifra hexazecimala.In sens restrans, diagramele de sintaxa si formulele metalingvistice ar trebui asociate numai constructiilor sintactice propriu-zise (neterminale). Totusi, avand in vedere ca utilizatorul este implicat nemijlocit in alcatuirea unora din clasele de componente ale lexicului, se vor folosi, si in cazul acestora, diagrame de sintaxa si/sau metadefinitii.
<litera>::= A|B|C|...|X|Y|Z|a|b|c|...|x|y|z
<cifra>:: = 0|1|2|3|4|5|6|7|8|9
<cifra hexazecimala>:: = <cifra>|A|B|C|D|E|F|a|b|c|d|e|f
 In cele ce urmeaza vor fi folosite cu precadere diagramele de sintaxa care, pe langa rigurozitate, sunt si deosebit de sugestive. Cuvintele rezervate vor fi scrise cu majuscule, iar celelalte elemente cu litere mici.


Niciun comentariu:

Trimiteți un comentariu