Differences
This shows you the differences between two versions of the page.
| 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 c | + | **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> | ||