SlideShare a Scribd company logo
1 of 27
Material didactic pentru elevii din cadrul
Colegiului Pedagogic “Ion Creangă”
la disciplina “Informatica”
Metode de descriere a
construcțiilor gramaticale.
Metalimbajul BNF.
Diagrame sintactice
Profesor:
Masliuc Alina
Un limbaj de programare se defineşte prin
sintaxa şi semantica lui:
 Sintaxa este un set de reguli care guvernează
alcătuirea programelor;
 Semantica este un set de reguli care determină
înţelesul, semnificaţia programelor respective.
2
Metalimbajul BNF
 Sintaxa oricărui program poate fi descrisă cu
ajutorul unui limbaj de comunicare între oameni, de
exemplu limba română, engleză ect.
 Pentru o descriere concisă și exactă a sintaxei
limbajelor de programare, s-au elaborat
limbajele speciale, denumite metalimbaje.
 Cel mai răspîndit metalimbaj este cunoscut sub
denumirea de BNF – Forma Normală a lui
Backus.
3
4
Metalimbajul BNF utilizează următoarele
simboluri:
 simbolurile terminale;
 simbolurile neterminale.
5
Simbolurile terminale sunt simbolurile
ce apar exact la fel şi în programul
Pascal;
Exemplu: cifrele 0, 1, 2, 3, ..., 9;
literele A, B, C, D, ..., Z .
6
Simbolurile neterminale – desemnează
unităţile (construcţiile) gramaticale ale
limbajului;
Simbolurile neterminale se scriu între semnele
„<” şi „>”.
Exemplu: <cifra>
<litera>
7
Descrierea sintaxei limbajului PASCAL constă dintr-un
set de formule metalingvistice.
Prin formulă metalingvistică vom înţelege o
construcţie formată din 2 părţi:
 stînga - se găseşte un simbol neterminal;
 dreapta - se găsesc simboluri terminale
separate prin anumite simboluri specifice cu o
anumită semnificaţie.
separate prin simbolul „::=” ce are semnificaţia egal
prin definiţie.
8
Simbolurile specifice
│ - simbol cu semnificaţia sau;
{ } – alternativa cuprinsă între acolade poate fi
repetată de un număr oarecare de ori (chiar şi de zero
ori);
[ ] – alternativa între parantezele pătrate pot lipsi sau
pot să apară.
9
Exemple de formule metalingvistice:
<Cifră> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<Literă> ::= a | b | c | d | e | f | g | h | i | j | k | l |m |
n | o | p | q | r | s | t | u | v | w | x | y | z
10
În partea dreaptă a unei formule metalingvistice pot
apărea două și mai multe simboluri consecutive.
Situaţia corespunde operaţiei de concatenare
(alipire) a lor.
Exemplu: <Id> ::= <Literă><Cifră>
Acest exemplu definește construcţia gramaticală
<Id> ca fiind o literă urmată de o cifră.
exemple: a4
x9
e7
În unele situaţii alternative de definire a unui simbol
neterminal se pot repeta de un număr oarecare de ori
(chiar de zero ori), fapt ce va fi marcat prin încadrarea
lor în acolade { }.
11
Exemplu:
<Întreg fără semn> ::= <Cifră> {<Cifră>}
Acest exemplu definește simbolul neterminal
<Întreg fără semn> ca o secvenţă de cifre.
exemple: 0000 3a5910 - incorect
001
1900
În cazul în care alternativele de definire a unui
neterminal sînt opţionale (pot lipsi), ele se încadrează
în parantezele drepte [ ].
12
Exemplu:
<Factor scală> ::= [+ | –] <Întreg fără semn>
Acest exemplu definește factorul de scală ca un
număr întreg fără semn care poate fi precedat de
+ sau – .
exemple: + 1 3 - 5 - incorect
- 20
30
13
Fie date următoarele formule metalingvistice:
<Cifră> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<Număr> ::= <Cifră> {<Cifră>}
<Semn> ::= [+ I -]
<Expresie aritmetică> ::= <Număr> {<Semn><Număr>}
Exerciții
14
Care din secvențele ce urmează sînt conforme
definiției unității lexicale <Număr>?
<Număr> ::= <Cifră> {<Cifră>}
15
Care din secvențele ce urmează sînt conforme
definiției unității lexicale <Expresie aritmetică>?
<Expresie aritmetică> ::= <Număr> {<Semn><Număr>}
Diagrame sintactice
Diagramele sintactice descriu mai clar
sintaxa unui limbaj de programare.
Reprezentarea prin diagrame poate fi
derivată din notaţia BNF.
16
17
 Simbolurile terminale se înscriu în
