[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