Sunteți pe pagina 1din 55

Limbaje Formale, Automate şi Compilatoare

Curs 1

2019-20

LFAC (2019-20) Curs 1 1 / 36


Prezentare curs

Limbaje Formale, Automate şi Compilatoare - Curs 1

1 Prezentare curs

2 Limbaje formale

3 Mecanisme de generare a limbajelor: gramatici

4 Ierarhia lui Chomsky

5 Limbaje şi gramatici de tip 3 (regulate)

LFAC (2019-20) Curs 1 2 / 36


Prezentare curs

Limbaje Formale, Automate şi Compilatoare

Titulari curs:
O. Captarencu: otto@info.uaic.ro
http://profs.info.uaic.ro/˜otto/lfac.html
A. Moruz:mmoruz@info.uaic.ro

LFAC (2019-20) Curs 1 3 / 36


Prezentare curs

Sistem evaluare

7 seminarii, 6 laboratoare;
AS = activitatea la seminar (max 10 puncte);
AL = activitatea la laborator (max 10 puncte);
T1,T2 teste scrise ı̂n săptămânile 8, respectiv ı̂n sesiune;
Punctajul final se obţine astfel:
P = 3 * AS + 3 * AL + 2 * T1 + 2 * T2
Condiţii miminale de promovare: AS ≥ 5, AL ≥ 5, T 1 ≥ 5, T 2 ≥ 5;
Punctaj minim pentru promovare: P ≥ 50;
Nota finală (N) se va stabili astfel:
dacă P < 50: N = 4, altfel: N = round(P/10) (rotunjirea se face
la cel mai apropiat ı̂ntreg);
LFAC (2019-20) Curs 1 4 / 36
Prezentare curs

Sistem evaluare

AS = activitatea la seminar (max 10 puncte):


- media notelor de la două teste scrise, notate de la 0 la 10 (fără
rotunjiri)
AL = activitatea la laborator (max 10 puncte):
1 test laborator, 1 proiect (note de la 0 la 10)
AL = media celor 2 note (fără rotunjiri)

LFAC (2019-20) Curs 1 5 / 36


Prezentare curs

Tematica cursului (partea I)

LFAC (2019-20) Curs 1 6 / 36


Prezentare curs

Tematica cursului (partea I)

LFAC (2019-20) Curs 1 7 / 36


Prezentare curs

Tematica cursului (partea I)

Limbaje şi gramatici


Limbaje regulate; gramatici, automate , expresii regulate
Limbaje independente de context; gramatici, automate pushdown

LFAC (2019-20) Curs 1 8 / 36


Prezentare curs

Tematica cursului (partea II)

Limbaje de programare: proiectare şi implementare


Analiza lexicală
Analiza sintactică
Traducere ı̂n cod intermediar

LFAC (2019-20) Curs 1 9 / 36


Prezentare curs

Bibliografie (selecţii)
1 A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman: Compilers:
Principles, Techniques, and Tools. Boston: Addison-Wesley, 2007
2 Gh. Grigoras. Constructia compilatoarelor - Algoritmi
fundamentali, Ed. Universitatii Al. I. ”Cuza Iasi”, ISBN
973-703-084-2, 274 pg., 2005
3 Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. (2006).
Introduction to Automata Theory, Languages, and Computation
(3rd ed.). Addison-Wesley
4 J. Toader - Limbaje formale şi automate, Editura Matrix Rom,
Bucuresti, 1999.
5 J. Toader, S. Andrei - Limbaje formale şi teoria automatelor. Teorie
şi practică, Editura Universitatii ”Al. I. Cuza”, Iasi, 2002.
LFAC (2019-20) Curs 1 10 / 36
Limbaje formale

Limbaje Formale, Automate şi Compilatoare - Curs 1

1 Prezentare curs

2 Limbaje formale

3 Mecanisme de generare a limbajelor: gramatici

4 Ierarhia lui Chomsky

5 Limbaje şi gramatici de tip 3 (regulate)

LFAC (2019-20) Curs 1 11 / 36


Limbaje formale

Alfabet, cuvânt, multţime de cuvinte

Alfabet: V o mulţime finită (elementele lui V = simboluri )

LFAC (2019-20) Curs 1 12 / 36


Limbaje formale

Alfabet, cuvânt, multţime de cuvinte

