Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lfa:2022:proiect_etapa2 [2022/11/20 10:53] 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 0 \cup 1 \cup 2 \cup \ldots \cup 9 $. | + | Spre exemplu: $math[e+ = ee*] sau $ [0-9] = 0 \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. |