metalimbajul bnf

6
1 Descrierea limbajului Pascal Metalimbajul BNF Diagrame sintactice Lista temelor din capitol

Upload: torgai-tatiana

Post on 12-Dec-2015

676 views

Category:

Documents


39 download

DESCRIPTION

kk

TRANSCRIPT

1

Descrierea limbajului Pascal Metalimbajul BNF Diagrame sintactice

Lista temelor din capitol

2

Descrierea limbajului Pascal.

3

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, 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

4

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, …ori3. ( ) 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 deprogramare sunt "Diagramele sintactice".

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

5

6