Alfabet: V o mulţime finită (elementele lui V = simboluri )


Cuvânt: şir finit de simboluri
cuvântul nul este notat cu ǫ sau λ.

LFAC (2019-20) Curs 1 12 / 36


Limbaje formale

Alfabet, cuvânt, multţime de cuvinte

Alfabet: V o mulţime finită (elementele lui V = simboluri )


Cuvânt: şir finit de simboluri
cuvântul nul este notat cu ǫ sau λ.

Lungimea unui cuvânt u: numarul simbolurilor sale. Notaţie: |u|.


|ǫ| = 0

LFAC (2019-20) Curs 1 12 / 36


Limbaje formale

Alfabet, cuvânt, multţime de cuvinte

Alfabet: V o mulţime finită (elementele lui V = simboluri )


Cuvânt: şir finit de simboluri
cuvântul nul este notat cu ǫ sau λ.

Lungimea unui cuvânt u: numarul simbolurilor sale. Notaţie: |u|.


|ǫ| = 0
V ∗ - multimea tuturor cuvintelor peste alfabetul V, inclusiv ǫ.
{0, 1}∗ = {ǫ, 0, 1, 00, 01, 10, 11, 000, 001, . . .}

LFAC (2019-20) Curs 1 12 / 36


Limbaje formale

Alfabet, cuvânt, multţime de cuvinte

Alfabet: V o mulţime finită (elementele lui V = simboluri )


Cuvânt: şir finit de simboluri
cuvântul nul este notat cu ǫ sau λ.

Lungimea unui cuvânt u: numarul simbolurilor sale. Notaţie: |u|.


|ǫ| = 0
V ∗ - multimea tuturor cuvintelor peste alfabetul V, inclusiv ǫ.
{0, 1}∗ = {ǫ, 0, 1, 00, 01, 10, 11, 000, 001, . . .}
V + - multimea tuturor cuvintelor nenule peste alfabetul V
{0, 1}+ = {0, 1, 00, 01, 10, 11, 000, 001, . . .}

LFAC (2019-20) Curs 1 12 / 36


Limbaje formale

Operaţii pe cuvinte
Concatenarea a doua cuvinte x, y: cuvântul x · y obţinut din
simbolurile lui x, ı̂n ordinea ı̂n care apar, urmate de cele ale lui y
de asemenea ı̂n ordinea ı̂n care apar:
x = 0100, y = 100, x · y = 0100100
x = 000, y = ǫ, x · y = 000

LFAC (2019-20) Curs 1 13 / 36


Limbaje formale

Operaţii pe cuvinte
Concatenarea a doua cuvinte x, y: cuvântul x · y obţinut din
simbolurile lui x, ı̂n ordinea ı̂n care apar, urmate de cele ale lui y
de asemenea ı̂n ordinea ı̂n care apar:
x = 0100, y = 100, x · y = 0100100
x = 000, y = ǫ, x · y = 000
Concatenarea este asociativă

LFAC (2019-20) Curs 1 13 / 36


Limbaje formale

Operaţii pe cuvinte
Concatenarea a doua cuvinte x, y: cuvântul x · y obţinut din
simbolurile lui x, ı̂n ordinea ı̂n care apar, urmate de cele ale lui y
de asemenea ı̂n ordinea ı̂n care apar:
x = 0100, y = 100, x · y = 0100100
x = 000, y = ǫ, x · y = 000
Concatenarea este asociativă
(V ∗ , ·) este monoid (ǫ este element neutru), se numeşte monoidul
liber generat de V .

LFAC (2019-20) Curs 1 13 / 36


Limbaje formale

Operaţii pe cuvinte
Concatenarea a doua cuvinte x, y: cuvântul x · y obţinut din
simbolurile lui x, ı̂n ordinea ı̂n care apar, urmate de cele ale lui y
de asemenea ı̂n ordinea ı̂n care apar:
x = 0100, y = 100, x · y = 0100100
x = 000, y = ǫ, x · y = 000
Concatenarea este asociativă
(V ∗ , ·) este monoid (ǫ este element neutru), se numeşte monoidul
liber generat de V .
Cuvântul v este un prefix al cuvântului u dacă ∃w ∈ V ∗ : u = vw;
dacă w ∈ V + , atunci v este un prefix propriu al lui u.

LFAC (2019-20) Curs 1 13 / 36


