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_etapa2 [2022/11/20 10:46]
alex.ilie
lfa:2022:proiect_etapa2 [2022/11/27 13:43] (current)
alex.ilie
Line 72: Line 72:
 Aceste operatii noi nu contribuie la expresivitatea regex-urilor,​ insa ajuta foarte mult utilizatorii sa scrie regex-uri compacte si usor de citit. In implementarea voastra, este recomandat sa //​preprocesati//​ regexurile, adica sa eliminati operatorii nou-introdusi si sa ii inlocuiti cu cei standard. Operatorii standard sunt cei prezentati la curs (concatenare,​ reuniune si star). Aceste operatii noi nu contribuie la expresivitatea regex-urilor,​ insa ajuta foarte mult utilizatorii sa scrie regex-uri compacte si usor de citit. In implementarea voastra, este recomandat sa //​preprocesati//​ regexurile, adica sa eliminati operatorii nou-introdusi si sa ii inlocuiti cu cei standard. Operatorii standard sunt cei prezentati la curs (concatenare,​ reuniune si star).
  
-Spre exemplu: $math[e+ = ee*] sau $ [0-9] = \cup 1 \cup 2 \cup \ldots \cup 9 $.+Spre exemplu: $math[e+ = ee*] sau $ [0-9] = \cup 1 \cup 2 \cup \ldots \cup 9 $.
  
 In felul acesta, AST-ul va avea un numar minimal de **tipuri** de noduri, iar algoritmul Thompson cat mai putine cazuri diferite de tratat. In felul acesta, AST-ul va avea un numar minimal de **tipuri** de noduri, iar algoritmul Thompson cat mai putine cazuri diferite de tratat.
Line 102: Line 102:
  
 Din arbore putem genera usor forma prenex: ''​UNION CONCAT STAR UNION a b c d''​. Din arbore putem genera usor forma prenex: ''​UNION CONCAT STAR UNION a b c d''​.
- 
-Nu este necesar sa implementati per se AST-ul, insa prin ierarhia de clase acesta este intrisec. 
  
 ===== Implementare ===== ===== Implementare =====