100% au considerat acest document util (2 voturi)
2K vizualizări20 pagini

Metalimbajul BNF Pascal

Documentul prezintă metalimbajul BNF utilizat pentru descrierea sintaxei limbajelor de programare. BNF utilizează simboluri terminale și neterminale pentru a defini regulile gramaticale ale limbajelor prin alternare, concatenare, repetare și includere opțională.

Încărcat de

Danutza Pinzari
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PPT, PDF, TXT sau citiți online pe Scribd
100% au considerat acest document util (2 voturi)
2K vizualizări20 pagini

Metalimbajul BNF Pascal

Documentul prezintă metalimbajul BNF utilizat pentru descrierea sintaxei limbajelor de programare. BNF utilizează simboluri terminale și neterminale pentru a defini regulile gramaticale ale limbajelor prin alternare, concatenare, repetare și includere opțională.

Încărcat de

Danutza Pinzari
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PPT, PDF, TXT sau citiți online pe Scribd
Sunteți pe pagina 1/ 20

Metalimbajul BNF

Limbajul de programare reprezinta


un mijloc de comunicare intre
programator si sistemul de calcul
Obiectivul cadru:
Cunoaşterea elementelor de bază ale
limbajului Pascal
Obiectivul de referinţă:
Să explicaţi modul de utilizare a unui
metalimbaj ;
Să explice modul de descriere a
construcţiilor gramaticale prin Alternare,
Concatenare, Repetare, Includere
Opţională
Un limbaj de programare se defineste
prin sintaxa si semantica lui.

Sintaxa Semantica
este un set este un set de reguli care
de reguli care Determină înţelesul
guvernează semnificaţia
alcătuirea propoziţiei propoziţiilor
Acelaşi lucru îl observam şi la limba
romînă în cadrul unei propoziţii.
Însă echivalntul cuvîntului PROPOZIŢIE
în Informatică este PROGRAM.
Pentru o descriere concisă şi exactă a
sintaxei limbajelor de programare, s-au
elaborat limbaje speciale numite
METALIMBAJE
Metalimbajul BNF
utilizează următoarele simboluri:

Simboluri Neterminale
Simboluri Terminale care demonstrează
Sunt simboluri ce apar construcţiile gramaticale Ele se
la fel ca şi în Pascal Înscriu între semnele < >
Ex: 0,1,2,3…….A,N;C Ex: < Cifră> <Literă >
Pentru descrierea sintaxei limbajului
Pascal se utilizează un set de

Prin formule metalingvistice vom


înţelege o construcţie formată din două
părţi: Stînga şi Dreapta separate prin
simbolul ::= (egal prin definiţie)
Ex : Formule Metalingvistice :
< Cifră> ::= 0 | 1 | 2 |3 |4 |5 |6 |

În partea Stîngă În partea dreaptă se scriu


Se scrie simbolul Simbolurile
Neterminal Terminale
Exerciţii Practice:
< ID> ::= < Litera> < Cifră>
Care din valorile următoare sunt
adevărate:
1. A9
2. A1
3. 123
4. X4
5. 8fg
6. Do
7. E8
<Întreg fără semn>::= < Cifră> {< Cifră>}
Care valori sunt adevărate:
1. 0
2. 0000
3. 3a5910
4. 1900
5. 3,5
6. 001
< Identificator>::=
< Literă> {<Literă> | < Cifră> }
1. A
2. A1
3. A1b
4. A23c
5. A23x
6. 34b
7. 5a5bv
Alegeţi variantă adevărată:
Sintaxă şi Semantică?

a. Un set de reguli ce guvernează alcătuirea


propziţiilor şi semnificaţia lor.
b. Limbaje speciale pentru descrierea concisă
a unui program
Metalimbajul BNF utilizează următoarele
simboluri?
a. Simbolul BNF
b. Identificatori
c. Simboluri Terminale
d. Simboluri Neterminale
Prin formula metalingvistică înţelegem ?
a. Unitate gramaticală
b. Caractere şi simboluri terminale
c. Alternativă posibilă de definire a simbolului
neterminal
d. O construcţie formată din două părţi stînga şi
dreapta separate de simbolul ::=
Cum se defineşte sintaxa unui
limbaj cu ajutorul
metalimbajului BNF?
Diagramele sintactice descriu mai clar
sintaxa unui limbaj de programare.
Cînd se va construi o diagrama sintactică simbolul
terminal va fi încadrat în cerc sau oval.
Simbolurile neterminale se înscriu în dreptunghiuri.
Ovalurile şi dreptunghiurile se reunesc după regulile
următoare:
1. Concatenare
< u>::= x1 x2 …..xn
2. Alternare
< u>::= x1 | x2 | …… xn
3. Prezenţă opţională
< u>::= [x1 ] x2
2. Repetare
< u>::= { X1} x2
Reprezentaţi cu ajutorul diagramelor
sintactice :
1.< Cifră>::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
2.< Număr >::= < Cifră> {< Cifră>}
3.< Semn>::= + | -
4.< Expresie aritmetică>::= <
Număr>{< Semn> < Număr>}
ŞTIU VREAU SĂ AM ÎNVĂŢAT
ŞTIU

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