Limbaje formale

Operaţii pe cuvinte
Concatenarea a doua cuvinte x, y: cuvântul x · y obţinut din
simbolurile lui x, ı̂n ordinea ı̂n care apar, urmate de cele ale lui y
de asemenea ı̂n ordinea ı̂n care apar:
x = 0100, y = 100, x · y = 0100100
x = 000, y = ǫ, x · y = 000
Concatenarea este asociativă
(V ∗ , ·) este monoid (ǫ este element neutru), se numeşte monoidul
liber generat de V .
Cuvântul v este un prefix al cuvântului u dacă ∃w ∈ V ∗ : u = vw;
dacă w ∈ V + , atunci v este un prefix propriu al lui u.
Cuvântul v este un sufix al cuvântului u dacă ∃w ∈ V ∗ : u = wv ;
dacă w ∈ V + , atunci v este un sufix propriu al lui u.
LFAC (2019-20) Curs 1 13 / 36
Limbaje formale

Fie V un alfabet. O submulţime L ⊆ V ∗ este un limbaj (formal)


peste alfabetul V (sau V-limbaj) dacă L are o descriere
(matematică) finită.
O descriere poate fi:

LFAC (2019-20) Curs 1 14 / 36


Limbaje formale

Fie V un alfabet. O submulţime L ⊆ V ∗ este un limbaj (formal)


peste alfabetul V (sau V-limbaj) dacă L are o descriere
(matematică) finită.
O descriere poate fi:
neformală (ı̂n limbaj natural):
multimea cuvintelor peste alfabetul {0, 1} care contin un numar par
de 0.
L = {x ∈ V + : |x| este par }.
{an bn |n ∈ N}.
{w ∈ {0, 1}∗ |w se termina in 00}.

LFAC (2019-20) Curs 1 14 / 36


Limbaje formale

Fie V un alfabet. O submulţime L ⊆ V ∗ este un limbaj (formal)


peste alfabetul V (sau V-limbaj) dacă L are o descriere
(matematică) finită.
O descriere poate fi:
neformală (ı̂n limbaj natural):
multimea cuvintelor peste alfabetul {0, 1} care contin un numar par
de 0.
L = {x ∈ V + : |x| este par }.
{an bn |n ∈ N}.
{w ∈ {0, 1}∗ |w se termina in 00}.
formală (descriere matematică):
o descriere inductivă a cuvintelor
o descriere generativă a cuvintelor (gramatică generativă)
o descriere a unei metode de recunoaştere a cuvintelor din limbaj
(automat finit, automat pushdown, etc.)

LFAC (2019-20) Curs 1 14 / 36


Limbaje formale

Operaţii cu limbaje

Operatiile cu multimi (reuniune, intersectie etc)


Produs de limbaje: L1 · L2 = {u · v |u ∈ L1 , v ∈ L2 }

Exemplu:
L1 = {an , n ≥ 1}, L2 = {bn , n ≥ 1}
L1 · L2 = {an bm , n ≥ 1, m ≥ 1}
S n,
Iteraţia (produsul Kleene): L∗ = n≥0 L unde:
0
L = {ǫ}
Ln+1 = Ln · L

Exemplu:
L = {a}, L0 = {ǫ}, L1 = L, L2 = {aa}, . . . , Ln = {an }
L∗ = {an , n ≥ 0}
LFAC (2019-20) Curs 1 15 / 36
Mecanisme de generare a limbajelor: gramatici

Limbaje Formale, Automate şi Compilatoare - Curs 1

1 Prezentare curs

2 Limbaje formale

3 Mecanisme de generare a limbajelor: gramatici

4 Ierarhia lui Chomsky

5 Limbaje şi gramatici de tip 3 (regulate)

LFAC (2019-20) Curs 1 16 / 36


Mecanisme de generare a limbajelor: gramatici

Gramatici

Definiţie 1
O gramatica este un sistem G = (N, T , S, P), unde:
N şi T sunt două alfabete disjuncte:
N este multimea neterminalilor
T este multimea terminalilor

S ∈ N este simbolul de start (neterminalul iniţial)


P este o multime finita de reguli (producţii) de forma x → y, unde
x, y ∈ (N ∪ T )∗ şi x conţine cel puţin un neterminal.

LFAC (2019-20) Curs 1 17 / 36


