Compilatoare. Analiza sintactică - LR

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Compilatoare. Analiza sintactică - LR"

Transcript

1 Compilatoare Analiza sintactică - LR

2 Ce am facut pana acum Structura generala a unui compilator Analiza top-down (LL) Urmeaza: Analiza bottom-up (LR) Analiza semantica Generare de cod Optimizari

3 Sumar pt. cursul trecut Analiza descendenta urmareste derivarea stanga Doua tipuri: Descendent recursiva parsere de mana ; design pe baza de diagrame de tranzitii Poate fi predictiva sau cu backtracking Cum? LL bazat pe tabele (construite cu FIRST,FOLLOW) pentru generatoare de parsere (de ex. JavaCC, ANTLR) In general, predictive ANTLR are backtracking Unde are backtracking? Analizoarele predictive nu functioneaza pe gramatici recursive stanga, nefactorizate, cu ambiguitati

4 Analiza descendent recursiva Nonterminal A -> a1 a2 an A() { if lookahead FIRST(a1 FOLLOW(A)) code for a1... else if lookahead FIRST(a2 FOLLOW(A)) code for a else if lookahead FIRST(an FOLLOW(A)) code for an... else ERROR(); } Terminal (sym) MATCH(sym)() { if (lookahead == sym) lookahead = NEXTSYM(); else ERROR(); }

5 Terminologie: LL vs LR LL(k) Scaneaza intrarea Left-to-right Left-most derivation deriveaza mereu cel mai din stanga neterminal k simboluri de lookahead Face o traversare in pre-ordine a arborelui de parsare LR(k) Scaneaza intrarea Left-to-right Right-most derivation deriveaza cel mai din dreapta neterminal k simboluri de lookahead Face o traversare in post-ordine a arborelui de parsare