cerc sau oval .
 Simbolurile neterminale se înscriu în
dreptunghiuri.
 Simbolurile specifice (operaţiile) – se
înscriu cu săgeţi.
18
19
20
Exemple
de diagrame sintactice conform
formulei metalingvistice
21
Formula metalingvistică:
<Cifra>::= 0 |1 | 2| 3 | 4 | 5 | 6 | 7 | 8 | 9
Diagrama sintactică:
22
Formula metalingvistică:
<Litera>::=a | b |c |d |e | f |g |h | i | j| k | l | m |
n |o | p | q | r | s | t | u | v | w | x | y | z
Diagrama sintactică:
23
Formula metalingvistică:
<Întreg fără semn> ::= <Cifră> {<Cifră>}
Diagrama sintactică:
24
Formula metalingvistică:
<Identificator> ::= <Literă> {<Literă> | <Cifră>}
Diagrama sintactică:
25
Scrieţi formula BNF care corespunde
următoarei diagramei sintactice:
26
Reprezentaţi cu ajutorul diagramelor sintactice,
următoarele formule metalingvistice:
<Număr> ::= <Cifră> {<Cifră>}
<Semn> ::= [+ I -]
<Expresie aritmetică> ::= <Număr> {<Semn><Număr>}
Temă pentru acasă
27
VĂ MULȚUMESC
PENTRU ATENȚIE!

More Related Content

What's hot

Codificarea şi decodificarea mesajelor în sistemele de transmisie a informaţiei
Codificarea şi decodificarea mesajelor în sistemele de transmisie a informaţieiCodificarea şi decodificarea mesajelor în sistemele de transmisie a informaţiei
Codificarea şi decodificarea mesajelor în sistemele de transmisie a informaţieiColegiul de Industrie Usoara
 
3 13 Drept Informatic
3 13 Drept Informatic3 13 Drept Informatic
3 13 Drept InformaticVasile Filat
 
Studierea limbajului pascal
Studierea limbajului pascalStudierea limbajului pascal
Studierea limbajului pascalnatashcka
 
Calciu şi compuşii lui
Calciu şi compuşii luiCalciu şi compuşii lui
Calciu şi compuşii luialexcurbet
 
Tipuri de date definiteutilizator
Tipuri de date definiteutilizatorTipuri de date definiteutilizator
Tipuri de date definiteutilizatoralinabacalim
 
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
68 De Pagini De Probleme Rezolvate Si Teorie In Pascalguest274e8
 
1 4 Cantitatea De Informatie
1 4 Cantitatea De Informatie1 4 Cantitatea De Informatie
1 4 Cantitatea De InformatieVasile Filat
 
Workshop Portofolii Digitale cu ajutorul Google Sites
Workshop Portofolii Digitale cu ajutorul Google SitesWorkshop Portofolii Digitale cu ajutorul Google Sites
Workshop Portofolii Digitale cu ajutorul Google SitesDaniela Munca-Aftenev
 
Modele de scrisoare de intentie
Modele  de scrisoare de intentieModele  de scrisoare de intentie
Modele de scrisoare de intentieoana_89
 
Ecuații de gradul Ii
Ecuații de gradul IiEcuații de gradul Ii
Ecuații de gradul Iioles vol
 
1 2 Sisteme De Numeratie
1 2 Sisteme De Numeratie1 2 Sisteme De Numeratie
1 2 Sisteme De NumeratieVasile Filat
 
Schema - verb (moduri și timpuri verbale)
Schema  - verb (moduri și timpuri verbale)Schema  - verb (moduri și timpuri verbale)
Schema - verb (moduri și timpuri verbale)Calin Popet
 
Proiect cl ix
Proiect cl ixProiect cl ix
Proiect cl ixClaudia
 

What's hot (20)

Initiere in turbo pascal
Initiere in turbo pascalInitiere in turbo pascal
Initiere in turbo pascal
 
Codificarea şi decodificarea mesajelor în sistemele de transmisie a informaţiei
Codificarea şi decodificarea mesajelor în sistemele de transmisie a informaţieiCodificarea şi decodificarea mesajelor în sistemele de transmisie a informaţiei
Codificarea şi decodificarea mesajelor în sistemele de transmisie a informaţiei
 
Functiii
FunctiiiFunctiii
Functiii
 
Aplicatii ale matematicii
Aplicatii ale matematiciiAplicatii ale matematicii
Aplicatii ale matematicii
 
Analiza algoritmilor. Masurarea volumului
Analiza algoritmilor. Masurarea volumului Analiza algoritmilor. Masurarea volumului
Analiza algoritmilor. Masurarea volumului
 
