diff options
author | Antonio Giovanni Colombo <azc100@gmail.com> | 2021-09-12 11:45:23 +0200 |
---|---|---|
committer | Antonio Giovanni Colombo <azc100@gmail.com> | 2021-09-12 11:45:23 +0200 |
commit | 4c4eb591f23e3d7e28588e968f544aea17245417 (patch) | |
tree | ae4892d309794ff0d895644199cda4750a46967c | |
parent | 6d200ac046e3869af946e2e8c4f58948888c3f8e (diff) | |
download | egawk-4c4eb591f23e3d7e28588e968f544aea17245417.tar.gz egawk-4c4eb591f23e3d7e28588e968f544aea17245417.tar.bz2 egawk-4c4eb591f23e3d7e28588e968f544aea17245417.zip |
update gawktexi.in for a note on regexp
-rw-r--r-- | doc/it/ChangeLog | 4 | ||||
-rwxr-xr-x | doc/it/gawktexi.in | 31 |
2 files changed, 33 insertions, 2 deletions
diff --git a/doc/it/ChangeLog b/doc/it/ChangeLog index 63d461a7..24e7bd7b 100644 --- a/doc/it/ChangeLog +++ b/doc/it/ChangeLog @@ -1,3 +1,7 @@ +2021-09-12 Antonio Giovanni Colombo <azc100@gmail.com> + + * gawktexi.in: Updated. + 2021-08-28 Antonio Giovanni Colombo <azc100@gmail.com> * gawktexi.in: Updated. diff --git a/doc/it/gawktexi.in b/doc/it/gawktexi.in index 4b5ff02b..5a2e3055 100755 --- a/doc/it/gawktexi.in +++ b/doc/it/gawktexi.in @@ -6430,18 +6430,45 @@ qualsiasi versione di @command{awk}.@footnote{@`E meglio usare due barre inverse se si sta usando una costante stringa con un operatore @dfn{regexp} o una funzione.} -Infine, quando @samp{@{} e @samp{@}} appaiono in costanti @dfn{regexp} +Quando @samp{@{} e @samp{@}} appaiono in costanti @dfn{regexp} in un modo non interpretabile come espressione di intervallo (come in @code{/q@{a@}/}), allora sono prese letteralmente. Come detto sopra, le espressioni di intervallo non erano tradizionalmente disponibili in @command{awk}. Con la versione di Marzo 2019 di BWK @command{awk} sono (finalmente) disponibili. - Ciononostante, non essendo state disponibili per parecchi decenni, @command{gawk} continua a non renderle disponibili quando viene eseguito in modalit@`a compatibile (@pxref{Opzioni}). +POSIX afferma che espressioni di intervallo che contengano +contatori di ripetizione maggiori di 255 producono risultati +indeterminati. + +@cindex Eggert, Paul +Nel manuale del comando GNU @command{grep}, Paul Eggert nota +quanto segue: + +@quotation +Le espressioni di intervallo possono essere implementate internamente +tramite ripetizioni. Per esempio, @samp{^(a|bc)@{2,4@}$} potrebbe +essere implementata come @samp{^(a|bc)(a|bc)((a|bc)(a|bc)?)?$}. +Un contatore di ripetizioni elevato potrebbe esaurire la memoria del computer +o rallentare grandemente la determinazione delle corrispondenze. +Anche contatori bassi possono causare problemi se sono inseriti +"a cascata"; per esempio, +@samp{grep -E ".*@{10,@}@{10,@}@{10,@}@{10,@}@{10,@}"} +con molta probabilit@`a basta a far "esplodere" la @dfn{stack}. +Fortunatamente, espressioni regolari di questo tipo sono +tipicamente artificiali, mentre ripetizioni "a cascata" non +rispettano lo standard POSIX, e quindi non possono in ogni caso +essere inserite in programmi portabili [tra differenti implementazioni +di @command{grep}]. +@end quotation + +@noindent +Lo stesso vale anche per @command{gawk}. + @node Espressioni tra parentesi quadre @section Usare espressioni tra parentesi quadre @cindex espressioni @subentry tra parentesi quadre |