Curs7

Documente similare
Curs8

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

CAPITOLUL I

Limbaje Formale, Automate si Compilatoare

1

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

E_d_Informatica_sp_SN_2014_bar_10_LRO

Analiză statică Analiza fluxului de date 23 octombrie 2014

Analiză de flux de date 29 octombrie 2012

Calcul Numeric

Microsoft Word - TIC5

LOGICA MATEMATICA SI COMPUTATIONALA Sem. I,

E_d_Informatica_sp_MI_2015_bar_02_LRO

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa

Managementul Resurselor Umane

Coman Marinela Furnizor program formare acreditat: CCD BRĂILA Denumire program: INFORMATICĂ ŞI TIC PENTRU GIMNAZIU Clasa a V-a Categorie: 1; Tip de co

ExamView Pro - Untitled.tst

Clasa IX 1. O lăcustă face salturi, fiecare salt în linie dreaptă şi de două ori mai lung ca precedentul. Poate vreodată lăcusta să revină în punctul

Diapositive 1

Laborator Implementarea algoritmului DES - Data Encryption Standard. Exemplu DES Algoritmul DES foloseşte numere b

gaussx.dvi

Retele Petri si Aplicatii

PAS cap. 2: Reprezentări rare p. 1/35 Prelucrarea avansată a semnalelor Capitolul 2: Reprezentări rare Bogdan Dumitrescu Facultatea de Automatică şi C

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

Noțiuni matematice de bază

Subiectul 1

Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru ecuaţia f(x) = 0. Date de intrare: - Funcţia f - Apro

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da

ALGORITHMICS

Cursul 7 Formula integrală a lui Cauchy Am demonstrat în cursul precedent că, dacă D C un domeniu simplu conex şi f : D C o funcţie olomorfă cu f cont

2.1.Tipul tablou unidimensional

ASDN

1. a. Să se scrie un algoritm care să afişeze toate numerele de patru cifre care au cifra sutelor egală cu o valoare dată k, şi cifra zecilor cu 2 mai

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Microsoft Word - Lab1a.doc

Cursul 12 (plan de curs) Integrale prime 1 Sisteme diferenţiale autonome. Spaţiul fazelor. Fie Ω R n o mulţime deschisă şi f : Ω R n R n o funcţie de

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

METODE NUMERICE ÎN INGINERIE

Microsoft Word - O problema cu bits.doc

Slide 1

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

FOV03R Senzori fotoelectric reglabil tip furca. ro

Logică și structuri discrete Mulțimi Casandra Holotescu

PowerPoint Presentation

COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathemati

Microsoft Word - _arbori.docx

PowerPoint Presentation

Slide 1

Metode de programare Proiectarea algoritmilor

Matematici aplicate științelor biologie Lab09 MV

Elemente de aritmetica

Retele Petri si Aplicatii

Facultatea de Matematică Anul II Master, Geometrie Algebrică Mulţimi algebrice ireductibile. Dimensiune 1 Mulţimi ireductibile Propoziţia 1.1. Fie X u

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

I. INTRODUCERE 1. Necesitatea studiului logicii Teodor DIMA În activitatea noastră zilnică, atunci când învăţăm, când încercăm să fundamentăm o părere

I

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

B

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor

PowerPoint-Präsentation

Tiberiu Trif Analiză matematică 2 Calcul diferențial și integral în R n

Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică Gheorghe Asachi Iaşi, 2015 Analiză Matematică Lucian Maticiuc 1 / 29

Noțiuni de bază ale criptografiei

Teoreme cu nume 1. Problema (Năstăsescu IX, p 147, propoziţia 5) Formula lui Chasles Pentru orice puncte M, N şi P avem MN + NP = MP.

Elemente de Web design

Prelegerea 3 Noţiuni de morfologie 3.1 Structura morfologică a cuvintelor Regulile de formare ale cuvintelor - care pornesc de la o anumită structură

Cursul 8 Funcţii analitice Vom studia acum comportarea şirurilor şi seriilor de funcţii olomorfe, cu scopul de a dezvălui o proprietate esenţială a ac

Microsoft PowerPoint - IOC-21.ppt [Compatibility Mode]

Concurs online de informatică Categoria PROGRAMARE PROBLEMA 1 Secţiunea 7-8 avansaţi 100 puncte DEMOCRATIE Arpsod are în curtea sa N copaci foarte băt

Paradigme de Programare

O NOUA PROBLEMA DE CONCURS OLIMPIADA MUNICIPALA DE INFORMATICA, IASI 2019 V-am promis într-un articol mai vechi ca vom prezenta pe acest blog câteva p

15. Logică matematică cu aplicații în informatică - MI 3

MergedFile

Microsoft Word - probleme_analiza_numerica_ses_ian09.rtf

Subiecte_funar_2006.doc

Calcul Numeric

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII-

CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: ALTERESCU V. IULIA-CRI

Matematici aplicate științelor biologie Lab06 MV

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Microsoft Word - 2 Filtre neliniare.doc