3 13 Drept Informatic
3 13 Drept Informatic3 13 Drept Informatic
3 13 Drept Informatic
 
Studierea limbajului pascal
Studierea limbajului pascalStudierea limbajului pascal
Studierea limbajului pascal
 
Sistem nervos
Sistem nervosSistem nervos
Sistem nervos
 
Calciu şi compuşii lui
Calciu şi compuşii luiCalciu şi compuşii lui
Calciu şi compuşii lui
 
Tipuri de date definiteutilizator
Tipuri de date definiteutilizatorTipuri de date definiteutilizator
Tipuri de date definiteutilizator
 
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
 
1 4 Cantitatea De Informatie
1 4 Cantitatea De Informatie1 4 Cantitatea De Informatie
1 4 Cantitatea De Informatie
 
Cuantizarea imaginilor
Cuantizarea imaginilor Cuantizarea imaginilor
Cuantizarea imaginilor
 
Workshop Portofolii Digitale cu ajutorul Google Sites
Workshop Portofolii Digitale cu ajutorul Google SitesWorkshop Portofolii Digitale cu ajutorul Google Sites
Workshop Portofolii Digitale cu ajutorul Google Sites
 
Modele de scrisoare de intentie
Modele  de scrisoare de intentieModele  de scrisoare de intentie
Modele de scrisoare de intentie
 
Ecuații de gradul Ii
Ecuații de gradul IiEcuații de gradul Ii
Ecuații de gradul Ii
 
1 2 Sisteme De Numeratie
1 2 Sisteme De Numeratie1 2 Sisteme De Numeratie
1 2 Sisteme De Numeratie
 
Schema - verb (moduri și timpuri verbale)
Schema  - verb (moduri și timpuri verbale)Schema  - verb (moduri și timpuri verbale)
Schema - verb (moduri și timpuri verbale)
 
Proiect cl ix
Proiect cl ixProiect cl ix
Proiect cl ix
 
Proceduri
Proceduri Proceduri
Proceduri
 

More from alinabacalim

Описание переменных и констант
Описание переменных и константОписание переменных и констант
Описание переменных и константalinabacalim
 
Variabile constante
Variabile constanteVariabile constante
Variabile constantealinabacalim
 
Пользовательские типы данных
Пользовательские типы данныхПользовательские типы данных
Пользовательские типы данныхalinabacalim
 
Простые типы данных
Простые типы данныхПростые типы данных
Простые типы данныхalinabacalim
 
ТЕХНИКА БЕЗОПАСНОСТИ В КАБИНЕТЕ ИНФОРМАТИКИ
ТЕХНИКА БЕЗОПАСНОСТИ В КАБИНЕТЕ ИНФОРМАТИКИТЕХНИКА БЕЗОПАСНОСТИ В КАБИНЕТЕ ИНФОРМАТИКИ
ТЕХНИКА БЕЗОПАСНОСТИ В КАБИНЕТЕ ИНФОРМАТИКИalinabacalim
 
Aлфавит Паскаль
Aлфавит ПаскальAлфавит Паскаль
Aлфавит Паскальalinabacalim
 
СЛОВАРЬ И СИНТАКСИС ЯЗЫКА ПАСКАЛЬ
СЛОВАРЬ И СИНТАКСИС ЯЗЫКА ПАСКАЛЬСЛОВАРЬ И СИНТАКСИС ЯЗЫКА ПАСКАЛЬ
СЛОВАРЬ И СИНТАКСИС ЯЗЫКА ПАСКАЛЬalinabacalim
 
Метаязык БНФ_Синтаксические диаграммы
Метаязык БНФ_Синтаксические диаграммыМетаязык БНФ_Синтаксические диаграммы
Метаязык БНФ_Синтаксические диаграммыalinabacalim
 
Proiect de biologie1
Proiect de biologie1Proiect de biologie1
Proiect de biologie1alinabacalim
 

More from alinabacalim (20)

Описание переменных и констант
Описание переменных и константОписание переменных и констант
Описание переменных и констант
 
Variabile constante
Variabile constanteVariabile constante
Variabile constante
 
Пользовательские типы данных
Пользовательские типы данныхПользовательские типы данных
Пользовательские типы данных
 
Простые типы данных
Простые типы данныхПростые типы данных
Простые типы данных
 
