[cpl] [CPL][Tema 1] Erori sintactice

Bogdan Nitulescu bogdannitulescu at yahoo.com
Sun Nov 8 20:40:39 EET 2015


Hello,

Erorile sintactice trebuie emise pentru orice structura care nu poate fi 
obtinuta urmand regulile din descrierea limbajului. Altfel spus orice nu 
e explicit permis e interzis.

Dupa cum spunea si Marius mai jos, nu trebuie sa faci o prelucrare 
speciala pentru a verifica daca ai erori sintactice; daca programul de 
la intrare trece de parser inseamna ca e corect din punct de vedere 
sintactic. Daca parserul nu trece, ai eroare sintactica. Trebuie doar sa 
aveti grija ca gramatica aleasa sa fie potrivita.

Ca sa dau un exemplu simplu - la secventa "a + + b" nu poti ajunge 
indiferent de ce reguli ale limbajului LCPL ai urma. Prin urmare e o 
eroare sintactica. Un parser care accepta "a + + b" e gresit.

Pentru verificarea temei vom folosi testele din checker ce sunt in 
general teste pozitive din punct de vedere sintactic.

Bogdan

On 11/8/2015 3:36 PM, Marius Ungureanu via cpl wrote:
>
>
> On Nov 8, 2015 3:31 PM, "Roxana Stan via cpl" <cpl at cursuri.cs.pub.ro 
> <mailto:cpl at cursuri.cs.pub.ro>> wrote:
> >
> >
> > Buna,
> >
> > Referitor la erorile de natura sintactica ce trebuie tratate in 
> cadrul temei de casa 1, in manualul limbajului regasesc cazuri de 
> eroare dar majoritatea lor par a fi de natura semantica, daca nu ma 
> insel, precum:
> >
> > - "Este o eroare sa aveti doua clase cu acelasi nume (nu puteti 
> redefini o clasa)."
> > - "Este o eroare definirea a doua atribute sau a doua metode cu 
> acelasi nume in cadrul aceleiasi clase, dar este perfect legal cazul 
> in care un atribut si o metoda au acelasi nume."
> > - "Este o eroare daca tipul expresiei cu care se initializeaza 
> atributul nu corespunde cu tipul declarat."
> >
> > Considerand aceste erori de natura semantica, nu imi este clar in ce 
> cazuri ar trebui tratate erorile de natura sintactica. Practic, nu 
> exista in checker-ul temei teste referitoare la tratarea acestor erori.
> >
> > Multumesc,
> > Roxana
> >
>
> Buna,
>
> Nu trebuie tratate erorile de natura semantica. Pentru erorile de 
> natura sintactica, din ce am inteles, trebuie doar sa lasi parser-ul 
> sa-si afiseze el eroarea.
>
> Pe scurt, ideea e sa-ti treaca toate testele din checker.
>
> Marius
>
>
>
> _______________________________________________
> cpl mailing list
> cpl at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/cpl

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/cpl/attachments/20151108/ede67bab/attachment.html>


More information about the cpl mailing list