6 Algoritmi LL LL(1) cauta 1 simbol LL(k) cauta k simboluri (k=finit) Full LL(k) vs. Strong LL(k) LL(*) - cauta un sir de simboluri definit de un AFD (limbaj regulat) Mai multe informatii LL(*) - The definitive ANTLR reference Grune,Jacobs - Parsing Techniques (

7 ANALIZA ASCENDENTA

8 Parserul ascendent Un parser ascendent, sau parser shift-reduce, incepe de la frunze si construieste spre varf arborele de derivare Pasii de reducere urmaresc o derivare dreapta in ordine inversa Sa consideram GRAMATICA: S aabe A Abc b B d Vrem sa parsam sirul de Intrare abbcde. (Aho,Sethi,Ullman, pp. 195)

9 Exemplu de parser ascendent Intrare: a b b c d e $ Iesire: Productia S aabe A Abc A b B d Parser ascendent (Aho,Sethi,Ullman, pp. 195)

10 Exemplu de parser ascendent Intrare: a b b c d e $ Iesire: Productia S aabe A Abc A b B d Parser ascendent A b (Aho,Sethi,Ullman, pp. 195)

11 Exemplu de parser ascendent Intrare: a A b c d e $ Iesire: Productia S aabe A Abc A b B d Parser ascendent A b (Aho,Sethi,Ullman, pp. 195)

12 Exemplu de parser ascendent Intrare: a A b c d e $ Iesire: Productia S aabe A Abc A b B d Parser ascendent A b Nu reducem in acest exemplu. Un parser ar reduce, s-ar impotmoli si ar trebui sa faca backtracking! (Aho,Sethi,Ullman, pp. 195)

13 Exemplu de parser ascendent Intrare: a A b c d e $ Iesire: Productia S aabe A Abc A b B d Parser ascendent A b A b c (Aho,Sethi,Ullman, pp. 195)

14 Exemplu de parser ascendent Intrare: a A d e $ Iesire: Productia S aabe A Abc A b B d Parser ascendent A b A b c (Aho,Sethi,Ullman, pp. 195)

15 Exemplu de parser ascendent Intrare: a A d e $ Iesire: Productia S aabe A Abc A b B d Parser ascendent A b A b c B d (Aho,Sethi,Ullman, pp. 195)

16 Exemplu de parser ascendent Intrare: a A B e $ Iesire: Productia S aabe A Abc A b B d Parser ascendent A b A b c B d (Aho,Sethi,Ullman, pp. 195)

17 Exemplu de parser ascendent Intrare: a A B e $ Iesire: S Productia S aabe A Abc A b B d Parser ascendent a A b A b c B d e (Aho,Sethi,Ullman, pp. 195)

18 Exemplu de parser ascendent Intrare: S $ Iesire: S Productia S aabe A Abc A b B d Parser ascendent a A b A b c B d e Acest parser este cunoscut ca Parser LR fiindca scaneaza Intrarea Left to right, si construieste Rightmost derivation in ordine inversa. (Aho,Sethi,Ullman, pp. 195)

19 Exemplu de parser ascendent Scanarea Productiilor pentru a detecta potrivirea cu subsiruri din Intrare, si backtrackingul face metoda din exemplul precedent foarte ineficienta. Se poate mai bine?

20 Exemplu de parser LR Intrare S t i v a Algoritm de parsare LR Iesire action goto (Aho,Sethi,Ullman, pp. 217)

21 Exemplu de parser LR Urmatoarea GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Poate fi parsata cu urmatoarele tabele action si goto State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 (Aho,Sethi,Ullman, pp. 219)

22 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id + id id $ Iesire: Stiva: E0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 (Aho,Sethi,Ullman, pp. 220)

23 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E5 id 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 F id (Aho,Sethi,Ullman, pp. 220)

24 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 F id (Aho,Sethi,Ullman, pp. 220)

25 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E3 F 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id (Aho,Sethi,Ullman, pp. 220)

26 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id (Aho,Sethi,Ullman, pp. 220)

27 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E2 T 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id (Aho,Sethi,Ullman, pp. 220)

28 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E7 2 T LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 0 T F id (Aho,Sethi,Ullman, pp. 220)

29 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E5 id 7 2 T 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F F id id (Aho,Sethi,Ullman, pp. 220)

30 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E7 2 T 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F F id id (Aho,Sethi,Ullman, pp. 220)

31 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E10 F 7 2 T 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id T F id (Aho,Sethi,Ullman, pp. 220)

32 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: 0 LR Parsing Program T State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id F id (Aho,Sethi,Ullman, pp. 220)

33 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: 2 T LR Parsing Program 0 T E State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id F id (Aho,Sethi,Ullman, pp. 220)

34 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: 0 LR Parsing Program E T State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id F id (Aho,Sethi,Ullman, pp. 220)

35 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: 1 E 0 LR Parsing Program E T State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id F id (Aho,Sethi,Ullman, pp. 220)

36 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id E T F id (Aho,Sethi,Ullman, pp. 220)

37 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: 5 id E 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id E T F F id id (Aho,Sethi,Ullman, pp. 220)

38 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 (Aho,Sethi,Ullman, pp. 220) T F id E T F id F id

39 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: 3 F E 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id E T T F F id id (Aho,Sethi,Ullman, pp. 220)

40 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: Stiva: E 0 LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 (Aho,Sethi,Ullman, pp. 220) T F id E T F id F id

41 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Stiva: 9 T E 0 Exemplu de parser LR Intrare: id id + id $ LR Parsing Program State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id Iesire: E T E + F id T F id (Aho,Sethi,Ullman, pp. 220)

42 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Exemplu de parser LR Intrare: id id + id $ Iesire: E Stiva: 0 LR Parsing Program E + T T F State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id F id id (Aho,Sethi,Ullman, pp. 220)

43 GRAMATICA: (1) E E + T (2) E T (3) T T F (4) T F (5) F ( E ) (6) F id Stiva: 1 E Exemplu de parser LR Intrare: id id + id $ LR Parsing Program Iesire: 0 F E T E + T State action goto id + * ( ) $ E T F 0 s5 s s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 T F id F id id (Aho,Sethi,Ullman, pp. 220)

44 Construirea tabelelor de parsare Toate parserele LR folosesc acelasi algoritm pe care l-am aratat in slide-urile precedente. Diferentierea intre ele se face prin tabelele action si goto Simple LR (SLR): merge pe cele mai putine GRAMATICI, dar e cel mai usor de implementat (AhoSethiUllman pp ). Canonical LR: merge pe cele mai multe GRAMATICI, dar e cel mai greu de implementat. Imparte starile cand e necesar pentru a preveni reduceri care ar bloca parserul. (AhoSethiUllman pp ). Lookahead LR (LALR): merge pe majoritatea constructiilor sintactice folosite in limbajele de programare, dar produce tabele mult mai mici decat Canonical LR. (AhoSethiUllman pp ).

45 Analiza sintactica Shift-Reduce Actiunile analizorului : o secventa de operatii shift si reduce Starea analizorului : O stiva de terminali si neterminali, si o stiva de stari Pasul curent in analiza e dat atat de stiva cat si de banda de intrare

46 Actiuni Shift-Reduce Parsarea e o secventa de actiuni shift si reduce Shift: muta token-ul de look-ahead pe stiva stiva intrare actiune ( 1+2+(3+4))+5 shift 1 (1 +2+(3+4))+5 Reduce: Inlocuieste simbolurile din varful stivei cu simbolul neterminal X din partea stanga a productiei X (adica: pop, push X) stiva intrare actiune (S+E +(3+4))+5 reduce S S+ E (S +(3+4))+5

47 Analiza Shift-Reduce S S + E E E num (S) derivarea stiva sir de intrare actiune (1+2+(3+4))+5 (1+2+(3+4))+5 shift (1+2+(3+4))+5 ( 1+2+(3+4))+5 shift (1+2+(3+4))+5 (1 +2+(3+4))+5 reduce E num (E+2+(3+4))+5 (E +2+(3+4))+5 reduce S E (S+2+(3+4))+5 (S +2+(3+4))+5 shift (S+2+(3+4))+5 (S+ 2+(3+4))+5 shift (S+2+(3+4))+5 (S+2 +(3+4))+5 reduce E num (S+E+(3+4))+5 (S+E +(3+4))+5 reduce S S+E (S+(3+4))+5 (S +(3+4))+5 shift (S+(3+4))+5 (S+ (3+4))+5 shift (S+(3+4))+5 (S+( 3+4))+5 shift (S+(3+4))+5 (S+(3 +4))+5 reduce E num...

48 Probleme (selectarea actiunii) De unde stim ce actiune sa aplicam: shift sau reduce? Si cu ce regula sa reducem? Uneori putem reduce dar nu e bine sa o facem am ajunge cu analiza intr-un punct mort (sau nu am respecta precedenta operatorilor) Uneori putem reduce stiva in mai multe feluri, nu intr-un singur fel

49 Selectarea actiunii Starea curenta: stiva simbolul look-ahead b exista productia X, si stiva e de forma = Ar trebui analizorul sa: Shifteze b pe stiva, trasformand-o in b? Reduca aplicand productia X, presupunand ca stiva e de forma = - si sa o transforme astfel in X? Decizie in functie de b şi de prefixul e diferit pentru productii diferite, deoarece partea dreapta a productiilor( -urile) poate avea lungimi diferite

50 Algoritmul de parsare LR Mecanismul de baza Folosim un set de stari ale parser-ului Folosim o stiva de stari (eventual, alternam simboluri cu stari) De ex., 1 ( 6 S (verde = stari) Folosim tabela de parsare pentru: A determina ce actiune se aplica (shift/reduce) A determina starea urmatoare Actiunile analizorului pot fi determinate cu exactitate din tabelele de parsare

51 Tabela de parsare LR Terminali Non-terminali Stare Actiunea si starea urmatoare Starea urmatoare Tabela action Tabela Goto Algoritm: ne uitam la starea curenta S si terminalul C de la intrare Daca Action[S,C] = s(s ) atunci shift si trece in S : push(c), push(s ) Daca Action[S,C] = X atunci reduce : pop(2* ), S = top(), push(x), push(goto[s,x])

52 Gramatici LR(k) LR(k) = Left-to-right scanning, right-most derivation, k lookahead tokens Cazurile principale LR(0), LR(1) Variante: SLR and LALR(1) Analizoarele pt. gramatici LR(0): Aleg shift/reduce fara sa se uite la lookahead Incepem cu ele, caci ne vor ajuta sa intelegem parsarea shift-reduce

53 Construirea tableleor de parsare LR(0) Pentru a construi tabela de parsare: Se definesc starile analizorului Se construieste un AFD care descrie tranzitiile dintre stari Se foloseste AFD pt. a construi tabela de parsare Fiecare stare LR(0) e un set de elemente LR(0) Un element LR(0): X. unde X e o productie din gramatica Elementele LR(0) urmaresc progresul tuturor productiilor care ar putea urma Elementul X. abstractizeaza faptul ca parser-ul are deja sirul in varful stivei

54 Exemplu de stare LR(0) Un element LR(0) e o productie din gramatica cu un separator. undeva in partea dreapta a productiei stare E num. E (. S) element Subsirul de dinainte de. e deja pe stiva (inceputul unui posibil sir ce urmeaza a fi redus ) Subsirul de dupa. ne indica ce am putea intalni in continuare

55 Intrebare Pentru productia, E num (S) Doua elemente LR(0) sunt: E num. E (. S ) Mai sunt si altele? Daca da, care? Daca nu, de ce?

56 Gramatica LR(0) Gramatica listelor imbricate S (L) id L S L,S Exemple: (a,b,c) ((a,b), (c,d), (e,f)) (a, (b,c,d), ((f,g))) Arbore de derivare pentru (a, (b,c), d) S ( L ) L, S L, S S a ( S ) L, S S b c d

57 Starea de start si Inchiderile Starea de start Extindem gramatica, cu productia S S Starea de start a AFD : Inchidere(S. S ) Inchiderea unei multimi de elemente LR(0): Incepem cu Inchidere(S) = S Pentru fiecare element din S: X. Y Adauga toate elementele LR(0) de forma Y., pentru toate productiile Y din gramatica

58 Exemplu de inchidere S (L) id L S L,S Elementul LR(0) de start pentru AFD inchidere S. S S. S S. (L) S. id - Setul tuturor productiilor care ar putea fi reduse in continuare - Elementele adaugate au simbolul. la inceput: nu avem inca tokeni pe stiva, pentru aceste productii.

59 Operatia Goto Operatia Goto descrie tranzitiile intre starile automatului (care sunt multimi de elemente LR(0) ) A nu se confunda cu tabela Goto Algoritm: pentru starea S si simbolul Y Daca elementul [X. Y ] e in I, atunci Goto(I, Y) Inchidere( [X Y. ] ) S. S S. (L) S. id Goto(S, ( ) Inchidere ( { S (. L) } )

60 Intrebari E E E E + T T T T * F F F (E) id Daca I = { [E. E]}, atunci Inchidere(I) =?? Daca I = { [E E. ], [E E. + T] }, atunci Goto(I,+) =??

61 Goto:Simboli terminali (tokeni) S. S S. (L) S. id ( S (. L) L. S L. L, S S. (L) S. id Gramatica S (L) id L S L,S id S id. id ( In starea noua, includem toate elementele care au simbolul potrivit Imediat dupa punct mutam punctul la aceste elemente si aplicam Inchiderea pt. a obtine toate elementele starii.

62 Goto: Simboli neterminali S. S S. (L) S. id ( S (. L) L. S L. L, S S. (L) S. id L S S (L. )L L L., S L S. id S id. id ( Gramatica S (L) id L S L,S Acelasi algoritm pentru tranzitii pe neterminali

63 Aplicarea actiunilor de reducere S. S S. (L) S. id id Gramatica S (L) id L S L,S ( S id. S (. L) L. S L. L, S S. (L) S. id L id ( S S (L. )L L L., S L S. Stari care implica reduceri (punctul a ajuns la sfarsit!)

64 AFD Complet S. S id S id. id L L,. S L L,S. S. (L) S S. (L) id 3 S. id S. id ( S (. L), 5 L. S L L. L, S S (L. ) S S. (L) L L., S S. id ) 6 ( 4 S 7 S (L). S S. $ Stare finala/acceptare L S. Gramatica S (L) id L S L,S

65 Exemplu de parsare ((a),b) Derivare stiva intrare actiune ((a),b) 1 ((a),b) shift, goto 3 ((a),b) 1(3 (a),b) shift, goto 3 ((a),b) 1(3(3 a),b) shift, goto 2 ((a),b) 1(3(3a2 ),b) reduce S id ((S),b) 1(3(3(S7 ),b) reduce L S ((L),b) 1(3(3(L5 ),b) shift, goto 6 ((L),b) 1(3(3L5)6,b) reduce S (L) (S,b) 1(3S7,b) reduce L S (L,b) 1(3L5,b) shift, goto 8 (L,b) 1(3L5,8 b) shift, goto 9 (L,b) 1(3L5,8b2 ) reduce S id (L,S) 1(3L8,S9 ) reduce L L,S (L) 1(3L5 ) shift, goto 6 (L) 1(3L5)6 reduce S (L) S 1S4 $ acceptare S (L) id L S L,S

66 Reduceri Cand reducem cu productia X si stiva Pop de pe stiva ramane prefixul Fa un singur pas in AFD, plecand de la starea care e acum in varful stivei Push X pe stiva, impreuna cu noua stare a AFD Exemplu derivare stiva intrare actiune ((a),b) 1 ( 3 ( 3 a),b) shift, goto 2 ((a),b) 1 ( 3 ( 3 a 2 ),b) reduce S id ((S),b) 1 ( 3 ( 3 S 7 ),b) reduce L S

67 Construirea tabelei de parsare LR(0) Starile din tabela = starile din AFD Pentru tranzitia S S pe terminalul C: Action[S,C] += Shift(S ) Pentru tranzitia S S pe neterminalul N: Goto[S,N] += S Daca S e stare de reducere X. atunci: Action[S,*] += Reduce(X )

68 Stare Tabela de parsare LR din exemplul nostru Tokeni/terminali Neterminali ( ) id, $ S L 1 s3 s2 g4 2 S id S id S id S id S id 3 s3 s2 g7 g5 4 accept 5 s6 s8 6 S (L) S (L) S (L) S (L) S (L) 7 L S L S L S L S L S 8 s3 s2 g9 9 L L,S L L,S L L,S L L,S L L,S Verde = shift rosu = reduce

69 Sumarul LR(0) Reteta de parsare LR(0): Pornim cu o gramatica LR(0) Calculam starile LR(0) si construim AFD: Folosim operatia de inchidere pentru a construi stari Folosim operatia goto pentru a calcula tranzitii Construim tabela de parsare LR(0) din AFD Toate acestea pot fi facute automat!

70 Limitarile LR(0) O masina LR(0) functioneaza doar daca starile cu actiuni reduce au o singura actiune (de reducere) in acele stari, se reduce mereu, ignorand lookaheadul Cu o gramatica mai complexa, construirea tabelelor ne-ar da stari cu conflicte shift/reduce sau reduce/reduce Trebuie folosit lookahead pt. a putea alege corect OK shift/reduce reduce/reduce L L, S. L L, S. S S., L L S, L. L S.

71 O gramatica non-lr(0) Gramatica pentru adunarea numerelor S S + E E E num Scrisa asa e LR(0) Scrisa cu recursivitate dreapta nu e LR(0) S E + S E E num

72 Cum am face AFD pt. LR(0) S. S E + S E. +S S.E + S S. E S E. E E.num num num S 4 E num. $ S S. accept 7 S E +. S S. E + S S. E E. num 5 S S E + S. Gramatica S E + S E E num Shift sau reduce in starea 2? num + $ E S 1 s4 g2 g6 2 S E s3/s E S E

73 Parsarea SLR SLR = Simple LR = O extensie simpla a LR(0) Pentru fiecare reducere X, ne uitam la urmatorul simbol C Aplicam reducerea doar daca C e in FOLLOW(X) Tabelele SLR elimina o parte din conflicte Sunt la fel ca LR(0) cu exceptia randurilor de reducere Adauga reduceri X doar in coloanele cu simboli corespunzand lui FOLLOW(X) Exemplu: FOLLOW(S) = {$} num + $ E S 1 s4 g2 g6 2 s3 S E

74 Tabela de parsare SLR Reducerile nu mai ocupa un rand intreg ca in cazul LR(0) In rest, identic cu LR(0) num + $ E S 1 s4 g2 g6 2 s3 S E 3 s4 g2 g5 4 E num E num 5 S E+S 6 s7 7 accept Gramatica S E + S E E num

75 Automatul pt. SLR S. S E S E. +S + E S.E + S S E. S. E $ : reduce E.num num num S E num. + $ : reduce S S. $ accept S E +. S S. E + S S. E E. num 4 5 S Gramatica 7 S E + S. $ : reduce num + $ E S 1 s4 g2 g6 2 s3 S E S E + S E E num

76 Un exemplu non-slr Fie gramatica: S L = R S R L *R L ident R L L este l-value, R este r-value, si * e dereferentiere de pointer. Exemple: ident *ident ident = *ident **ident = ident

77 DFA pentru SLR * S.S S.L=R S.R L.*R L.ident R.L S S S. $ : accept R * ident L S R. $ : reduce S L.=R R L. $ = : reduce = S L=.R L.*R L.ident R.L * R L R L. $ = : reduce L *.R L.*R L.ident R.L L ident R S L = R S R L *R L ident R L L *R. $ = : reduce Follow: S : $ L : $ = R : $ = L ident. $ = : reduce ident S L=R. $ : reduce Urmariti tranzitiile pt. ident ident=ident

78 LALR(1) SLR: Decizia de reduce pentru X-> se face doar daca urmatorul simbol e in FOLLOW(X) LALR(1): Fiecare productie are un set de simboli care ii pot urma. X->, S se reduce doar daca urmatorul simbol e in S. Seturile se pot calcula prin aplicarea recursiva a regulilor: S.S, {$} B α.aβ c in FIRST(β) A.Xδ, {c} B α.aβ, {c} c FOLLOW(β) β * ε A.Xδ, {c} X α.xβ, c X αx.β, c S.S, {$} S.L=R S.R L.*R L.ident R.L S.S, {$} S.L=R S.R L.*R, {=} L.ident, {=} R.L S.S, {$} S.L=R, {$} S.R, {$} L.*R, {= $} L.ident, {= $} R.L, {$} L.ident, {= $} L ident., {= $}

79 DFA pentru LALR S.S {$} S.L=R {$} S.R {$} L.*R {= $} L.ident {= $} R.L {$} S S S. {$} $ : accept R * ident S R. {$} $ : reduce L S L.=R {$} R L. {$} $ : reduce = S L=.R {$} L.*R {$} L.ident {$} R.L {$} * L R R L. {=$} $ = : reduce L *.R {=$} L.*R {=$} L.ident {=$} R.L {=$} L * ident R L *R. {$ =} $ = : reduce S L = R S R L *R L ident R L ident S L=R. {$} $ : reduce L ident. {$ =} $ = : reduce

80 Limitari LALR(1) Exista gramatici ce pot fi recunoscute cu un singur simbol lookahead, dar nu de algoritmul LALR(1) DEF PARAM RETURN, PARAM T PARAM NAMES : T RETURN T RETURN N : T NAMES N Exemple: id id, T T, id,id:id id, N,N:T T, id id:id, T N:T, Int String, a,b:int String, a result:string, NAMES N, NAMES T id N id LALR(1) nu poate separa T de N atunci cand sunt urmate de caracterul,

81 Limitari LALR(1) O portiune din automatul LALR: S ->.DEF {$} DEF ->.PARAM RETURN, {$} PARAM ->.TYPE {id} PARAM ->.NAMES : TYPE {id} TYPE ->.id {id} NAMES ->.NAME {:} NAMES ->.NAME, NAMES {:} NAME ->.id {:,} PARAM DEF -> PARAM.RETURN, {$} RETURN ->.TYPE {,} RETURN ->.NAME:TYPE {,} TYPE ->.id {,} NAME ->.id {:} id id TYPE -> id. { id, } NAME -> id. { :, } DEF PARAM RETURN, PARAM T PARAM NAMES : T RETURN T RETURN N : T NAMES N NAMES N, NAMES T id N id

82 LR(1) vs. LALR(1) Solutia doua contexte diferite pornind de la aceleasi elemente LR(0): S ->.DEF {$} DEF ->.PARAM RETURN, {$} PARAM ->.TYPE {id} PARAM ->.NAMES : TYPE {id} TYPE ->.id {id} NAMES ->.NAME {:} NAMES ->.NAME, NAMES {:} NAME ->.id {:,} PARAM DEF -> PARAM.RETURN, {$} RETURN ->.TYPE {,} RETURN ->.NAME:TYPE {,} TYPE ->.id {,} NAME ->.id {:} id id TYPE -> id. { id } NAME -> id. { :, } TYPE -> id. {, } NAME -> id. { : } DEF PARAM RETURN, PARAM T PARAM NAMES : T RETURN T RETURN N : T NAMES N NAMES N, NAMES T id N id

83 Parsarea LR(1) Scoate cel mai mult posibil din 1 simbol de lookahead Gramatica LR(1) = analizabila de un parser shift/reduce cu lookahead 1 Analiza LR(1) foloseste concepte similare cu LR(0) Starile parserului = multimi de elemente LR(1) Element LR(1) = element LR(0) + simbol lookahead care poate urma dupa productie Element LR(0) : S. S + E Element LR(1) : S. S + E, + Lookahead are impact doar asupra operatiilor REDUCE, care se pot aplica doar atunci cand lookahead = input

84 Stari LR(1) Stare LR(1) = multime de elemente LR(1) Element LR(1) = (X., y) Insemnand: este deja pe varful stivei, ma astept sa urmeze in continuare y Notatie prescurtata (X., {x1,..., xn}) inseamna: (X., x1)... (X., xn) S S. + E +,$ S S +. E num Trebuie sa extindem operatiile inchidere si goto

85 Inchidere LR(1) Operatia de inchidere LR(1) : Incepem cu Inchidere(S) = S Pentru fiecare element din S: X. Y, z si fiecare productie Y, adaugam urmatorul element la inchiderea lui S: Y., FIRST( z) Repetam pana nu mai sunt schimbari Similar cu inchiderea LR(0), dar tine cont si de simbolul de lookahead

86 Starea de start LR(1) Starea initiala : incepem cu (S. S, $), apoi aplicam operatia de inchidere Exemplu: gramatica sumelor S S $ S E + S E E num S. S, $ inchidere S. S, $ S. E + S, $ S. E, $ E. num, +,$

87 Operatia Goto in LR(1) Operation goto = descrie tranzitii intre stari LR(1) Algoritm: pentru o stare S si un simbol Y (ca si la LR(0) ) Daca elementul [X. Y, a] este in I, atunci Goto(I, Y) = Inchidere ( [X Y.,a ] ) Gramatica: S S$ S E + S E E num S1 S E. + S, $ S E., $ Goto(S1, + ) S2 Inchidere({S E +. S, $})

88 Intrebari 1. Calculati: Inchidere (I = {S E +. S, $}) 2. Calculati: Goto(I, num) Gramatica S S$ S E + S E E num 3. Calculati: Goto(I, E)

89 Construirea AFD pt. LR(1) Daca S = goto(s,x) atunci adauga arc etichetat x de la S la S S. S, $ S. E + S, $ S. E, $ E.num, +,$ E S E. + S, $ S E., $ S E+S., +,$ S num + E S S S., $ E num., +,$ num S E +. S, $ S. E + S, $ S. E, $ E. num, +,$ Gramatica S S$ S E + S E E num

90 Reducerile in LR(1) Reducerile corespund elementelor LR(1) de forma (X., y) S. S, $ S. E + S, $ S. E, $ E.num, +,$ E S E. + S, $ S E., $ S E., +,$ S num + E S S S., $ E num., +,$ num S E +. S, $ S. E + S, $ S. E, $ E. num, +,$ Gramatica S S$ S E + S E E num

91 Construirea tabelelor LR(1) La fel ca la LR(0), cu exceptia reducerilor Pentru o tranzitie S S pe terminalul x: Action[S,x] = Shift(S ) Pt. o tranzitie S S pe neterminalul N: Goto[S,N] = S Daca I contine {(X., y)} atunci: Action[I,y] = Reduce(X )

92 LR(1) Exemplu de tabela 1 2 S. S, $ S. E + S, $ S. E, $ E.num, +,$ E S E. + S, $ S E., $ + 3 S E +. S, $ S. E + S, $ S. E, $ E. num, +,$ Gramatica S S$ S E + S E E num Fragment din tabela de parsare + $ E 1 g2 2 s3 S E

93 Analizoare LALR(1) Problema principala cu LR(1): prea multe stari Parsarea LALR(1) (aka LookAhead LR) Construieste AFD LR(1) si apoi reuneste orice doua stari LR(1) a caror elemente sunt identice cu exceptia lookahead-ului Produce in practica tabele mult mai mici Teoretic mai putin puternic decat LR(1), practic diferentele se intalnesc foarte rar Gramatica LALR(1) = o gramatica a carei tabela de parsare LALR(1) nu are conflicte Limbaj LALR(1) = un limbaj ce poate fi definit de o gramatica LALR(1)

94 Parserele LALR LALR(1) In general, cam acelasi numar de stari ca si SLR (mult mai putine ca LR(1)) Dar, cu putere de analiza comparabila cu LR(1) (mult mai bine decat SLR)

95 LR(0) vs.slr vs. LR vs. LALR LR(0) cand se poate reduce reduce indiferent de lookahead SLR(1) reducem A->u doar pt. terminalii a FOLLOW(A) LR(1) imparte starile a.i. sa includa si informatie de prefix LALR(1) uneste starile care difera doar prin multimea lookahead/follow (face reuniune pe multimi) LR(0)<SLR(1)<LALR(1)< LR(1) yacc/bison e LALR

96 Limbaje LL vs. LR Stim ca unele gramatici nu sunt LL(k) dar pot fi transformate. Exista limbaje LL(k) ce nu sunt LR(k)? L = { x 2n y 2n e, x 2n+1 y 2n+1 o} LL(k) nu se descurca, oricare ar fi k LR(1) se descurca asteapta sa citeasca e sau o Puteti scrie gramatica? Care e dif. LL(k) vs LL( )? Totusi, LL( ) e la fel de puternic ca LR( )! LR(1) ~ aut. cu stiva determinist; mai slab ca LL( )

97 Clasificarea analizoarelor

98 Automatizarea procesului de parsare Se poate automatiza: Construirea tabelelor de parsare LR/LL Construirea parserelor shift-reduce/top-down bazate pe aceste tabele Generatoarea de parsere LALR(1) yacc, bison In practica, nu e diferenta mare fata de LR(1) Tabele de parsare mai mici decat LR(1) Extind specificatia gramaticilor LALR(1) cu declaratii de precedenta, associativitate Output: program de parsare LALR(1)

99 Asociativitatea S S + E E E num E E + E E num Ce se intampla daca incercam sa construim o tabela LALR? E E + E E num E E + E., + E E. + E, +,$ shift/reduce conflict shift: 1+ (2+3) reduce: (1+2)+3

100 Asociativitatea (2) Daca un operator este asociativ stanga Asignam o valoarea mai mare de precedenta daca e pe stiva de parsare decat daca e pe sirul de intrare Deoarece precedenta stivei e mai mare, reducerea va fi prioritara (ceea ce e corect in cazul asociativitatii stanga) Daca operatorul e asociativ dreapta Asignam o valoare mai mare daca e pe sirul de intrare Deoarece sirul de intrare are precedenta, operatia de shift va avea precedenta (ceea ce e corect in cazul asociativitatii dreapta)

101 Precedenta E E + E T T T x T num (E) E E + E E x E num (E) Ce se intampla daca incercam sa construim o tabela LALR? E E. + E,... E E x E., + E E + E., x E E. x E,... Shift/reduce conflict results Precedenta: ataseaza indicatori de precedenta tokenilor Conflictul shift/reduce e resolvat astfel: 1. Daca precedenta token-ului de intrare mai mare decat ultimul terminal de pe stiva, favorizeaza shift 2. Daca precedenta token-ului de intrare mai mica sau egala decat cea a ultimului terminal de pe stiva, favorizeaza reduce

102 Automatizarea procesului de parsare - ANTLR Problema principala la LL rescrierea gramaticii recursivitatea stanga Foloseste notatie EBNF, mai usor de evitat recursivitatea stanga factorizarea stanga Foloseste predicate sintactice -> backtracking izolat pt. a evita rescrierea gramaticii sau cresterea lookahead-ului Ambiguitati rezolvate in YACC cu precedenta/asociativitate Rezolvate in ANTLR tot cu predicate (semantice)

103 Sumar analiza LL/LR Tabelele de parsare LL Neterminali x terminali productii Calculate folosind FIRST/FOLLOW Tabelele de parsare LR Stari LR x terminali action {shift/reduce} Stari LR x neterminali goto Calculate folosind inchideri/operatii goto pe stari LR Spunem ca o gramatica e: LL(1) daca tabela LL(1) nu are conflicte La fel si la LR(0), SLR, LALR(1), LR(1)

104 Tratarea erorilor Detectie Exista erori de sintaxa? Care este locul erorii? Recuperare din eroare Care sunt toate erorile de sintaxa? Continua analiza dupa prima eroare. Corectarea erorilor Furnizeaza un arbore sintactic partial corect

105 Detectia erorii Primul caracter ce nu poate fi parsat nu este neaparat locul erorii Exemplu: lipsa unui terminator ; } raportata ca o eroare in instructiunea urmatoare Cel mai bine - detectia imediata cand simbolul gresit apare ca lookahead Mai usor de implementat cand se face Match / Shift Strong-LL(k) vs. full LL(k)

106 Recuperare din eroare LR se completeaza casutele lipsa cu actiuni ce trateaza eroarea (manual!) De ex. modul panica : scaneaza pana la urmatorul token ce ar putea termina o productie ( i.e ; } end ) LR error token Se pune in varful stivei un token special, error Se adauga reguli de tratat eroarea de ex. Statement error ; Se scot stari de pe stiva stari pana se poate face o reducere LL FOLLOW set Se citeste intrarea pana apare primul token din FOLLOW() Pentru productia curenta, sau si pentru cele de deasupra din stiva

107 Corectarea erorilor Se insereaza / sterg numarul minim de tokeni pentru a obtine un sir din limbajul descris e gramatica. Unii algoritmi doar insereaza tokeni (pentru a putea parsa un text incomplet). vezi Jacobs / Grune Parsing Techniques

108 LL vs. LALR LL mai usor de scris de mana ; LALR, doar cu generatoare de parsere Un generator te poate ajuta sa gasesti conflicte in gramatica LL mai simplu, ceva mai usor de depanat LALR poate parsa mai multe gramatici dar orice limbaj de programare normal poate fi parsat cam la fel de usor cu LL si LALR Conditionare gramatica trebuie transformata pentru LL (vezi recursivitate stanga ) Daca te descurci cu expresiile, restul e mai usor Dar gramaticile LL tind sa fie mai mari

109 LL vs. LALR (cont) Actiunile semantice mai simple in LL Cod executat oricand in timpul parsarii unei productii, nu doar la momentul reduce Se pot folosi nume de variabile pentru atribute Mai multe amanunte la analiza semantica Recuperarea din eroare e mai simpla in LL Eficienta viteza de rulare si memoria consumata sunt comparabile, in general Pt parsere generate automat In cele din urma, e o problema de disponibilitate a uneltelor fiecare foloseste un parser generator potrivit pentru limbajul pe care il utilizeaza.

110 Arbori sintactici Abstract syntax trees Arbori de parsare simplificati, fara nodurile suplimentare care nu adauga informatie Reprezinta gramatica initiala si nu gramatica scrisa de noi. Este good engineering sa construim arborii sintactici din actiunile semantice ale parserelor Pastreaza in fisierele cu gramatica doar descrierea limbajului E gresit sa faci prea multe lucruri odata, din acelasi cod

111 Backup slides Algoritmi generici de parsare

112 GLR (Tomita) Suporta gramatici non LR(1), ambigue Automat nedeterminist Duplica stiva in cazul unui conflict shift/reduce Exemplu: Gramatica: S v=e ; E E+E ; E id La intrare: v=id 1 +id 2 +id 3 $ v=e+e. +id 3 $ v=e+e+. id 3 $ (shift) v=e. +id 3 $ (reduce)

113 GLR (Tomita) Reducerea numarului de stari Combina prefixele comune Combina stivele ce se termina in aceeasi stare Rezultatul stiva sub forma de graf orientat v=e+e+. id 3 $ v=e+. id 3 $ v= E+E+ E+. id 3 $ Complexitatea? Arborele sintactic e disponibil doar la sfarsitul parsarii

114 Algoritmi generici top-down Unger (1968) Acopera limbajele independente de context. Divide et impera Exemplu: S ABC DE ; input: pqrs Subprobleme: A p, B q, C rs D p, E qrs A p, B qr, C s D pq, E rs A pq, B r, C s D pqr, E s Trebuie detectate derivarile care pot forma bucle. Complexitate?

115 Algoritmi generici bottom-up CYK (Cocke-Younger-Kasami, 1967) Acopera limbajele independente de context. Reducerea gramaticilor la forma normala Chomsky Toate regulile de forma A a sau A BC A ε γ ; B α A β se transforma in B α A β; B αβ; A γ Programare dinamica Complexitate?

Metode iterative pentru probleme neliniare - contractii

Metode iterative pentru probleme neliniare - contractii Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii

Διαβάστε περισσότερα

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele

Διαβάστε περισσότερα

Metode de interpolare bazate pe diferenţe divizate

Metode de interpolare bazate pe diferenţe divizate Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare

Διαβάστε περισσότερα

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a. Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă

Διαβάστε περισσότερα

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,

Διαβάστε περισσότερα

Esalonul Redus pe Linii (ERL). Subspatii.

Esalonul Redus pe Linii (ERL). Subspatii. Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste

Διαβάστε περισσότερα

Curs 4 Serii de numere reale

Curs 4 Serii de numere reale Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni

Διαβάστε περισσότερα

Criptosisteme cu cheie publică III

Criptosisteme cu cheie publică III Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.

Διαβάστε περισσότερα

Curs 1 Şiruri de numere reale

Curs 1 Şiruri de numere reale Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,

Διαβάστε περισσότερα

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:

Διαβάστε περισσότερα

Examen AG. Student:... Grupa:... ianuarie 2011

Examen AG. Student:... Grupa:... ianuarie 2011 Problema 1. Pentru ce valori ale lui n,m N (n,m 1) graful K n,m este eulerian? Problema 2. Să se construiască o funcţie care să recunoască un graf P 3 -free. La intrare aceasta va primi un graf G = ({1,...,n},E)

Διαβάστε περισσότερα

Subiecte Clasa a VIII-a

Subiecte Clasa a VIII-a Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul

Διαβάστε περισσότερα

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică Gh. Asachi Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia

Διαβάστε περισσότερα

riptografie şi Securitate

riptografie şi Securitate riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare

Διαβάστε περισσότερα

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0 Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1 Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui

Διαβάστε περισσότερα

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare 1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe

Διαβάστε περισσότερα

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă. III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element

Διαβάστε περισσότερα

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu INTRODUCERE Laborator 1: ÎN ALGORITMI Întocmit de: Claudia Pârloagă Îndrumător: Asist. Drd. Gabriel Danciu I. NOŢIUNI TEORETICE A. Sortarea prin selecţie Date de intrare: un şir A, de date Date de ieşire:

Διαβάστε περισσότερα

Seminar 5 Analiza stabilității sistemelor liniare

Seminar 5 Analiza stabilității sistemelor liniare Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare

Διαβάστε περισσότερα

Integrala nedefinită (primitive)

Integrala nedefinită (primitive) nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei

Διαβάστε περισσότερα

Subiecte Clasa a VII-a

Subiecte Clasa a VII-a lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate

Διαβάστε περισσότερα

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE. 5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este

Διαβάστε περισσότερα

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,

Διαβάστε περισσότερα

1 INTRODUCERE - ORGANIZAREA UNUI COMPILATOR ELEMENTE DE TEORIA LIMBAJELOR FORMALE... 7

1 INTRODUCERE - ORGANIZAREA UNUI COMPILATOR ELEMENTE DE TEORIA LIMBAJELOR FORMALE... 7 Irina Athanasiu 3/1/2002 Limbaje formale şi automate 1 1 INTRODUCERE - ORGANIZAREA UNUI COMPILATOR... 2 1.1 Analiza lexicala... 4 1.2 Analiza sintactică... 4 1.3 Analiza semantică... 5 1.4 Generarea de

Διαβάστε περισσότερα

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE 5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.

Διαβάστε περισσότερα

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale. 5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța

Διαβάστε περισσότερα

5.4. MULTIPLEXOARE A 0 A 1 A 2

5.4. MULTIPLEXOARE A 0 A 1 A 2 5.4. MULTIPLEXOARE Multiplexoarele (MUX) sunt circuite logice combinaţionale cu m intrări şi o singură ieşire, care permit transferul datelor de la una din intrări spre ieşirea unică. Selecţia intrării

Διαβάστε περισσότερα

MARCAREA REZISTOARELOR

MARCAREA REZISTOARELOR 1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea

Διαβάστε περισσότερα

Asupra unei inegalităţi date la barajul OBMJ 2006

Asupra unei inegalităţi date la barajul OBMJ 2006 Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale

Διαβάστε περισσότερα

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ

Διαβάστε περισσότερα

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R În cele ce urmează, vom studia unele proprietăţi ale mulţimilor din R. Astfel, vom caracteriza locul" unui punct în cadrul unei mulţimi (în limba

Διαβάστε περισσότερα

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μεταγλωττιστές Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανοδική Κατασκευή Συντακτικού Δέντρου κατασκευή δέντρου

Διαβάστε περισσότερα

CAPITOLUL 4 AUTOMATE PUSH-DOWN 4.1. DEFINIREA UNUI AUTOMAT PUSH-DOWN

CAPITOLUL 4 AUTOMATE PUSH-DOWN 4.1. DEFINIREA UNUI AUTOMAT PUSH-DOWN CAPITOLUL 4 AUTOMATE PUSH-DOWN 4.. DEFINIREA UNUI AUTOMAT PUSH-DOWN Am văzut în capitolul 4 că există gramatici independente de context G pentru care nu există o maşini cu stări finite care recunosc n

Διαβάστε περισσότερα

III. Reprezentarea informaţiei în sistemele de calcul

III. Reprezentarea informaţiei în sistemele de calcul Metode Numerice Curs 3 III. Reprezentarea informaţiei în sistemele de calcul III.1. Reprezentarea internă a numerelor întregi III. 1.1. Reprezentarea internă a numerelor întregi fără semn (pozitive) Reprezentarea

Διαβάστε περισσότερα

Sisteme diferenţiale liniare de ordinul 1

Sisteme diferenţiale liniare de ordinul 1 1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2

Διαβάστε περισσότερα

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005. SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care

Διαβάστε περισσότερα

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................

Διαβάστε περισσότερα

Laborator 11. Mulţimi Julia. Temă

Laborator 11. Mulţimi Julia. Temă Laborator 11 Mulţimi Julia. Temă 1. Clasa JuliaGreen. Să considerăm clasa JuliaGreen dată de exemplu la curs pentru metoda locului final şi să schimbăm numărul de iteraţii nriter = 100 în nriter = 101.

Διαβάστε περισσότερα

CAPITOLUL II. MAŞINI CU STĂRI FINITE

CAPITOLUL II. MAŞINI CU STĂRI FINITE CAPITOLUL II. MAŞINI CU STĂRI FINITE În acest capitol introducem conceptul de maşină cu stări finite, numită şi automat finit. Aceste dispozitive matematice îşi au originea în modelarea comportamentului

Διαβάστε περισσότερα

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument:

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument: Erori i incertitudini de măurare Sure: Modele matematice Intrument: proiectare, fabricaţie, Interacţiune măurandintrument: (tranfer informaţie tranfer energie) Influente externe: temperatura, preiune,

Διαβάστε περισσότερα

Examen AG. Student:... Grupa: ianuarie 2016

Examen AG. Student:... Grupa: ianuarie 2016 16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex

Διαβάστε περισσότερα

Principiul incluziunii si excluziunii. Generarea şi ordonarea permutărilor. Principiul porumbeilor. Pri

Principiul incluziunii si excluziunii. Generarea şi ordonarea permutărilor. Principiul porumbeilor. Pri Generarea şi ordonarea permutărilor. Principiul porumbeilor. Principiul incluziunii si excluziunii Recapitulare din cursul trecut Presupunem că A este o mulţime cu n elemente. Recapitulare din cursul trecut

Διαβάστε περισσότερα

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca Conice Lect. dr. Constantin-Cosmin Todea U.T. Cluj-Napoca Definiţie: Se numeşte curbă algebrică plană mulţimea punctelor din plan de ecuaţie implicită de forma (C) : F (x, y) = 0 în care funcţia F este

Διαβάστε περισσότερα

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera Cuprins Scheme de algoritmi Divide et impera Exemplificare

Διαβάστε περισσότερα

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.

Διαβάστε περισσότερα

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB 1.7. AMLFCATOARE DE UTERE ÎN CLASA A Ş AB 1.7.1 Amplificatoare în clasa A La amplificatoarele din clasa A, forma de undă a tensiunii de ieşire este aceeaşi ca a tensiunii de intrare, deci întreg semnalul

Διαβάστε περισσότερα

V O. = v I v stabilizator

V O. = v I v stabilizator Stabilizatoare de tensiune continuă Un stabilizator de tensiune este un circuit electronic care păstrează (aproape) constantă tensiunea de ieșire la variaţia între anumite limite a tensiunii de intrare,

Διαβάστε περισσότερα

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent Laborator 3 Divizorul de tensiune. Divizorul de curent Obiective: o Conexiuni serie şi paralel, o Legea lui Ohm, o Divizorul de tensiune, o Divizorul de curent, o Implementarea experimentală a divizorului

Διαβάστε περισσότερα

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a Capitolul II: Serii de umere reale. Lect. dr. Lucia Maticiuc Facultatea de Hidrotehică, Geodezie şi Igieria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucia MATICIUC SEMINARUL 3. Cap. II Serii

Διαβάστε περισσότερα

4. CIRCUITE LOGICE ELEMENTRE 4.. CIRCUITE LOGICE CU COMPONENTE DISCRETE 4.. PORŢI LOGICE ELEMENTRE CU COMPONENTE PSIVE Componente electronice pasive sunt componente care nu au capacitatea de a amplifica

Διαβάστε περισσότερα

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:, REZISTENTA MATERIALELOR 1. Ce este modulul de rezistenţă? Exemplificaţi pentru o secţiune dreptunghiulară, respectiv dublu T. RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii

Διαβάστε περισσότερα

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy Metode Runge-Kutta Radu T. Trîmbiţaş 8 ianuarie 7 Probleme scalare, pas constant Dorim să aproximăm soluţia problemei Cauchy y (t) = f(t, y), a t b, y(a) = α. pe o grilă uniformă de (N + )-puncte din [a,

Διαβάστε περισσότερα

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Aplicaţii ale principiului I al termodinamicii la gazul ideal Aplicaţii ale principiului I al termodinamicii la gazul ideal Principiul I al termodinamicii exprimă legea conservării şi energiei dintr-o formă în alta şi se exprimă prin relaţia: ΔUQ-L, unde: ΔU-variaţia

Διαβάστε περισσότερα

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice 1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă

Διαβάστε περισσότερα

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili Anexa 2.6.2-1 SO2, NOx şi de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili de bioxid de sulf combustibil solid (mg/nm 3 ), conţinut de O 2 de 6% în gazele de ardere, pentru

Διαβάστε περισσότερα

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2 .1 Sfera Definitia 1.1 Se numeşte sferă mulţimea tuturor punctelor din spaţiu pentru care distanţa la u punct fi numit centrul sferei este egalăcuunnumăr numit raza sferei. Fie centrul sferei C (a, b,

Διαβάστε περισσότερα

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3) BARAJ DE JUNIORI,,Euclid Cipru, 8 mi 0 (brjul ) Problem Arătţi că dcă, b, c sunt numere rele cre verifică + b + c =, tunci re loc ineglitte xy + yz + zx Problem Fie şi b numere nturle nenule Dcă numărul

Διαβάστε περισσότερα

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii

Διαβάστε περισσότερα

Curs 2 Şiruri de numere reale

Curs 2 Şiruri de numere reale Curs 2 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Convergenţă şi mărginire Teoremă Orice şir convergent este mărginit. Demonstraţie Fie (x n ) n 0 un

Διαβάστε περισσότερα

Să se arate că n este număr par. Dan Nedeianu

Să se arate că n este număr par. Dan Nedeianu Primul test de selecție pentru juniori I. Să se determine numerele prime p, q, r cu proprietatea că 1 p + 1 q + 1 r 1. Fie ABCD un patrulater convex cu m( BCD) = 10, m( CBA) = 45, m( CBD) = 15 și m( CAB)

Διαβάστε περισσότερα

Profesor Blaga Mirela-Gabriela DREAPTA

Profesor Blaga Mirela-Gabriela DREAPTA DREAPTA Fie punctele A ( xa, ya ), B ( xb, yb ), C ( xc, yc ) şi D ( xd, yd ) în planul xoy. 1)Distanţa AB = (x x ) + (y y ) Ex. Fie punctele A( 1, -3) şi B( -2, 5). Calculaţi distanţa AB. AB = ( 2 1)

Διαβάστε περισσότερα

Subiecte Clasa a V-a

Subiecte Clasa a V-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii

Διαβάστε περισσότερα

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4 FLUXURI MAXIME ÎN REŢELE DE TRANSPORT Se numeşte reţea de transport un graf în care fiecărui arc îi este asociat capacitatea arcului şi în care eistă un singur punct de intrare şi un singur punct de ieşire.

Διαβάστε περισσότερα

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER 2. Circuite logice 2.4. Decodoare. Multiplexoare Copyright Paul GASNER Definiţii Un decodor pe n bits are n intrări şi 2 n ieşiri; cele n intrări reprezintă un număr binar care determină în mod unic care

Διαβάστε περισσότερα

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice 4. Măsurarea tensiunilor şi a curenţilor electrici oltmetre electronice analogice oltmetre de curent continuu Ampl.c.c. x FTJ Protectie Atenuator calibrat Atenuatorul calibrat divizor rezistiv R in const.

Διαβάστε περισσότερα

10. STABILIZATOAE DE TENSIUNE 10.1 STABILIZATOAE DE TENSIUNE CU TANZISTOAE BIPOLAE Stabilizatorul de tensiune cu tranzistor compară în permanenţă valoare tensiunii de ieşire (stabilizate) cu tensiunea

Διαβάστε περισσότερα

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1 2. Circuite logice 2.2. Diagrame Karnaugh Copyright Paul GASNER Diagrame Karnaugh Tehnică de simplificare a unei expresii în sumă minimă de produse (minimal sum of products MSP): Există un număr minim

Διαβάστε περισσότερα

Syntax Analysis Part V

Syntax Analysis Part V Syntax Analysis Part V Chapter 4: Bottom-Up Parsing Slides adapted from : Robert van Engelen, Florida State University LR Parsers LR parsers are table-driven algorithms, much like the LL parsers The parse

Διαβάστε περισσότερα

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b. Lucrare Soluţii 28 aprilie 2015 Varianta 1 I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2 Definiţie. Numărul întreg p se numeşte număr prim dacă p 0,

Διαβάστε περισσότερα

Εμπορική αλληλογραφία Ηλεκτρονική Αλληλογραφία

Εμπορική αλληλογραφία Ηλεκτρονική Αλληλογραφία - Εισαγωγή Stimate Domnule Preşedinte, Stimate Domnule Preşedinte, Εξαιρετικά επίσημη επιστολή, ο παραλήπτης έχει ένα ειδικό τίτλο ο οποίος πρέπει να χρησιμοποιηθεί αντί του ονόματος του Stimate Domnule,

Διαβάστε περισσότερα

Sortare. 29 martie Utilizarea şi programarea calculatoarelor. Curs 16

Sortare. 29 martie Utilizarea şi programarea calculatoarelor. Curs 16 Sortare 29 martie 2005 Sortare 2 Sortarea. Generalitǎţi Sortarea = aranjarea unei liste de obiecte dupǎ o relaţie de ordine datǎ (ex.: pentru numere, ordine lexicograficǎ pt. şiruri, etc.) una din clasele

Διαβάστε περισσότερα

Θα χρησιμοποιήσουμε το bison, μια βελτιωμένη έκδοση του yacc. Φροντιστήριο 2ο Εισαγωγή στο YACC. Yacc. Δομή Προγράμματος Yacc

Θα χρησιμοποιήσουμε το bison, μια βελτιωμένη έκδοση του yacc. Φροντιστήριο 2ο Εισαγωγή στο YACC. Yacc. Δομή Προγράμματος Yacc HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 2ο Εισαγωγή στο YACC Ι ΑΣΚΩΝ Αντώνιος Σαββίδης Slide

Διαβάστε περισσότερα

a. 11 % b. 12 % c. 13 % d. 14 %

a. 11 % b. 12 % c. 13 % d. 14 % 1. Un motor termic funcţionează după ciclul termodinamic reprezentat în sistemul de coordonate V-T în figura alăturată. Motorul termic utilizează ca substanţă de lucru un mol de gaz ideal având exponentul

Διαβάστε περισσότερα

6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă

6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă Semiar 5 Serii cu termei oarecare Probleme rezolvate Problema 5 Să se determie atura seriei cos 5 cos Soluţie 5 Şirul a 5 este cu termei oarecare Studiem absolut covergeţa seriei Petru că cos a 5 5 5 şi

Διαβάστε περισσότερα

Platformă de e learning și curriculă e content pentru învățământul superior tehnic

Platformă de e learning și curriculă e content pentru învățământul superior tehnic Platformă de e learning și curriculă e content pentru învățământul superior tehnic Proiectarea Logică 24. Echivalenta starilor STARILE ECHIVALENTE DIN CIRCUITELE SECVENTIALE Realizarea unui circuit secvenţial

Διαβάστε περισσότερα

1.3 Baza a unui spaţiu vectorial. Dimensiune

1.3 Baza a unui spaţiu vectorial. Dimensiune .3 Baza a unui spaţiu vectorial. Dimensiune Definiţia.3. Se numeşte bază a spaţiului vectorial V o familie de vectori B care îndeplineşte condiţiile de mai jos: a) B este liniar independentă; b) B este

Διαβάστε περισσότερα

Componente şi Circuite Electronice Pasive. Laborator 4. Măsurarea parametrilor mărimilor electrice

Componente şi Circuite Electronice Pasive. Laborator 4. Măsurarea parametrilor mărimilor electrice Laborator 4 Măsurarea parametrilor mărimilor electrice Obiective: o Semnalul sinusoidal, o Semnalul dreptunghiular, o Semnalul triunghiular, o Generarea diferitelor semnale folosind placa multifuncţională

Διαβάστε περισσότερα

MULTIMEA NUMERELOR REALE

MULTIMEA NUMERELOR REALE www.webmteinfo.com cu noi totul pre mi usor MULTIMEA NUMERELOR REALE office@ webmteinfo.com 1.1 Rdcin ptrt unui numr nturl ptrt perfect Ptrtul unui numr rtionl este totdeun pozitiv su zero (dic nenegtiv).

Διαβάστε περισσότερα

Foarte formal, destinatarul ocupă o funcţie care trebuie folosită în locul numelui

Foarte formal, destinatarul ocupă o funcţie care trebuie folosită în locul numelui - Introducere Αξιότιμε κύριε Πρόεδρε, Αξιότιμε κύριε Πρόεδρε, Foarte formal, destinatarul ocupă o funcţie care trebuie folosită în locul numelui Αγαπητέ κύριε, Αγαπητέ κύριε, Formal, destinatar de sex

Διαβάστε περισσότερα

Cum folosim cazuri particulare în rezolvarea unor probleme

Cum folosim cazuri particulare în rezolvarea unor probleme Cum folosim cazuri particulare în rezolvarea unor probleme GHEORGHE ECKSTEIN 1 Atunci când întâlnim o problemă pe care nu ştim s-o abordăm, adesea este bine să considerăm cazuri particulare ale acesteia.

Διαβάστε περισσότερα

Subiecte Clasa a VIII-a

Subiecte Clasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii

Διαβάστε περισσότερα

Ακαδημαϊκός Λόγος Κύριο Μέρος

Ακαδημαϊκός Λόγος Κύριο Μέρος - Επίδειξη Συμφωνίας În linii mari sunt de acord cu...deoarece... Επίδειξη γενικής συμφωνίας με άποψη άλλου Cineva este de acord cu...deoarece... Επίδειξη γενικής συμφωνίας με άποψη άλλου D'une façon générale,

Διαβάστε περισσότερα

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice Teme de implementare in Matlab pentru Laboratorul de Metode Numerice As. Ruxandra Barbulescu Septembrie 2017 Orice nelamurire asupra enunturilor/implementarilor se rezolva in cadrul laboratorului de MN,

Διαβάστε περισσότερα

Noţiuni introductive

Noţiuni introductive Metode Numerice Noţiuni introductive Erori. Condiţionare numerică. Stabilitatea algoritmilor. Complexitatea algoritmilor. Metodele numerice reprezintă tehnici prin care problemele matematice sunt reformulate

Διαβάστε περισσότερα

5.1. Noţiuni introductive

5.1. Noţiuni introductive ursul 13 aitolul 5. Soluţii 5.1. oţiuni introductive Soluţiile = aestecuri oogene de două sau ai ulte substanţe / coonente, ale căror articule nu se ot seara rin filtrare sau centrifugare. oonente: - Mediul

Διαβάστε περισσότερα

Capitolul 2 - HIDROCARBURI 2.4.ALCADIENE

Capitolul 2 - HIDROCARBURI 2.4.ALCADIENE Capitolul 2 - HIDROCARBURI 2.4.ALCADIENE TEST 2.4.1 I. Scrie cuvântul / cuvintele dintre paranteze care completează corect fiecare dintre afirmaţiile următoare. Rezolvare: 1. Alcadienele sunt hidrocarburi

Διαβάστε περισσότερα

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite Capitolul 4 Integrale improprii 7-8 În cadrul studiului integrabilităţii iemann a unei funcţii s-au evidenţiat douăcondiţii esenţiale:. funcţia :[ ] este definită peintervalînchis şi mărginit (interval

Διαβάστε περισσότερα

Limbaje formale Mircea Dr agan S tefan M aru ster February 23, 2005

Limbaje formale Mircea Dr agan S tefan M aru ster February 23, 2005 Limbaje formale Mircea Drăgan Ştefan Măruşter February 23, 2005 1 Bibliografie 1. Octavian C. Dogaru, Bazele informaticii. Limbaje formale, Tipografia Universităţii din Timişoara, 1989. 2. heorghe rigoraş,

Διαβάστε περισσότερα

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση II

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση II Γλώσσες Προγραμματισμού Μεταγλωττιστές Συντακτική Ανάλυση II Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Εισαγωγή στην ανάλυση από κάτω προς τα πάνω. Οι έννοιες της ελάττωσης

Διαβάστε περισσότερα

Capitolul 2 - HIDROCARBURI 2.5.ARENE

Capitolul 2 - HIDROCARBURI 2.5.ARENE Capitolul 2 - HIDROCARBURI 2.5.ARENE TEST 2.5.2 I. Scrie cuvântul / cuvintele dintre paranteze care completează corect fiecare dintre afirmaţiile următoare. 1. Radicalul C 6 H 5 - se numeşte fenil. ( fenil/

Διαβάστε περισσότερα

HY340, 2010 Α. Σαββίδης. Slide 3 / 43. Slide 4 / 43

HY340, 2010 Α. Σαββίδης. Slide 3 / 43. Slide 4 / 43 HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 2ο Εισαγωγή στο YACC Ι ΑΣΚΩΝ Αντώνιος Σαββίδης Slide

Διαβάστε περισσότερα

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera. pe ecuaţii generale 1 Sfera Ecuaţia generală Probleme de tangenţă 2 pe ecuaţii generale Sfera pe ecuaţii generale Ecuaţia generală Probleme de tangenţă Numim sferă locul geometric al punctelor din spaţiu

Διαβάστε περισσότερα

Chapter 4 (c) parsing

Chapter 4 (c) parsing Chapter 4 (c) parsing 1 Parsing A grammar describes the strings of tokens that are syntactically legal in a PL A recogniser simply accepts or rejects strings. A generator produces sentences in the language

Διαβάστε περισσότερα

Functii Breviar teoretic 8 ianuarie ianuarie 2011

Functii Breviar teoretic 8 ianuarie ianuarie 2011 Functii Breviar teoretic 8 ianuarie 011 15 ianuarie 011 I Fie I, interval si f : I 1) a) functia f este (strict) crescatoare pe I daca x, y I, x< y ( f( x) < f( y)), f( x) f( y) b) functia f este (strict)

Διαβάστε περισσότερα

Curs 4. I.4 Grafuri. Grafuri orientate

Curs 4. I.4 Grafuri. Grafuri orientate Curs 4 I.4 Grafuri I.4.1 Grafuri orientate Definiţia I.4.1.1. Un graf orientat este un tuplu G = (N, A, ϕ : A N N), unde N şi A sunt mulţimi, numite mulţimea nodurilor, respectiv mulţimea arcelor, iar

Διαβάστε περισσότερα

Capitolul 2 - HIDROCARBURI 2.3.ALCHINE

Capitolul 2 - HIDROCARBURI 2.3.ALCHINE Capitolul 2 - HIDROCARBURI 2.3.ALCHINE TEST 2.3.3 I. Scrie cuvântul / cuvintele dintre paranteze care completează corect fiecare dintre afirmaţiile următoare. 1. Acetilena poate participa la reacţii de

Διαβάστε περισσότερα

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey Mihai Suciu Facultatea de Matematică și Informatică (UBB) Departamentul de Informatică Mai, 16, 2018 Mihai Suciu (UBB) Algoritmica

Διαβάστε περισσότερα

Laborator 6. Integrarea ecuaţiilor diferenţiale

Laborator 6. Integrarea ecuaţiilor diferenţiale Laborator 6 Integrarea ecuaţiilor diferenţiale Responsabili: 1. Surdu Cristina(anacristinasurdu@gmail.com) 2. Ştirbăţ Bogdan(bogdanstirbat@yahoo.com) Obiective În urma parcurgerii acestui laborator elevul

Διαβάστε περισσότερα