Tema de casă 1

Termen de predare: 17.11.2013, ora 23:55

Trimitere temă

Tema de casă se trimit sub forma unei arhive ZIP pe mail către:

  • laura.vasilescu@cti.pub.ro ȘI alexandru.radovici@cs.pub.ro

Numele email-ului trebuie să fie de forma: [ATM][1] Prenume Nume. Spre exemplu, email-ul trimis de studentul Jeffrey Ullman se va numi: [ATM][1] Jefferey Ullman.

Numele arhivei trebuie să fie de forma: ATM_Nume_Prenume.zip. Spre exemplu, arhiva trimisă de studentul Jeffrey Ullman se va numi ATM_Ullman_Jeffrey.zip

Arhiva trebuie să conțină:

  • un fișier README care conține numele vostru și detalii despre cum algoritmul folosit în implementarea temei
  • un fișier numit xml.lex în care definiți lexerul folosit de jison
  • un fișier numit xml.js, generat din fișierul xml.lex
  • un fișier numit main.js care implementează logica temei de casă

Enunț

Tema voastră trebuie să primească ca input un fișier XML și să afișeze pe ecran conținutul acestuia, dar reindentat.

Dacă fișierul XML dat la intrare nu este bine formatat, programul va afișa pe ecran mesajul “Error: XML Bad Format”.

Pentru implementare, vă veți folosi de lexerul jison. Implementarea parserului trebuie făcută de voi și trebuie să folosească tokenii identificați de către lexer.

Testare

Gramatica

xml: xmlelem xml |;
xmlelem: <ID parameters>xml</ID> | <ID parameters/> | ;
parameters: parameter parameters |;
parameter: ID = "TEXT"
TEXT: { ALFANUMERIC }
cpl-atm/tema1.txt · Last modified: 2013/11/07 15:03 by laura.vasilescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0