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:2023:proiect_e2 [2023/11/03 16:40]
mihai.calitescu etapa 2
lfa:2023:proiect_e2 [2023/11/08 14:23] (current)
tpruteanu
Line 1: Line 1:
-Deadline etapa 1: 20 nov 2023 23:59+Deadline etapa 1: 22 nov 2023 23:59 
 + 
 +Deadline etapa 2: 6 dec 2023 23:59
  
 Schelet etapa 1 {{:​lfa:​2023:​lfa_2023-skel-1.zip|}} Schelet etapa 1 {{:​lfa:​2023:​lfa_2023-skel-1.zip|}}
 +
 +Schelet etapa 2 {{:​lfa:​2023:​lfa_2023-skel-2.zip|}}
 ====== Proiect ====== ====== Proiect ======
  
Line 91: Line 95:
 ===== Etapa 2 ===== ===== Etapa 2 =====
  
-**Etapa 2** a proiectului consta in conversia Regex - NFA (folosind Algoritmul Thompson prezentat la +**Etapa 2** a proiectului consta in conversia Regex - NFA (folosind Algoritmul Thompson prezentat la curs)
-urs)+
  
 ====Structura scheletului==== ====Structura scheletului====
Line 141: Line 144:
  
 Pentru a va usura lucrul cu expresiile regulate, va puteti creea mai multe clase care extind din clasa regex (ex ''​Character'',​ ''​Star'',​ ''​Union'',​ ''​Concat'',​ etc...) iar fiecare clasa va avea propria implementare a metodei ''​thompson''​. Pentru a va usura lucrul cu expresiile regulate, va puteti creea mai multe clase care extind din clasa regex (ex ''​Character'',​ ''​Star'',​ ''​Union'',​ ''​Concat'',​ etc...) iar fiecare clasa va avea propria implementare a metodei ''​thompson''​.
-tie). 
  
 ===== Testare ===== ===== Testare =====
Line 152: Line 154:
  
 Versiunea de python pe care o vom folosi pentru aceasta tema este ''​python3.12''​. Un ghid de instalare a acestei versiuni poate fi gasita [[https://​aruljohn.com/​blog/​install-python/​|aici]] Versiunea de python pe care o vom folosi pentru aceasta tema este ''​python3.12''​. Un ghid de instalare a acestei versiuni poate fi gasita [[https://​aruljohn.com/​blog/​install-python/​|aici]]
 +
 +<note important>​
 +Este recomandat sa parcurgeti [[lfa:​2023:​lab_python_extras|documentul extra]] pentru descrierea unor feature-uri folosite in schelet si a unora utile in implementarea proiectului,​ mai ales topic-urile:​
 +  * [[lfa:​2023:​lab_python_extras#​dictionaries_sets_and_hashable_objects | hashing]]
 +  * [[lfa:​2023:​lab_python_extras#​python_312_generics | genericitate in python 3.12]]
 +  * [[lfa:​2023:​lab_python_extras#​dataclasses | decoratorul dataclass]]
 +</​note>​
  
 Pentru rularea testelor folositi comanda ''​python3.12 -m unittest''​. Pentru rularea testelor folositi comanda ''​python3.12 -m unittest''​.
Line 165: Line 174:
     ├── __init__.py     ├── __init__.py
     ├── NFA.py     ├── NFA.py
 +    ├── Regex.py
     ... (alte surse pe care le folositi)     ... (alte surse pe care le folositi)
 </​code>​ </​code>​