Metode de descriere a
construcțiilor gramaticale
Disciplina: Informatica
Grupul țintă: anul I
Țurcanu Alla, gr. did. II
2019-2020
Inițiere în limbajul Pascal
ANTET
PARTEA
DECLARATIVĂ
PARTEA
EXECUTABILĂ
Definirea unui limbaj de programare
Un limbaj de programare se definește prin sintaxa
și semantica lui.
sintaxa este un set de reguli care guvernează alcătuirea
propoziţiilor;
semantica este un set de reguli care determină
înţelesul, semnificaţia propoziţiilor.
În cazul limbajelor de programare, echivalentul
propoziţiei este programul.
Metalimbajul BNF
Cel mai răspîndit metalimbaj este BNF – Forma
Normală a lui Backus. El utilizează următoarele
simboluri:
simbolurile terminale, adică simbolurile care apar
exact la fel și în programele PASCAL. De exemplu,
cifrele 0, 1, 2, ..., 9, literele A, B, C, ..., Z sînt
simboluri terminale;
simbolurile neterminale, care desemnează unităţile
(construcţiile) gramaticale ale limbajului. Simbolurile
neterminale se înscriu între semnele “<” și “>”, de
exemplu <Litera>,<Cifra> sînt simboluri neterminale.
Formule metalingvistice
Descrierea sintaxei limbajului PASCAL constă
dintr-un set de formule metalingvistice.
Prin formulă metalingvistică vom înţelege o
construcţie formată din două părţi, stînga și dreapta,
separate prin simbolurile “::=” ce au semnificaţia de
“egal prin definiţie”. În partea stîngă a formulei se
găsește un simbol neterminal.
O formulă metalingvistică permite descrierea, în
partea ei dreaptă, a tuturor alternativelor posibile de
definire a simbolului neterminal, prin folosirea
caracterului “|” cu semnificaţia “sau”.
Exemple
sau
Formule metalingvistice
Î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.
Astfel:
definește construcţia gramaticală ca fiind o literă urmată
de o cifră.
Formule metalingvistice
În unele situaţii definirea unui simbol neterminal
se poate repeta de un număr oarecare de ori (chiar de
zero ori), fapt ce va fi marcat prin încadrarea lor în
acoladele {, }.
De exemplu, formula