Mecanisme de generare a limbajelor: gramatici

Derivare

Definiţie 2
Fie G = (N, T , S, P) o gramatica şi u, v ∈ (N ∪ T )∗ .
Spunem că v este derivat direct (ı̂ntr-un pas) de la u prin aplicarea
regulii x → y, şi notăm u ⇒ v , dacă ∃p, q ∈ (N ∪ T )∗ astfel ı̂ncât
u = pxq şi v = pyq.

LFAC (2019-20) Curs 1 18 / 36


Mecanisme de generare a limbajelor: gramatici

Derivare

Definiţie 2
Fie G = (N, T , S, P) o gramatica şi u, v ∈ (N ∪ T )∗ .
Spunem că v este derivat direct (ı̂ntr-un pas) de la u prin aplicarea
regulii x → y, şi notăm u ⇒ v , dacă ∃p, q ∈ (N ∪ T )∗ astfel ı̂ncât
u = pxq şi v = pyq.

Daca u1 ⇒ u2 . . . ⇒ un , n > 1, spunem ca un este derivat din u1 ı̂n


G şi notam u1 ⇒+ un .

LFAC (2019-20) Curs 1 18 / 36


Mecanisme de generare a limbajelor: gramatici

Derivare

Definiţie 2
Fie G = (N, T , S, P) o gramatica şi u, v ∈ (N ∪ T )∗ .
Spunem că v este derivat direct (ı̂ntr-un pas) de la u prin aplicarea
regulii x → y, şi notăm u ⇒ v , dacă ∃p, q ∈ (N ∪ T )∗ astfel ı̂ncât
u = pxq şi v = pyq.

Daca u1 ⇒ u2 . . . ⇒ un , n > 1, spunem ca un este derivat din u1 ı̂n


G şi notam u1 ⇒+ un .
Scriem u ⇒∗ v dacă u ⇒+ v sau u = v .

LFAC (2019-20) Curs 1 18 / 36


Mecanisme de generare a limbajelor: gramatici

Limbaj generat

Definiţie 3
Limbajul generat de gramatica G este:

L(G) = {w ∈ T ∗ |S ⇒+ w}

LFAC (2019-20) Curs 1 19 / 36


Mecanisme de generare a limbajelor: gramatici

Limbaj generat

Definiţie 3
Limbajul generat de gramatica G este:

L(G) = {w ∈ T ∗ |S ⇒+ w}

Definiţie 4
Două gramatici G1 şi G2 sunt echivalente dacă L(G1 ) = L(G2 ).

LFAC (2019-20) Curs 1 19 / 36


Mecanisme de generare a limbajelor: gramatici

Exemplu

G = (N, T , S, P), N = {S, X , A}, T = {a, b}, P constă din:


1 S → aXb
2 aX → aAb
3 Xb → bA
4 aA → aa
5 A→ǫ

L(G) = {ab, abb, aabb}


Gramatică echivalentă cu un singur neterminal ?
Ce limbaj generează gramatica dacă sunt eliminate utlimele două
reguli?

LFAC (2019-20) Curs 1 20 / 36


Mecanisme de generare a limbajelor: gramatici

Exemplu

L = {an bn |n ≥ 1}
Definiţia inductivă:
ab ∈ L
Daca X ∈ L, atunci aXb ∈ L
Nici un alt cuvânt nu face parte din L

LFAC (2019-20) Curs 1 21 / 36


Mecanisme de generare a limbajelor: gramatici

Exemplu

L = {an bn |n ≥ 1}
Definiţia inductivă:
ab ∈ L
Daca X ∈ L, atunci aXb ∈ L
Nici un alt cuvânt nu face parte din L
Definiţia generativă:
G = ({X }, {a, b}, X , P), unde P = {X → aXb, X → ab}
Derivarea cuvântului a3 b3 :
X ⇒ aXb ⇒ a(aXb)b ⇒ aa(ab)bb

LFAC (2019-20) Curs 1 21 / 36


Mecanisme de generare a limbajelor: gramatici

Exemplu

L = {an bn c n |n ≥ 1}
G = (N, T , S, P), N = {S, X }, T = {a, b, c}, P constă din:
1 S → abc
2 S → aSXc
3 cX → Xc
4 bX → bb

