This shows you the differences between two versions of the page.
cpl-atm:tema1 [2013/11/05 22:33] laura.vasilescu created |
cpl-atm:tema1 [2013/11/07 15:03] (current) laura.vasilescu [Gramatica] |
||
---|---|---|---|
Line 5: | Line 5: | ||
===== Trimitere temă ===== | ===== Trimitere temă ===== | ||
- | Tema de casă se trimite sub forma unei **arhive ZIP** pe mail către: | + | Tema de casă se trimit sub forma unei **arhive ZIP** pe mail către: |
- | * laura.vasilescu@cti.pub.ro | + | * laura.vasilescu@cti.pub.ro **ȘI** alexandru.radovici@cs.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 ====== | ||
+ | |||
+ | {{:cpl-atm:1-check.zip|Arhiva de teste}} | ||
+ | |||
+ | |||
+ | |||
+ | ===== Gramatica ===== | ||
+ | |||
+ | <code> | ||
+ | xml: xmlelem xml |; | ||
+ | xmlelem: <ID parameters>xml</ID> | <ID parameters/> | ; | ||
+ | parameters: parameter parameters |; | ||
+ | parameter: ID = "TEXT" | ||
+ | TEXT: { ALFANUMERIC } | ||
+ | </code> |