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> | ||