Derivarea cuvântului a3 b3 c 3 :
S ⇒(2) aSXc ⇒(2) aaSXcXc ⇒(1) aaabcX cXc ⇒(3)
aaabX ccXc ⇒(4) aaabbccX c ⇒(3) aaabbcX cc ⇒(3)
aaabbX ccc ⇒(4) aaabbbccc = a3 b3 c 3

LFAC (2019-20) Curs 1 22 / 36


Ierarhia lui Chomsky

Limbaje Formale, Automate şi Compilatoare - Curs 1

1 Prezentare curs

2 Limbaje formale

3 Mecanisme de generare a limbajelor: gramatici

4 Ierarhia lui Chomsky

5 Limbaje şi gramatici de tip 3 (regulate)

LFAC (2019-20) Curs 1 23 / 36


Ierarhia lui Chomsky

Ierarhia lui Chomsky

1 Gramatici de tip 0 (generale)


Nu exista restrictii asupra regulilor

LFAC (2019-20) Curs 1 24 / 36


Ierarhia lui Chomsky

Ierarhia lui Chomsky

1 Gramatici de tip 0 (generale)


Nu exista restrictii asupra regulilor
2 Gramatici de tip 1 (dependente de context)
reguli de forma pxq → pyq unde x ∈ N, y 6= ǫ, p, q ∈ (N ∪ T )∗ ,
S → ǫ, caz ı̂n care S nu apare ı̂n dreapta regulilor

LFAC (2019-20) Curs 1 24 / 36


Ierarhia lui Chomsky

Ierarhia lui Chomsky

1 Gramatici de tip 0 (generale)


Nu exista restrictii asupra regulilor
2 Gramatici de tip 1 (dependente de context)
reguli de forma pxq → pyq unde x ∈ N, y 6= ǫ, p, q ∈ (N ∪ T )∗ ,
S → ǫ, caz ı̂n care S nu apare ı̂n dreapta regulilor
3 Gramatici de tip 2 (independente de context)
reguli de forma A → y unde A ∈ N şi y ∈ (N ∪ T )∗

LFAC (2019-20) Curs 1 24 / 36


Ierarhia lui Chomsky

Ierarhia lui Chomsky

1 Gramatici de tip 0 (generale)


Nu exista restrictii asupra regulilor
2 Gramatici de tip 1 (dependente de context)
reguli de forma pxq → pyq unde x ∈ N, y 6= ǫ, p, q ∈ (N ∪ T )∗ ,
S → ǫ, caz ı̂n care S nu apare ı̂n dreapta regulilor
3 Gramatici de tip 2 (independente de context)
reguli de forma A → y unde A ∈ N şi y ∈ (N ∪ T )∗
4 Gramatici de tip 3 (regulate)
reguli A → u sau A → uB unde A, B ∈ N şi u ∈ T ∗ .

LFAC (2019-20) Curs 1 24 / 36


Ierarhia lui Chomsky

Exemple
Tip 1: pxq → pyq unde x ∈ N, y 6= ǫ, p, q ∈ (N ∪ T )∗ , S → ǫ
G = (N, T , S, P), N = {S, A, B}, T = {a, b, c}, P:
(1)S → aaAc
(2)aAc → aAbBc
(3)bB → bBc
(4)Bc → Abc
(5)A → a
Gramatica tip 1
G = (N, T , S, P), N = {S, X }, T = {a, b, c}, P:
(1)S → abc
(2)S → aSXc
(3)cX → Xc (nu este regulă de tip 1!, gramatica va fi de tip 0)
(4)bX → bb
LFAC (2019-20) Curs 1 25 / 36
Ierarhia lui Chomsky

Exemple
Tip 2: A → y unde A ∈ N şi y ∈ (N ∪ T )∗
Tip3: A → u sau A → uB unde A, B ∈ N şi u ∈ T ∗ .
G:
(1)x → axb
(2)x → ǫ
(Gramatică tip 2)
G:
(1)x → ax
(2)x → bx
(3)x → ǫ
(Gramatică tip 3)

LFAC (2019-20) Curs 1 26 / 36


Ierarhia lui Chomsky

Exemple

Fie
G = ({E}, {a, +, −, (, )}, E, {E → a, E → (E + E), E → (E − E)})
.
Ce tip are gramatica G ?
Construiti derivari din E pentru cuvintele (a + a) si ((a + a) − a)
Cuvantul (a + a − a) poate fi derivat din E?
Descrieti limbajul L(G)
Fie G = ({A, B}, {a, b}, A, {A → aA, A → B, B → bB, B → ǫ})
Ce tip are gramatica G ?
Descrieti limbajul L(G)

