aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntonio Giovanni Colombo <azc100@gmail.com>2021-09-12 11:45:23 +0200
committerAntonio Giovanni Colombo <azc100@gmail.com>2021-09-12 11:45:23 +0200
commit4c4eb591f23e3d7e28588e968f544aea17245417 (patch)
treeae4892d309794ff0d895644199cda4750a46967c
parent6d200ac046e3869af946e2e8c4f58948888c3f8e (diff)
downloadegawk-4c4eb591f23e3d7e28588e968f544aea17245417.tar.gz
egawk-4c4eb591f23e3d7e28588e968f544aea17245417.tar.bz2
egawk-4c4eb591f23e3d7e28588e968f544aea17245417.zip
update gawktexi.in for a note on regexp
-rw-r--r--doc/it/ChangeLog4
-rwxr-xr-xdoc/it/gawktexi.in31
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