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