ТЕХНИКА БЕЗОПАСНОСТИ В КАБИНЕТЕ ИНФОРМАТИКИ
ТЕХНИКА БЕЗОПАСНОСТИ В КАБИНЕТЕ ИНФОРМАТИКИТЕХНИКА БЕЗОПАСНОСТИ В КАБИНЕТЕ ИНФОРМАТИКИ
ТЕХНИКА БЕЗОПАСНОСТИ В КАБИНЕТЕ ИНФОРМАТИКИ
 
Aлфавит Паскаль
Aлфавит ПаскальAлфавит Паскаль
Aлфавит Паскаль
 
СЛОВАРЬ И СИНТАКСИС ЯЗЫКА ПАСКАЛЬ
СЛОВАРЬ И СИНТАКСИС ЯЗЫКА ПАСКАЛЬСЛОВАРЬ И СИНТАКСИС ЯЗЫКА ПАСКАЛЬ
СЛОВАРЬ И СИНТАКСИС ЯЗЫКА ПАСКАЛЬ
 
Метаязык БНФ_Синтаксические диаграммы
Метаязык БНФ_Синтаксические диаграммыМетаязык БНФ_Синтаксические диаграммы
Метаязык БНФ_Синтаксические диаграммы
 
Instructiuneaif
InstructiuneaifInstructiuneaif
Instructiuneaif
 
Instructiuneaif
InstructiuneaifInstructiuneaif
Instructiuneaif
 
Recursivitate
RecursivitateRecursivitate
Recursivitate
 
Recursivitate
RecursivitateRecursivitate
Recursivitate
 
Constructia for
Constructia forConstructia for
Constructia for
 
Constructia while
Constructia whileConstructia while
Constructia while
 
Const repeat
Const repeatConst repeat
Const repeat
 
Const repeat
Const repeatConst repeat
Const repeat
 
Proiect de biologie1
Proiect de biologie1Proiect de biologie1
Proiect de biologie1
 
boli
boliboli
boli
 
sistemul nervos
sistemul nervossistemul nervos
sistemul nervos
 
Andrian bodareu1
Andrian bodareu1Andrian bodareu1
Andrian bodareu1
 

Recently uploaded

Literatura polonă pentru copii tradusă în limba română
Literatura polonă pentru copii tradusă în limba românăLiteratura polonă pentru copii tradusă în limba română
Literatura polonă pentru copii tradusă în limba românăBibliotecaMickiewicz
 
Fisa de lucru Glandele Endocrine clasa a 7 a
Fisa de lucru Glandele Endocrine clasa a 7 aFisa de lucru Glandele Endocrine clasa a 7 a
Fisa de lucru Glandele Endocrine clasa a 7 aRoxana334871
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10CrciunAndreeaMaria
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCori Rus
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiAndr808555
 
Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11CMB
 

Recently uploaded (6)

Literatura polonă pentru copii tradusă în limba română
Literatura polonă pentru copii tradusă în limba românăLiteratura polonă pentru copii tradusă în limba română
Literatura polonă pentru copii tradusă în limba română
 
Fisa de lucru Glandele Endocrine clasa a 7 a
Fisa de lucru Glandele Endocrine clasa a 7 aFisa de lucru Glandele Endocrine clasa a 7 a
Fisa de lucru Glandele Endocrine clasa a 7 a
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptx
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantului
 
Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11
 

