Sunteți pe pagina 1din 7

09.09.

2020
Tema: Descrierea
limbajului Pascal.
Metalimbajul BNF

1
Descrierea limbajului Pascal.

2
M e t a l i m b a j u l BNF.
Programa constã din simboluri a unui limbaj oarecare scrisã dupã anumite reguli,
sintactice, adicã reguli de scriere corectã a instrucţiunilor programului. Sintaxa oricãrui
limbaj de programare poate fi descrisã în mod diferit.
Pentru o descriere concisã şi exactã a sintaxei limbajelor de programare s-au elaborat
limbaje speciale, denumite metalimbaje. Cel mai rãspândit metalimaj este cunoscut sub denumirea de BNF
- Forma Normalã a lui Backus.
Denumirea construcţiei gramaticale a limbajului se scrie între semnele "<“şi">",de exemplu:
<identificator> , <cifrã> , <întreg fãrã semn> , <numãr real>

Definirea unei reguli sintactice constã din trei pãrţi:


1. Partea stângã - denumirea construcţiei gramaticale;
2. Mijloc - simbolul "::=". Care se citeşte "conform definiţiei este";
3. Dreapta - componentele care definesc construcţia gramaticalã.
De exemplu:
<numãr negativ>::= - <numãr fãrã semn>. Conform acestei definiþii numãr negativ este un numãr fãrã
semn, adicã pozitiv, în faþa cãruia este simbolul minus. Aceste definiþii se mai numesc "Formule
metalingvistice".
Dacã construcţia poate avea alternative atunci componentele care definesc construcţia se despart prin
simbolul "|".
De exemplu: <semn>::=+ | -;
<cifrã>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

3
M e t a l i m b a j u l BNF.

Componentele sau o grupã de componente din partea dreaptã a formulei metalingvistice


pot fi încadrate în paranteze. Parantezele aratã numãrul de repetãri care se poate
face cu aceste componente:
1. [ ] 0 sau 1 ori ( opţională)
2. { } 0, 1, 2, 3, …ori
3. ( ) 1 ori
Exemple: <Întreg fãrã semn>::=<cifrã> {<cifrã>};
<Identificator>::=<Literã> {<Literã> | <Cifrã>};
<numãr întreg>::[<semn>] <Întreg fãrã semn>;
<Numãr de douã cifre>::=( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9) <cifrã>.
În partea dreaptã a unei formule metalingvistice pot apãrea douã şi mai multe
componente consecutive, aşa ca în exemplele de mai sus. Situaţia corespunde
operaţiei de concatenare. O altã formã de descriere a sintaxei unui limbaj de
programare sunt "Diagramele sintactice".

4
5
6
7

S-ar putea să vă placă și