Cursul 6 Cadru topologic pentru R n În continuarea precedentei părţi, din cursul 5, dedicată, în întregime, unor aspecte de ordin algebric (relative l

Electricitate II

Distanţa euclidiană (indusă de norma euclidiană) (în R k ). Introducem în continuare o altă aplicaţie, de această dată pe produsul cartezian R k XR k,

MergedFile

Lecții de pregă,re la informa,că Admitere 2019 Tema: Discutarea problemelor date la ul,mele sesiuni de admitere Bogdan Alexe

Analiz¼a Matematic¼a - Curs 6 M¼ad¼alina Roxana Buneci

Curs 8: Tehnica divizării (I) Algoritmi si structuri de date - Curs 8 1

LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart

Microsoft Word - CarteC.doc

Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Programarea calculatoarelor 2. Curs 10 Marius Minea

Notiuni de algebra booleana

Metode Numerice

Grile si probleme siruri de caractere in C++ ŞIRURI DE CARACTERE Itemii următori sunt preluaţi din variantele de bacalaureat În secvenţa de i

Logică computațională O introducere practică pentru studenți la informatică Note de curs Adrian Crăciun 24 ianuarie

Prelegerea 3 În această prelegere vom învăţa despre: Clase speciale de latici: complementate. modulare, metrice, distributive şi 3.1 Semi-distributivi

PROIECT DIDACTIC Clasa a VII-a Informatică și TIC

Transcriere:

Analizor sintactic LL(1)

S A { a a 1 i-1 a i Algoritm liniar

LL(k) L = left (secvența este parcursă de la stânga la dreapta L = left (se folosesc derivări de stânga) Predicția are lungimea k S A { Principiu LL(k) In orice moment al analizei, acțiunea este unic determinată de: Partea închisă (a 1 a i ) Simbolul curent A Predicția a i+1 a i+k (lungime k) a a 1 i-1 a i a i+1 a i+k

FIRST k primele k simboluri terminale care se pot genera din α Definiție: rivări succesive dintr-o anumită formă propoziţională: FIRST k :(N [ ß)! P(ß k ) FIRST k (Æ) ={u u 2 ß k, Æ ) ux, u = k sau Æ ) u, u k} (primele k simboluri ale lui )

Definiție O gic este de tip LL(k) dacă pentru oricare două derivări de stânga: 1. S ) waæ ) st wøæ ) wx; st 2. S ) waæ ) st w Æ ) wy; st astfel încât FIRST k (x) =FIRST k (y) avem că: Ø =. st st

Teoremă Condiția necesară și suficientă pentru ca o gramatică să fie de tip LL(k) este ca pentru orice pereche de producții distincte ale aceluiași neterminal (A β, A γ,β γ) să fie verificată condiția: FIRST k (βα) FIRST k (γα)= Φ, α astfel încât S => uaα *

FOLLOW A ε S A { Ø FOLLOW k (A) următoarele k simboluri care se generează / urmează după A a a 1 i-1 a i Pentru aceasta se introduce o nouă funcţie [AU73]: FOLLOW :(N [ ß)! P(ß) FOLLOW(Ø) ={w 2 ß S ) ÆØ,w 2 FIRST( )} Pentru a construi un analizor sintactic LL(1) avem ne

Analizor sintactic LL(1) Predicția de lungime 1 Pași: 1) construire FIRST, FOLLOW 2) Construire tabel de analiză LL(1) 3) Analiza secvenței de baza tranzițiilor între configurații! Se execută 1 dată Teorema 3.2. [Şer87] O gramatică este de tip LL(1) dacă şi numai dacă pentru fiecare neterminal A cu producţiile A! Æ 1 Æ 2... Æ n, FIRST k (Æ i ) \FIRST k (Æ j )=; şi dacǎ Æ i ),FIRST(Æi )\FOLLOW(A) =;, 8i, j = 1,n,i6= j.

Construcție FIRST ØFIRST 1 notat FIRST ØObservații: Concatenare de lungime 1 Dacă L 1,L 2 sunt două limbaje peste alfabetul ß, atunci: L 1 L 2 = {w x 2 L 1,y 2 L 2,xy = w, w 1 sau xy = wz, w =1} ş i FIRST(ÆØ) =FIRST(Æ) FIRST(Ø) FIRST(X 1...X n )=FIRST(X 1 )... FIRST(X n )

Construcție tabel de analiză LL(1) Acțiuni posibile în funcție de: Simbolul curent N Σ Predicția posibilă Σ Se adaugă un caracter special $ ( N Σ) marcaj de stivă vidă = > tabel: Câte o linie pentru fiecare simbol N Σ {$} Câte o coloană pentru fiecare simbol Σ {$}

Reguli tabel LL(1) 1. M(A, a) =(Æ,i), 8a 2 FIRST(Æ),a 6=,A! Æ producţie în P cu numărul i; M(A, b) =(Æ,i), dacă 2 FIRST(Æ), 8b 2 FOLLOW(A),A! Æ producţie în P cu numărul i; 2. M(a, a) =pop, 8a 2 ß; 2 3. M($, $) = acc; 4. M(x,a)=err (eroare) în celelalte cazuri. Pentru gramatica din exemplul precedent, c

Observație O gramatică este de tip LL(1) dacă tabelul de analiză LL(1) nu conține conflicte (nu există mai mult de o valoare într-o celulă de tabel M(A,a)

Definire configurații și tranziții INPUT: Gramatica limbajului G = (N, Σ, P,S) Tabel de analiză LL(1) Secvența de analizat w =a 1 a n OUTPUT: Dacă (w L(G)) atunci șir de producții altfel locația erorii

Configurații LL(1) (α, β, π) Unde: α = stiva de intrare β = stiva de lucru π = banda de ieșire (rezultat) Configurația inițială: (w$,s$,ε) Configurația finală: ($, $, π)

Tranziții 1. Push punere în stivă (ux, AÆ$, º) ` (ux, ØÆ$, ºi), dacǎ M(A, u) =(Ø,i); (se scoate A și se pun simbolurile din β) de fapt, în stiva de lucru se efectuează următoarele op 2. Pop scoatere din stivă (din ambele stive) (ux, aæ$, º) ` (x, Æ$, º), dacă M(a,u)=pop 3. Acceptare tranziţia de acceptare, dacă s-a obţinut co ($, $, º) ` acc 4. Eroare - altfel în celelalte caz

Algoritml de analiză sintactică LL(1) aici