LFAC (2019-20) Curs 1 27 / 36


Ierarhia lui Chomsky

Clasificarea limbajelor

Un limbaj L este de tipul j daca exista o gramatica G de tipul j


astfel incat L(G) = L, unde j ∈ {0, 1, 2, 3}.
Vom nota cu Lj clasa limbajelor de tipul j, unde j ∈ {0, 1, 2, 3}.
Are loc: L3 ⊂ L2 ⊂ L1 ⊂ L0
Incluziunile sunt stricte:
orice limbaj de tip j + 1 este si de tip j ∈ {0, 1, 2}
exista limbaje de tip j care nu sunt de tip j + 1, j ∈ {0, 1, 2}

LFAC (2019-20) Curs 1 28 / 36


Ierarhia lui Chomsky

Proprietăţi

Fiecare din familiile Lj cu 0 ≤ j ≤ 3 contine toate limbajele finite


Fiecare din familiile Lj cu 0 ≤ j ≤ 3 este inchisa la operatia de
reuniune:

L1 , L2 ∈ Lj =⇒ L1 ∪ L2 ∈ Lj ,

∀j : 0 ≤ j ≤ 3

LFAC (2019-20) Curs 1 29 / 36


Ierarhia lui Chomsky

Notaţii alternative pentru gramatici de tip 2: BNF

LFAC (2019-20) Curs 1 30 / 36


Ierarhia lui Chomsky

gramatici DTD

generează mulţimea documentelor XML cu o anumită structură


(limbaj independent de context)

LFAC (2019-20) Curs 1 31 / 36


Ierarhia lui Chomsky

gramatici DTD

Un ”cuvânt” din limbajul generat de gramtica DTD:

LFAC (2019-20) Curs 1 32 / 36


Ierarhia lui Chomsky

XML Schema

- rol similar gramaticilor DTD

LFAC (2019-20) Curs 1 33 / 36


Limbaje şi gramatici de tip 3 (regulate)

Limbaje Formale, Automate şi Compilatoare - Curs 1

1 Prezentare curs

2 Limbaje formale

3 Mecanisme de generare a limbajelor: gramatici

4 Ierarhia lui Chomsky

5 Limbaje şi gramatici de tip 3 (regulate)

LFAC (2019-20) Curs 1 34 / 36


Limbaje şi gramatici de tip 3 (regulate)

Gramatici de tip 3

O gramatică G = (N, T , S, P) este de tip 3 dacă regulile sale au


forma: A → u sau A → uB unde A, B ∈ N şi u ∈ T ∗ .
Exemplu: G = ({D}, {0, 1, ..., 9}, D, P)
Unde P este:
D → 0D|1D|2D| . . . |9D
D → 0|1| . . . |9

LFAC (2019-20) Curs 1 35 / 36


Limbaje şi gramatici de tip 3 (regulate)

Exemple

Fie gramatica G = ({A, B}, {l, d}, A, P) unde P este:


A → lB, B → lB|dB|ǫ (l = litera, d = cifra)

LFAC (2019-20) Curs 1 36 / 36


Limbaje şi gramatici de tip 3 (regulate)

Exemple

Fie gramatica G = ({A, B}, {l, d}, A, P) unde P este:


A → lB, B → lB|dB|ǫ (l = litera, d = cifra)
L(G): multimea identificatorilor
Fie gramatica G = ({A, B}, {+, −, d}, A, P) unde P este:
A → +dB| − dB|dB, B → dB|ǫ (d = cifra)

LFAC (2019-20) Curs 1 36 / 36


Limbaje şi gramatici de tip 3 (regulate)

Exemple

Fie gramatica G = ({A, B}, {l, d}, A, P) unde P este:


A → lB, B → lB|dB|ǫ (l = litera, d = cifra)
L(G): multimea identificatorilor
Fie gramatica G = ({A, B}, {+, −, d}, A, P) unde P este:
A → +dB| − dB|dB, B → dB|ǫ (d = cifra)
L(G): multimea constantelor intregi

LFAC (2019-20) Curs 1 36 / 36

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