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:2024:proiect:etapa2 [2024/11/22 17:29]
pdmatei
lfa:2024:proiect:etapa2 [2024/11/24 19:02] (current)
atoader
Line 1: Line 1:
-{{:​lfa:​2024:​proiect:​src.zip|}}Deadline etapa 1: 22 nov 2023 23:59+Deadline etapa 1: 21 nov 2024 23:55
  
-Deadline etapa 2: dec 2023 23:59+Deadline etapa 2: dec 2024 23:55
  
 Schelet etapa 1 {{:​lfa:​2023:​lfa2024-skel-etapa1.zip|}} Schelet etapa 1 {{:​lfa:​2023:​lfa2024-skel-etapa1.zip|}}
Line 56: Line 56:
 In aceasta clasa veti avea de implementat metoda ''​thompson'',​ metoda care primeste un obiect de tip regex si intoarce un NFA (cu starile de tipul ''​int''​ ca si conventie). Regexul primit ca input va avea forma prezentata mai sus. In aceasta clasa veti avea de implementat metoda ''​thompson'',​ metoda care primeste un obiect de tip regex si intoarce un NFA (cu starile de tipul ''​int''​ ca si conventie). Regexul primit ca input va avea forma prezentata mai sus.
  
-Concatenarea nu va fi reprezentata printr-un caracter anume, vom considera ca constructiile de forma ''​ab''​ se traduc automat in "​caracterul a concatenat cu caracterul b". Concatenarea oprindu-se astfel la intalnirea **unei paranteze** sau **a unei uniuni**. Spre exemplu:+Concatenarea nu va fi reprezentata printr-un caracter anume, vom considera ca constructiile de forma ''​ab''​ se traduc automat in "​caracterul a concatenat cu caracterul b". Concatenarea oprindu-se astfel la intalnirea **unei paranteze** sau **a unei reuniuni**. Spre exemplu:
   - ''​ab|c''​ se traduce in ''​(ab)|c''​   - ''​ab|c''​ se traduce in ''​(ab)|c''​
   - ''​abd*''​ se traduce in ''​ab(d)*''​   - ''​abd*''​ se traduce in ''​ab(d)*''​
Line 63: Line 63:
 === Hint de implementare === === Hint de implementare ===
  
-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, puteti creea mai multe clase care extind clasa regex (ex ''​Character'',​ ''​Star'',​ ''​Union'',​ ''​Concat'',​ etc...) iar fiecare clasa va avea propria implementare a metodei ''​thompson''​.