Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
30.03.2017
Astzi
1 Introducere n analiza sintactic
Analiza sintactic LL
Recursivitate stng
2 Parser recursiv
Factorizare stnga
Eliminarea ambiguitilor
1
4/12/2017
Structura detaliat
Analiza sintactic
Verifica formarea corecta (cf. gramaticii) a
constructiilor din limbaj
Analiza lexical cuvinte
Analiza sintactica propozitii
Primeste un sir de atomi lexicali, construieste un
arbore de derivare
Structura utila in final este un arbore sintactic
Folosita in front-end-ul unui interpretor /
compilator
Dar si de catre IDE: syntax highlight, navigare prin
cod, refactoring
2
4/12/2017
Exemplu
3
4/12/2017
4
4/12/2017
10
5
4/12/2017
Analiza LL, LR
Vrem sa evitam backtrackingul
O clas de gramatici independente de context care
permit o analiza determinist.
Alg. LL(k) analizeaza left-to-right, derivare stanga
Alg. LR(k) analizeaza left-to-right, derivare dreapta
K lookahead (cati tokeni sunt cititi)
LL(k) <LR(k)
Algoritmul folosit nu depinde de limbaj, gramatica
da.
12
6
4/12/2017
13
Recursivitate stnga
14
7
4/12/2017
Recursivitate stnga
15
Gramatici de tip 2
recursivitate stng
16
8
4/12/2017
Exemplu
17
18
9
4/12/2017
Exemplu
19
20
10
4/12/2017
21
22
11
4/12/2017
24
12
4/12/2017
25
26
13
4/12/2017
27
28
14
4/12/2017
29
30
15
4/12/2017
Factorizare stnga
31
Factorizare stnga
32
16
4/12/2017
Eliminarea ambiguitilor
33
Eliminarea ambiguitilor
34
17
4/12/2017
Dangling else
35
Dangling else
36
18
4/12/2017
Automatizarea parsrii
Echivalenta cu un automat push-down
Parsarea se poate face cu un automat si o
tabela.
37
Data viitoare
Automate push-down
1 Parsere LL
2 Analiza sintactic LR
38
19
4/12/2017
NTREBRI?
20