Metalimbajul BNF. Diagrame sintactice

  • 1. Material didactic pentru elevii din cadrul Colegiului Pedagogic “Ion Creangă” la disciplina “Informatica” Metode de descriere a construcțiilor gramaticale. Metalimbajul BNF. Diagrame sintactice Profesor: Masliuc Alina
  • 2. Un limbaj de programare se defineşte prin sintaxa şi semantica lui:  Sintaxa este un set de reguli care guvernează alcătuirea programelor;  Semantica este un set de reguli care determină înţelesul, semnificaţia programelor respective. 2
  • 3. Metalimbajul BNF  Sintaxa oricărui program poate fi descrisă cu ajutorul unui limbaj de comunicare între oameni, de exemplu limba română, engleză ect.  Pentru o descriere concisă și exactă a sintaxei limbajelor de programare, s-au elaborat limbajele speciale, denumite metalimbaje.  Cel mai răspîndit metalimbaj este cunoscut sub denumirea de BNF – Forma Normală a lui Backus. 3
  • 4. 4 Metalimbajul BNF utilizează următoarele simboluri:  simbolurile terminale;  simbolurile neterminale.
  • 5. 5 Simbolurile terminale sunt simbolurile ce apar exact la fel şi în programul Pascal; Exemplu: cifrele 0, 1, 2, 3, ..., 9; literele A, B, C, D, ..., Z .
  • 6. 6 Simbolurile neterminale – desemnează unităţile (construcţiile) gramaticale ale limbajului; Simbolurile neterminale se scriu între semnele „<” şi „>”. Exemplu: <cifra> <litera>
  • 7. 7 Descrierea sintaxei limbajului PASCAL constă dintr-un set de formule metalingvistice. Prin formulă metalingvistică vom înţelege o construcţie formată din 2 părţi:  stînga - se găseşte un simbol neterminal;  dreapta - se găsesc simboluri terminale separate prin anumite simboluri specifice cu o anumită semnificaţie. separate prin simbolul „::=” ce are semnificaţia egal prin definiţie.
  • 8. 8 Simbolurile specifice │ - simbol cu semnificaţia sau; { } – alternativa cuprinsă între acolade poate fi repetată de un număr oarecare de ori (chiar şi de zero ori); [ ] – alternativa între parantezele pătrate pot lipsi sau pot să apară.
  • 9. 9 Exemple de formule metalingvistice: <Cifră> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <Literă> ::= a | b | c | d | e | f | g | h | i | j | k | l |m | n | o | p | q | r | s | t | u | v | w | x | y | z
  • 10. 10 În partea dreaptă a unei formule metalingvistice pot apărea două și mai multe simboluri consecutive. Situaţia corespunde operaţiei de concatenare (alipire) a lor. Exemplu: <Id> ::= <Literă><Cifră> Acest exemplu definește construcţia gramaticală <Id> ca fiind o literă urmată de o cifră. exemple: a4 x9 e7
  • 11. În unele situaţii alternative de definire a unui simbol neterminal se pot repeta de un număr oarecare de ori (chiar de zero ori), fapt ce va fi marcat prin încadrarea lor în acolade { }. 11 Exemplu: <Întreg fără semn> ::= <Cifră> {<Cifră>} Acest exemplu definește simbolul neterminal <Întreg fără semn> ca o secvenţă de cifre. exemple: 0000 3a5910 - incorect 001 1900
  • 12. În cazul în care alternativele de definire a unui neterminal sînt opţionale (pot lipsi), ele se încadrează în parantezele drepte [ ]. 12 Exemplu: <Factor scală> ::= [+ | –] <Întreg fără semn> Acest exemplu definește factorul de scală ca un număr întreg fără semn care poate fi precedat de + sau – . exemple: + 1 3 - 5 - incorect - 20 30
  • 13. 13 Fie date următoarele formule metalingvistice: <Cifră> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <Număr> ::= <Cifră> {<Cifră>} <Semn> ::= [+ I -] <Expresie aritmetică> ::= <Număr> {<Semn><Număr>} Exerciții
  • 14. 14 Care din secvențele ce urmează sînt conforme definiției unității lexicale <Număr>? <Număr> ::= <Cifră> {<Cifră>}
  • 15. 15 Care din secvențele ce urmează sînt conforme definiției unității lexicale <Expresie aritmetică>? <Expresie aritmetică> ::= <Număr> {<Semn><Număr>}
  • 16. Diagrame sintactice Diagramele sintactice descriu mai clar sintaxa unui limbaj de programare. Reprezentarea prin diagrame poate fi derivată din notaţia BNF. 16
  • 17. 17  Simbolurile terminale se înscriu în cerc sau oval .  Simbolurile neterminale se înscriu în dreptunghiuri.  Simbolurile specifice (operaţiile) – se înscriu cu săgeţi.
  • 18. 18
  • 19. 19
  • 20. 20 Exemple de diagrame sintactice conform formulei metalingvistice
  • 21. 21 Formula metalingvistică: <Cifra>::= 0 |1 | 2| 3 | 4 | 5 | 6 | 7 | 8 | 9 Diagrama sintactică:
  • 22. 22 Formula metalingvistică: <Litera>::=a | b |c |d |e | f |g |h | i | j| k | l | m | n |o | p | q | r | s | t | u | v | w | x | y | z Diagrama sintactică:
  • 23. 23 Formula metalingvistică: <Întreg fără semn> ::= <Cifră> {<Cifră>} Diagrama sintactică:
  • 24. 24 Formula metalingvistică: <Identificator> ::= <Literă> {<Literă> | <Cifră>} Diagrama sintactică:
  • 25. 25 Scrieţi formula BNF care corespunde următoarei diagramei sintactice:
  • 26. 26 Reprezentaţi cu ajutorul diagramelor sintactice, următoarele formule metalingvistice: <Număr> ::= <Cifră> {<Cifră>} <Semn> ::= [+ I -] <Expresie aritmetică> ::= <Număr> {<Semn><Număr>} Temă pentru acasă