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:2022:proiect_etapa3 [2022/12/12 11:07]
pdmatei
lfa:2022:proiect_etapa3 [2022/12/12 12:48] (current)
mihai.calitescu
Line 4: Line 4:
  
  
-Deadline etapa 3: ... ora 23:59+Deadline etapa 3: 8 ianuarie 2023 ora 23:00 (**deadline hard**)
  
 ====== Proiect ====== ====== Proiect ======
  
 Etapa 3 a proiectul consta in implementarea unui lexer in python sau scala. Etapa 3 a proiectul consta in implementarea unui lexer in python sau scala.
- 
-<note important>​Este recomandat sa folositi functionalitatile implementate la etapele precedente pentru rezolvarea etapei finale</​note>​ 
  
 ===== Ce este un lexer? ==== ===== Ce este un lexer? ====
Line 44: Line 42:
   - AFN-ul este convertit la un AFD (care optional poate fi minimizat). In acest automat:   - AFN-ul este convertit la un AFD (care optional poate fi minimizat). In acest automat:
      - cand vizitam un grup de stari ce contine (AFN-)stari finale, inseamna ca unul sau mai multe token-uri corespunzatoare au fost identificate.      - cand vizitam un grup de stari ce contine (AFN-)stari finale, inseamna ca unul sau mai multe token-uri corespunzatoare au fost identificate.
-     - cand vizitam un sink-state (daca acesta exista), inseamna ca subsirul curent nu este descris de nici un token.+     - cand vizitam un sink-state (daca acesta exista), inseamna ca subsirul curent nu este descris de nici un token. ​In acest caz trebuie sa intoarcem cel mai lung prefix acceptat si sa continuam lexarea cuvantului ramasĀ 
 +     - cand vizitam o stare non-finala si care nu e sink-state, continuam prin trecerea in urmatoarea stare a AFD-ului consumand un caracter din cuvant
  
 ==== Cand isi termina un lexer executia ? ==== ==== Cand isi termina un lexer executia ? ====
Line 76: Line 75:
  
 ===== Structura specificatiei si incarcarea ei ===== ===== Structura specificatiei si incarcarea ei =====
 +
 +<note important>​Este recomandat sa folositi functionalitatile implementate la etapele precedente pentru rezolvarea etapei finale</​note>​
 +
  
 ==== Python ==== ==== Python ====