Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lfa:proiect:etapa2 [2021/11/24 01:26]
stefan.stancu [Metodologia de testare:]
lfa:proiect:etapa2 [2021/12/23 00:48] (current)
stefan.stancu [Etapa 2 - Transformarea Regex-urilor la AFD-uri]
Line 1: Line 1:
 ====== Etapa 2 - Transformarea Regex-urilor la AFD-uri ====== ====== Etapa 2 - Transformarea Regex-urilor la AFD-uri ======
 +
 +**Update legat de upload**: incarcati o arhiva ce contine **atat fisierele sursa, cat si directorul de testare tests/ si script-ul checker.py**.
 +
 +**Checker si teste**: [[lfa:​proiect:​checker|Checker proiect LFA]].
  
 Transformarea Regex-AFD ne permite operationalizarea expresiilor regulate, iar aceasta este o parte importanta atat dintr-un lexer cat si dintr-un parser. Transformarea Regex-AFD ne permite operationalizarea expresiilor regulate, iar aceasta este o parte importanta atat dintr-un lexer cat si dintr-un parser.
Line 24: Line 28:
 <​code>​ <​code>​
 UNION CONCAT a b STAR c UNION CONCAT a b STAR c
 +</​code>​
 +<​code>​
 +CONCAT UNION a b UNION c d
 </​code>​ </​code>​
 <​code>​ <​code>​
Line 29: Line 36:
 </​code>​ </​code>​
 <​code>​ <​code>​
-STAR UNION CONCAT a b CONCAT b STAR d+STAR UNION CONCAT a b CONCAT b STAR d 
 +</​code>​ 
 +<​code>​ 
 +CONCAT PLUS c UNION a PLUS b 
 </​code>​ </​code>​
 ===== Cerinta si descrierea outputului ===== ===== Cerinta si descrierea outputului =====
Line 67: Line 77:
 ===== Development si testare ===== ===== Development si testare =====
  
-Pentru a testa AFD-urile generate de voi, veti avea nevoie de o modalitate de afisare a acestora in text. Va sugeram sa adaugati la aceasta si o modalitate grafica. Atasam un script Python3 care poate fi folosit pentru a desena AFD-uri:+Pentru a testa AFD-urile generate de voi, veti avea nevoie de o modalitate de afisare a acestora in text. Va sugeram sa adaugati la aceasta si o modalitate grafica. Atasam un script Python3 ​({{:​lfa:​proiect:​draw_fa.zip|}}) ​care poate fi folosit pentru a desena AFD-uri:
   * script-ul primeste in linia de comanda un fisier CSV ce contine un AFD, si deseneaza AFD-ul respectiv.   * script-ul primeste in linia de comanda un fisier CSV ce contine un AFD, si deseneaza AFD-ul respectiv.
   * va fi necesar sa instalati anumite module pentru a rula scriptul (e.g. networkx, numpy).   * va fi necesar sa instalati anumite module pentru a rula scriptul (e.g. networkx, numpy).
Line 84: Line 94:
       * tranzitiile sunt codificate pe linii, sub forma: ''​stare initiala, caracter, stare finala''​       * tranzitiile sunt codificate pe linii, sub forma: ''​stare initiala, caracter, stare finala''​
       * pentru legibilitate,​ starile finale au fost precedate de simbolul ''​f''​       * pentru legibilitate,​ starile finale au fost precedate de simbolul ''​f''​
-  * [TODO: link catre script pe github-ul LFA] 
- 
  
  
Line 126: Line 134:
  
 ===== Metodologia de testare ===== ===== Metodologia de testare =====
-Odata generate AFD-urile de catre implementarea voastra si afisate in cadrul fisierlor de output, checker-ul etapei 2 va compara rezultatele fata de o suita de AFD-uri de referinta, verificand pentru fiecare caz in parte daca automatele accepta acelasi limbaj. Mai multe detalii ​vor fi oferite in momentul in care scriptul ​de testare va fi facut public.+Odata generate AFD-urile de catre implementarea voastra si afisate in cadrul fisierlor de output, checker-ul etapei 2 compara rezultatele fata de o suita de AFD-uri de referinta, verificand pentru fiecare caz in parte **daca automatele accepta acelasi limbaj**. Mai multe detalii ​legate ​de checker gasiti pe pagina [[lfa:​proiect:​checker|Checker proiect LFA]].