gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-3678-g56b584


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-3678-g56b584c
Date: Sat, 9 Mar 2019 13:52:19 -0500 (EST)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, master has been updated
       via  56b584cbc3ed2f9839c2179ae7feb5e9b080ceb6 (commit)
      from  c486a69055c5c1af8d4a8bf5842157fcc68ec072 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=56b584cbc3ed2f9839c2179ae7feb5e9b080ceb6

commit 56b584cbc3ed2f9839c2179ae7feb5e9b080ceb6
Author: Arnold D. Robbins <address@hidden>
Date:   Sat Mar 9 20:47:12 2019 +0200

    Doc improvements w.r.t. interval expressions.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index d62a388..702ff6e 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2019-03-09         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in (Regexp Operators): Refactor a bit into subsections,
+       mention that BWK awk now has interval expressions.
+
 2019-02-28         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: Fix a spelling error, change update month.
diff --git a/doc/gawk.info b/doc/gawk.info
index b8ab270..b026efc 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -3647,7 +3647,18 @@ You can combine regular expressions with special 
characters, called
 "regular expression operators" or "metacharacters", to increase the
 power and versatility of regular expressions.
 
-   The escape sequences described in *note Escape Sequences:: are valid
+* Menu:
+
+* Regexp Operator Details::     The actual details.
+* Interval Expressions::        Notes on interval expressions.
+
+
+File: gawk.info,  Node: Regexp Operator Details,  Next: Interval Expressions,  
Up: Regexp Operators
+
+3.3.1 Regexp Operators in 'awk'
+-------------------------------
+
+The escape sequences described in *note Escape Sequences:: are valid
 inside a regexp.  They are introduced by a '\' and are recognized and
 converted into corresponding real characters as the very first step in
 processing regexps.
@@ -3772,27 +3783,6 @@ sequences and that are not listed here stand for 
themselves:
      'wh{2,}y'
           Matches 'whhy', 'whhhy', and so on.
 
-     Interval expressions were not traditionally available in 'awk'.
-     They were added as part of the POSIX standard to make 'awk' and
-     'egrep' consistent with each other.
-
-     Initially, because old programs may use '{' and '}' in regexp
-     constants, 'gawk' did _not_ match interval expressions in regexps.
-
-     However, beginning with version 4.0, 'gawk' does match interval
-     expressions by default.  This is because compatibility with POSIX
-     has become more important to most 'gawk' users than compatibility
-     with old programs.
-
-     For programs that use '{' and '}' in regexp constants, it is good
-     practice to always escape them with a backslash.  Then the regexp
-     constants are valid and work the way you want them to, using any
-     version of 'awk'.(2)
-
-     Finally, when '{' and '}' appear in regexp constants in a way that
-     cannot be interpreted as an interval expression (such as '/q{a}/'),
-     then they stand for themselves.
-
    In regular expressions, the '*', '+', and '?' operators, as well as
 the braces '{' and '}', have the highest precedence, followed by
 concatenation, and finally by '|'.  As in arithmetic, parentheses can
@@ -3803,15 +3793,49 @@ themselves when there is nothing in the regexp that 
precedes them.  For
 example, '/+/' matches a literal plus sign.  However, many other
 versions of 'awk' treat such a usage as a syntax error.
 
-   If 'gawk' is in compatibility mode (*note Options::), interval
-expressions are not available in regular expressions.
-
    ---------- Footnotes ----------
 
    (1) In other literature, you may see a bracket expression referred to
 as either a "character set", a "character class", or a "character list".
 
-   (2) Use two backslashes if you're using a string constant with a
+
+File: gawk.info,  Node: Interval Expressions,  Prev: Regexp Operator Details,  
Up: Regexp Operators
+
+3.3.2 Some Notes On Interval Expressions
+----------------------------------------
+
+Interval expressions were not traditionally available in 'awk'.  They
+were added as part of the POSIX standard to make 'awk' and 'egrep'
+consistent with each other.
+
+   Initially, because old programs may use '{' and '}' in regexp
+constants, 'gawk' did _not_ match interval expressions in regexps.
+
+   However, beginning with version 4.0, 'gawk' does match interval
+expressions by default.  This is because compatibility with POSIX has
+become more important to most 'gawk' users than compatibility with old
+programs.
+
+   For programs that use '{' and '}' in regexp constants, it is good
+practice to always escape them with a backslash.  Then the regexp
+constants are valid and work the way you want them to, using any version
+of 'awk'.(1)
+
+   Finally, when '{' and '}' appear in regexp constants in a way that
+cannot be interpreted as an interval expression (such as '/q{a}/'), then
+they stand for themselves.
+
+   As mentioned, interval expressions were not traditionally available
+in 'awk'.  In March of 2019, Brian Kernighan's 'awk' (finally) acquired
+them.
+
+   Nonetheless, because they were not available for so many decades,
+'gawk' continues to not supply them when in compatibility mode (*note
+Options::).
+
+   ---------- Footnotes ----------
+
+   (1) Use two backslashes if you're using a string constant with a
 regexp operator or function.
 
 
@@ -33561,7 +33585,8 @@ Index
 * $ (dollar sign), $ field operator <1>: Precedence.          (line  42)
 * $ (dollar sign), incrementing fields and arrays: Increment Ops.
                                                               (line  30)
-* $ (dollar sign), regexp operator:      Regexp Operators.    (line  35)
+* $ (dollar sign), regexp operator:      Regexp Operator Details.
+                                                              (line  31)
 * % (percent sign), % operator:          Precedence.          (line  54)
 * % (percent sign), %= operator:         Assignment Ops.      (line 129)
 * % (percent sign), %= operator <1>:     Precedence.          (line  94)
@@ -33575,11 +33600,12 @@ Index
 * ' (single quote), vs. apostrophe:      Comments.            (line  27)
 * ' (single quote), with double quotes:  Quoting.             (line  73)
 * () (parentheses), in a profile:        Profiling.           (line 146)
-* () (parentheses), regexp operator:     Regexp Operators.    (line  81)
+* () (parentheses), regexp operator:     Regexp Operator Details.
+                                                              (line  77)
 * * (asterisk), * operator, as multiplication operator: Precedence.
                                                               (line  54)
-* * (asterisk), * operator, as regexp operator: Regexp Operators.
-                                                              (line  89)
+* * (asterisk), * operator, as regexp operator: Regexp Operator Details.
+                                                              (line  85)
 * * (asterisk), * operator, null strings, matching: String Functions.
                                                               (line 542)
 * * (asterisk), ** operator:             Arithmetic Ops.      (line  81)
@@ -33595,7 +33621,8 @@ Index
 * + (plus sign), ++ operator <2>:        Precedence.          (line  45)
 * + (plus sign), += operator:            Assignment Ops.      (line  81)
 * + (plus sign), += operator <1>:        Precedence.          (line  94)
-* + (plus sign), regexp operator:        Regexp Operators.    (line 105)
+* + (plus sign), regexp operator:        Regexp Operator Details.
+                                                              (line 101)
 * , (comma), in range patterns:          Ranges.              (line   6)
 * - (hyphen), - operator:                Precedence.          (line  51)
 * - (hyphen), - operator <1>:            Precedence.          (line  57)
@@ -33693,7 +33720,8 @@ Index
 * -V option:                             Options.             (line 329)
 * -v option <1>:                         Assignment Options.  (line  12)
 * -W option:                             Options.             (line  51)
-* . (period), regexp operator:           Regexp Operators.    (line  44)
+* . (period), regexp operator:           Regexp Operator Details.
+                                                              (line  40)
 * .gmo files:                            Explaining gettext.  (line  42)
 * .gmo files, specifying directory of:   Explaining gettext.  (line  54)
 * .gmo files, specifying directory of <1>: Programmer i18n.   (line  48)
@@ -33746,7 +33774,8 @@ Index
 * > (right angle bracket), >> operator (I/O): Redirection.    (line  50)
 * > (right angle bracket), >> operator (I/O) <1>: Precedence. (line  64)
 * ? (question mark), ?: operator:        Precedence.          (line  91)
-* ? (question mark), regexp operator:    Regexp Operators.    (line 111)
+* ? (question mark), regexp operator:    Regexp Operator Details.
+                                                              (line 107)
 * ? (question mark), regexp operator <1>: GNU Regexp Operators.
                                                               (line  62)
 * @-notation for indirect function calls: Indirect Calls.     (line  47)
@@ -33757,7 +33786,8 @@ Index
                                                               (line   6)
 * @namespace, no effect on BEGIN, BEGINFILE, END, and ENDFILE: Changing The 
Namespace.
                                                               (line  37)
-* [] (square brackets), regexp operator: Regexp Operators.    (line  56)
+* [] (square brackets), regexp operator: Regexp Operator Details.
+                                                              (line  52)
 * \ (backslash):                         Comments.            (line  50)
 * \ (backslash), as field separator:     Command Line Field Separator.
                                                               (line  24)
@@ -33775,7 +33805,8 @@ Index
                                                               (line 108)
 * \ (backslash), in regexp constants:    Computed Regexps.    (line  30)
 * \ (backslash), in shell commands:      Quoting.             (line  48)
-* \ (backslash), regexp operator:        Regexp Operators.    (line  18)
+* \ (backslash), regexp operator:        Regexp Operator Details.
+                                                              (line  14)
 * \ (backslash), \" escape sequence:     Escape Sequences.    (line  85)
 * \ (backslash), \' operator (gawk):     GNU Regexp Operators.
                                                               (line  59)
@@ -33810,7 +33841,8 @@ Index
 * ^ (caret), in bracket expressions:     Bracket Expressions. (line  25)
 * ^ (caret), in FS:                      Regexp Field Splitting.
                                                               (line  59)
-* ^ (caret), regexp operator:            Regexp Operators.    (line  22)
+* ^ (caret), regexp operator:            Regexp Operator Details.
+                                                              (line  18)
 * ^ (caret), regexp operator <1>:        GNU Regexp Operators.
                                                               (line  62)
 * ^ (caret), ^ operator:                 Precedence.          (line  48)
@@ -33826,7 +33858,8 @@ Index
 * {} (braces):                           Profiling.           (line 142)
 * {} (braces), actions and:              Action Overview.     (line  19)
 * {} (braces), statements, grouping:     Statements.          (line  10)
-* | (vertical bar):                      Regexp Operators.    (line  70)
+* | (vertical bar):                      Regexp Operator Details.
+                                                              (line  66)
 * | (vertical bar), | operator (I/O):    Getline/Pipe.        (line  10)
 * | (vertical bar), | operator (I/O) <1>: Redirection.        (line  57)
 * | (vertical bar), | operator (I/O) <2>: Precedence.         (line  64)
@@ -33986,8 +34019,8 @@ Index
 * associative arrays:                    Array Intro.         (line  48)
 * asterisk (*), * operator, as multiplication operator: Precedence.
                                                               (line  54)
-* asterisk (*), * operator, as regexp operator: Regexp Operators.
-                                                              (line  89)
+* asterisk (*), * operator, as regexp operator: Regexp Operator Details.
+                                                              (line  85)
 * asterisk (*), * operator, null strings, matching: String Functions.
                                                               (line 542)
 * asterisk (*), ** operator:             Arithmetic Ops.      (line  81)
@@ -34082,7 +34115,8 @@ Index
                                                               (line 108)
 * backslash (\), in regexp constants:    Computed Regexps.    (line  30)
 * backslash (\), in shell commands:      Quoting.             (line  48)
-* backslash (\), regexp operator:        Regexp Operators.    (line  18)
+* backslash (\), regexp operator:        Regexp Operator Details.
+                                                              (line  14)
 * backslash (\), \" escape sequence:     Escape Sequences.    (line  85)
 * backslash (\), \' operator (gawk):     GNU Regexp Operators.
                                                               (line  59)
@@ -34178,7 +34212,8 @@ Index
 * braces ({}):                           Profiling.           (line 142)
 * braces ({}), actions and:              Action Overview.     (line  19)
 * braces ({}), statements, grouping:     Statements.          (line  10)
-* bracket expressions:                   Regexp Operators.    (line  56)
+* bracket expressions:                   Regexp Operator Details.
+                                                              (line  52)
 * bracket expressions <1>:               Bracket Expressions. (line   6)
 * bracket expressions, character classes: Bracket Expressions.
                                                               (line  40)
@@ -34186,7 +34221,8 @@ Index
                                                               (line  90)
 * bracket expressions, collating symbols: Bracket Expressions.
                                                               (line  97)
-* bracket expressions, complemented:     Regexp Operators.    (line  64)
+* bracket expressions, complemented:     Regexp Operator Details.
+                                                              (line  60)
 * bracket expressions, equivalence classes: Bracket Expressions.
                                                               (line 103)
 * bracket expressions, non-ASCII:        Bracket Expressions. (line  90)
@@ -34256,7 +34292,8 @@ Index
 * call stack (debugger):                 Debugging Terms.     (line  10)
 * call stack, display in debugger:       Execution Stack.     (line  13)
 * caret (^), in bracket expressions:     Bracket Expressions. (line  25)
-* caret (^), regexp operator:            Regexp Operators.    (line  22)
+* caret (^), regexp operator:            Regexp Operator Details.
+                                                              (line  18)
 * caret (^), regexp operator <1>:        GNU Regexp Operators.
                                                               (line  62)
 * caret (^), ^ operator:                 Precedence.          (line  48)
@@ -34271,16 +34308,17 @@ Index
 * case sensitivity, regexps and <1>:     User-modified.       (line  79)
 * case sensitivity, string comparisons and: User-modified.    (line  79)
 * CGI, awk scripts for:                  Options.             (line 147)
-* character classes, See bracket expressions: Regexp Operators.
-                                                              (line  56)
+* character classes, See bracket expressions: Regexp Operator Details.
+                                                              (line  52)
 * character lists in regular expressions: Bracket Expressions.
                                                               (line   6)
-* character lists, See bracket expressions: Regexp Operators. (line  56)
+* character lists, See bracket expressions: Regexp Operator Details.
+                                                              (line  52)
 * character sets (machine character encodings): Ordinal Functions.
                                                               (line  45)
 * character sets (machine character encodings) <1>: Glossary. (line 194)
-* character sets, See Also bracket expressions: Regexp Operators.
-                                                              (line  56)
+* character sets, See Also bracket expressions: Regexp Operator Details.
+                                                              (line  52)
 * characters, counting:                  Wc Program.          (line   6)
 * characters, transliterating:           Translate Program.   (line   6)
 * characters, values of as numbers:      Ordinal Functions.   (line   6)
@@ -34773,7 +34811,8 @@ Index
 * dollar sign ($), $ field operator <1>: Precedence.          (line  42)
 * dollar sign ($), incrementing fields and arrays: Increment Ops.
                                                               (line  30)
-* dollar sign ($), regexp operator:      Regexp Operators.    (line  35)
+* dollar sign ($), regexp operator:      Regexp Operator Details.
+                                                              (line  31)
 * double quote ("), in regexp constants: Computed Regexps.    (line  30)
 * double quote ("), in shell commands:   Quoting.             (line  54)
 * double-precision:                      Computer Arithmetic. (line  61)
@@ -35242,7 +35281,8 @@ Index
                                                               (line  13)
 * gawk, interpreter, adding code to:     Using Internal File Ops.
                                                               (line   6)
-* gawk, interval expressions and:        Regexp Operators.    (line 139)
+* gawk, interval expressions and:        Interval Expressions.
+                                                              (line  10)
 * gawk, line continuation in:            Conditional Exp.     (line  34)
 * gawk, LINT variable in:                User-modified.       (line  90)
 * gawk, list of contributors to:         Contributors.        (line   6)
@@ -35259,7 +35299,8 @@ Index
                                                               (line  26)
 * gawk, regular expressions, operators:  GNU Regexp Operators.
                                                               (line   6)
-* gawk, regular expressions, precedence: Regexp Operators.    (line 161)
+* gawk, regular expressions, precedence: Regexp Operator Details.
+                                                              (line 136)
 * gawk, RT variable in:                  awk split records.   (line 131)
 * gawk, RT variable in <1>:              gawk split records.  (line  58)
 * gawk, RT variable in <2>:              Multiple Line.       (line 130)
@@ -35502,7 +35543,8 @@ Index
 * internationalizing a program:          Explaining gettext.  (line   6)
 * interpreted programs:                  Basic High Level.    (line  13)
 * interpreted programs <1>:              Glossary.            (line 443)
-* interval expressions, regexp operator: Regexp Operators.    (line 116)
+* interval expressions, regexp operator: Regexp Operator Details.
+                                                              (line 112)
 * inventory-shipped file:                Sample Data Files.   (line  32)
 * invoke shell command:                  I/O Functions.       (line 106)
 * isarray:                               Type Functions.      (line  11)
@@ -35893,7 +35935,8 @@ Index
 * Papadopoulos, Panos:                   Contributors.        (line 131)
 * parent process ID of gawk process:     Auto-set.            (line 251)
 * parentheses (), in a profile:          Profiling.           (line 146)
-* parentheses (), regexp operator:       Regexp Operators.    (line  81)
+* parentheses (), regexp operator:       Regexp Operator Details.
+                                                              (line  77)
 * password file:                         Passwd Functions.    (line  16)
 * patsplit:                              String Functions.    (line 297)
 * patterns:                              Patterns and Actions.
@@ -35917,7 +35960,8 @@ Index
 * percent sign (%), % operator:          Precedence.          (line  54)
 * percent sign (%), %= operator:         Assignment Ops.      (line 129)
 * percent sign (%), %= operator <1>:     Precedence.          (line  94)
-* period (.), regexp operator:           Regexp Operators.    (line  44)
+* period (.), regexp operator:           Regexp Operator Details.
+                                                              (line  40)
 * Perl:                                  Future Extensions.   (line   6)
 * Peters, Arno:                          Contributors.        (line  88)
 * Peterson, Hal:                         Contributors.        (line  40)
@@ -35937,7 +35981,8 @@ Index
 * plus sign (+), ++ operator <2>:        Precedence.          (line  45)
 * plus sign (+), += operator:            Assignment Ops.      (line  81)
 * plus sign (+), += operator <1>:        Precedence.          (line  94)
-* plus sign (+), regexp operator:        Regexp Operators.    (line 105)
+* plus sign (+), regexp operator:        Regexp Operator Details.
+                                                              (line 101)
 * pointers to functions:                 Indirect Calls.      (line   6)
 * portability:                           Escape Sequences.    (line 103)
 * portability, #! (executable scripts):  Executable Scripts.  (line  33)
@@ -36002,14 +36047,17 @@ Index
 * POSIX awk, functions and, gsub()/sub(): Gory Details.       (line  90)
 * POSIX awk, functions and, length():    String Functions.    (line 180)
 * POSIX awk, GNU long options and:       Options.             (line  15)
-* POSIX awk, interval expressions in:    Regexp Operators.    (line 135)
+* POSIX awk, interval expressions in:    Interval Expressions.
+                                                              (line   6)
 * POSIX awk, next/nextfile statements and: Next Statement.    (line  44)
 * POSIX awk, numeric strings and:        Variable Typing.     (line  67)
 * POSIX awk, OFMT variable and:          OFMT.                (line  27)
 * POSIX awk, OFMT variable and <1>:      Strings And Numbers. (line  56)
-* POSIX awk, period (.), using:          Regexp Operators.    (line  51)
+* POSIX awk, period (.), using:          Regexp Operator Details.
+                                                              (line  47)
 * POSIX awk, printf format strings and:  Format Modifiers.    (line 157)
-* POSIX awk, regular expressions and:    Regexp Operators.    (line 161)
+* POSIX awk, regular expressions and:    Regexp Operator Details.
+                                                              (line 136)
 * POSIX awk, timestamps and:             Time Functions.      (line   6)
 * POSIX awk, | I/O operator and:         Getline/Pipe.        (line  56)
 * POSIX mode:                            Options.             (line 282)
@@ -36021,7 +36069,8 @@ Index
 * PREC variable:                         User-modified.       (line 127)
 * precedence:                            Increment Ops.       (line  60)
 * precedence <1>:                        Precedence.          (line   6)
-* precedence, regexp operators:          Regexp Operators.    (line 156)
+* precedence, regexp operators:          Regexp Operator Details.
+                                                              (line 131)
 * predefined variables:                  Built-in Variables.  (line   6)
 * predefined variables, -v option, setting with: Options.     (line  45)
 * predefined variables, conveying information: Auto-set.      (line   6)
@@ -36121,7 +36170,8 @@ Index
 * qualified name, use of:                Qualified Names.     (line  17)
 * Quanstrom, Erik:                       Alarm Program.       (line   8)
 * question mark (?), ?: operator:        Precedence.          (line  91)
-* question mark (?), regexp operator:    Regexp Operators.    (line 111)
+* question mark (?), regexp operator:    Regexp Operator Details.
+                                                              (line 107)
 * question mark (?), regexp operator <1>: GNU Regexp Operators.
                                                               (line  62)
 * QuikTrim Awk:                          Other Versions.      (line 143)
@@ -36195,7 +36245,8 @@ Index
 * register extension:                    Registration Functions.
                                                               (line   6)
 * regular expressions:                   Regexp.              (line   6)
-* regular expressions, anchors in:       Regexp Operators.    (line  22)
+* regular expressions, anchors in:       Regexp Operator Details.
+                                                              (line  18)
 * regular expressions, as field separators: Field Separators. (line  50)
 * regular expressions, as field separators <1>: Regexp Field Splitting.
                                                               (line   6)
@@ -36224,8 +36275,8 @@ Index
                                                               (line   6)
 * regular expressions, operators, gawk:  GNU Regexp Operators.
                                                               (line   6)
-* regular expressions, operators, precedence of: Regexp Operators.
-                                                              (line 156)
+* regular expressions, operators, precedence of: Regexp Operator Details.
+                                                              (line 131)
 * regular expressions, searching for:    Egrep Program.       (line   6)
 * relational operators, See comparison operators: Typing and Comparison.
                                                               (line   9)
@@ -36485,7 +36536,8 @@ Index
 * sprintf() function, print/printf statements and: Round Function.
                                                               (line   6)
 * sqrt:                                  Numeric Functions.   (line  78)
-* square brackets ([]), regexp operator: Regexp Operators.    (line  56)
+* square brackets ([]), regexp operator: Regexp Operator Details.
+                                                              (line  52)
 * square root:                           Numeric Functions.   (line  78)
 * srand:                                 Numeric Functions.   (line  82)
 * stack frame (debugger):                Debugging Terms.     (line  10)
@@ -36586,7 +36638,8 @@ Index
 * Texinfo <4>:                           Distribution contents.
                                                               (line  83)
 * Texinfo <5>:                           Adding Code.         (line 100)
-* Texinfo, chapter beginnings in files:  Regexp Operators.    (line  22)
+* Texinfo, chapter beginnings in files:  Regexp Operator Details.
+                                                              (line  18)
 * Texinfo, extracting programs from source files: Extract Program.
                                                               (line   6)
 * text, printing:                        Print.               (line  22)
@@ -36750,7 +36803,8 @@ Index
 * version of gawk extension API:         Auto-set.            (line 287)
 * version of GNU MP library:             Auto-set.            (line 270)
 * version of GNU MPFR library:           Auto-set.            (line 272)
-* vertical bar (|):                      Regexp Operators.    (line  70)
+* vertical bar (|):                      Regexp Operator Details.
+                                                              (line  66)
 * vertical bar (|), | operator (I/O):    Getline/Pipe.        (line  10)
 * vertical bar (|), | operator (I/O) <1>: Precedence.         (line  64)
 * vertical bar (|), |& operator (I/O):   Getline/Coprocess.   (line   6)
@@ -36875,536 +36929,538 @@ Node: Regexp159037
 Node: Regexp Usage160491
 Node: Escape Sequences162528
 Node: Regexp Operators168760
-Ref: Regexp Operators-Footnote-1176176
-Ref: Regexp Operators-Footnote-2176323
-Node: Bracket Expressions176421
-Ref: table-char-classes178897
-Node: Leftmost Longest182223
-Node: Computed Regexps183526
-Node: GNU Regexp Operators186953
-Node: Case-sensitivity190632
-Ref: Case-sensitivity-Footnote-1193519
-Ref: Case-sensitivity-Footnote-2193754
-Node: Regexp Summary193862
-Node: Reading Files195328
-Node: Records197597
-Node: awk split records198672
-Node: gawk split records203947
-Ref: gawk split records-Footnote-1208533
-Node: Fields208570
-Node: Nonconstant Fields211311
-Ref: Nonconstant Fields-Footnote-1213547
-Node: Changing Fields213751
-Node: Field Separators219782
-Node: Default Field Splitting222480
-Node: Regexp Field Splitting223598
-Node: Single Character Fields226951
-Node: Command Line Field Separator228011
-Node: Full Line Fields231229
-Ref: Full Line Fields-Footnote-1232751
-Ref: Full Line Fields-Footnote-2232797
-Node: Field Splitting Summary232898
-Node: Constant Size234972
-Node: Fixed width data235704
-Node: Skipping intervening239171
-Node: Allowing trailing data239969
-Node: Fields with fixed data241006
-Node: Splitting By Content242524
-Ref: Splitting By Content-Footnote-1246174
-Node: Testing field creation246337
-Node: Multiple Line247962
-Ref: Multiple Line-Footnote-1253846
-Node: Getline254025
-Node: Plain Getline256494
-Node: Getline/Variable259135
-Node: Getline/File260286
-Node: Getline/Variable/File261674
-Ref: Getline/Variable/File-Footnote-1263279
-Node: Getline/Pipe263367
-Node: Getline/Variable/Pipe266074
-Node: Getline/Coprocess267209
-Node: Getline/Variable/Coprocess268476
-Node: Getline Notes269218
-Node: Getline Summary272015
-Ref: table-getline-variants272439
-Node: Read Timeout273187
-Ref: Read Timeout-Footnote-1277093
-Node: Retrying Input277151
-Node: Command-line directories278350
-Node: Input Summary279256
-Node: Input Exercises282428
-Node: Printing283156
-Node: Print284990
-Node: Print Examples286447
-Node: Output Separators289227
-Node: OFMT291244
-Node: Printf292600
-Node: Basic Printf293385
-Node: Control Letters294959
-Node: Format Modifiers300123
-Node: Printf Examples306138
-Node: Redirection308624
-Node: Special FD315465
-Ref: Special FD-Footnote-1318633
-Node: Special Files318707
-Node: Other Inherited Files319324
-Node: Special Network320325
-Node: Special Caveats321185
-Node: Close Files And Pipes322134
-Ref: table-close-pipe-return-values329041
-Ref: Close Files And Pipes-Footnote-1329854
-Ref: Close Files And Pipes-Footnote-2330002
-Node: Nonfatal330154
-Node: Output Summary332492
-Node: Output Exercises333714
-Node: Expressions334393
-Node: Values335581
-Node: Constants336259
-Node: Scalar Constants336950
-Ref: Scalar Constants-Footnote-1339474
-Node: Nondecimal-numbers339724
-Node: Regexp Constants342725
-Node: Using Constant Regexps343251
-Node: Standard Regexp Constants343873
-Node: Strong Regexp Constants347061
-Node: Variables350019
-Node: Using Variables350676
-Node: Assignment Options352586
-Node: Conversion355053
-Node: Strings And Numbers355577
-Ref: Strings And Numbers-Footnote-1358640
-Node: Locale influences conversions358749
-Ref: table-locale-affects361507
-Node: All Operators362125
-Node: Arithmetic Ops362754
-Node: Concatenation365260
-Ref: Concatenation-Footnote-1368107
-Node: Assignment Ops368214
-Ref: table-assign-ops373205
-Node: Increment Ops374518
-Node: Truth Values and Conditions377978
-Node: Truth Values379052
-Node: Typing and Comparison380100
-Node: Variable Typing380920
-Ref: Variable Typing-Footnote-1387383
-Ref: Variable Typing-Footnote-2387455
-Node: Comparison Operators387532
-Ref: table-relational-ops387951
-Node: POSIX String Comparison391446
-Ref: POSIX String Comparison-Footnote-1393141
-Ref: POSIX String Comparison-Footnote-2393280
-Node: Boolean Ops393364
-Ref: Boolean Ops-Footnote-1397846
-Node: Conditional Exp397938
-Node: Function Calls399674
-Node: Precedence403551
-Node: Locales407210
-Node: Expressions Summary408842
-Node: Patterns and Actions411415
-Node: Pattern Overview412535
-Node: Regexp Patterns414212
-Node: Expression Patterns414754
-Node: Ranges418535
-Node: BEGIN/END421643
-Node: Using BEGIN/END422404
-Ref: Using BEGIN/END-Footnote-1425140
-Node: I/O And BEGIN/END425246
-Node: BEGINFILE/ENDFILE427560
-Node: Empty430473
-Node: Using Shell Variables430790
-Node: Action Overview433064
-Node: Statements435389
-Node: If Statement437237
-Node: While Statement438732
-Node: Do Statement440760
-Node: For Statement441908
-Node: Switch Statement445079
-Node: Break Statement447465
-Node: Continue Statement449557
-Node: Next Statement451384
-Node: Nextfile Statement453767
-Node: Exit Statement456419
-Node: Built-in Variables458822
-Node: User-modified459955
-Node: Auto-set467722
-Ref: Auto-set-Footnote-1484529
-Ref: Auto-set-Footnote-2484735
-Node: ARGC and ARGV484791
-Node: Pattern Action Summary489004
-Node: Arrays491434
-Node: Array Basics492763
-Node: Array Intro493607
-Ref: figure-array-elements495582
-Ref: Array Intro-Footnote-1498286
-Node: Reference to Elements498414
-Node: Assigning Elements500878
-Node: Array Example501369
-Node: Scanning an Array503128
-Node: Controlling Scanning506150
-Ref: Controlling Scanning-Footnote-1511549
-Node: Numeric Array Subscripts511865
-Node: Uninitialized Subscripts514049
-Node: Delete515668
-Ref: Delete-Footnote-1518420
-Node: Multidimensional518477
-Node: Multiscanning521572
-Node: Arrays of Arrays523163
-Node: Arrays Summary527931
-Node: Functions530024
-Node: Built-in531062
-Node: Calling Built-in532143
-Node: Numeric Functions534139
-Ref: Numeric Functions-Footnote-1538167
-Ref: Numeric Functions-Footnote-2538812
-Ref: Numeric Functions-Footnote-3538860
-Node: String Functions539132
-Ref: String Functions-Footnote-1562990
-Ref: String Functions-Footnote-2563118
-Ref: String Functions-Footnote-3563366
-Node: Gory Details563453
-Ref: table-sub-escapes565244
-Ref: table-sub-proposed566763
-Ref: table-posix-sub568126
-Ref: table-gensub-escapes569667
-Ref: Gory Details-Footnote-1570490
-Node: I/O Functions570644
-Ref: table-system-return-values577112
-Ref: I/O Functions-Footnote-1579192
-Ref: I/O Functions-Footnote-2579340
-Node: Time Functions579460
-Ref: Time Functions-Footnote-1590131
-Ref: Time Functions-Footnote-2590199
-Ref: Time Functions-Footnote-3590357
-Ref: Time Functions-Footnote-4590468
-Ref: Time Functions-Footnote-5590580
-Ref: Time Functions-Footnote-6590807
-Node: Bitwise Functions591073
-Ref: table-bitwise-ops591667
-Ref: Bitwise Functions-Footnote-1597730
-Ref: Bitwise Functions-Footnote-2597903
-Node: Type Functions598094
-Node: I18N Functions600845
-Node: User-defined602496
-Node: Definition Syntax603308
-Ref: Definition Syntax-Footnote-1608995
-Node: Function Example609066
-Ref: Function Example-Footnote-1611988
-Node: Function Calling612010
-Node: Calling A Function612598
-Node: Variable Scope613556
-Node: Pass By Value/Reference616550
-Node: Function Caveats619194
-Ref: Function Caveats-Footnote-1621241
-Node: Return Statement621361
-Node: Dynamic Typing624340
-Node: Indirect Calls625270
-Ref: Indirect Calls-Footnote-1635522
-Node: Functions Summary635650
-Node: Library Functions638355
-Ref: Library Functions-Footnote-1641962
-Ref: Library Functions-Footnote-2642105
-Node: Library Names642276
-Ref: Library Names-Footnote-1645943
-Ref: Library Names-Footnote-2646166
-Node: General Functions646252
-Node: Strtonum Function647355
-Node: Assert Function650377
-Node: Round Function653703
-Node: Cliff Random Function655243
-Node: Ordinal Functions656259
-Ref: Ordinal Functions-Footnote-1659322
-Ref: Ordinal Functions-Footnote-2659574
-Node: Join Function659784
-Ref: Join Function-Footnote-1661554
-Node: Getlocaltime Function661754
-Node: Readfile Function665496
-Node: Shell Quoting667473
-Node: Data File Management668874
-Node: Filetrans Function669506
-Node: Rewind Function673602
-Node: File Checking675511
-Ref: File Checking-Footnote-1676845
-Node: Empty Files677046
-Node: Ignoring Assigns679025
-Node: Getopt Function680575
-Ref: Getopt Function-Footnote-1692044
-Node: Passwd Functions692244
-Ref: Passwd Functions-Footnote-1701083
-Node: Group Functions701171
-Ref: Group Functions-Footnote-1709069
-Node: Walking Arrays709276
-Node: Library Functions Summary712284
-Node: Library Exercises713690
-Node: Sample Programs714155
-Node: Running Examples714925
-Node: Clones715653
-Node: Cut Program716877
-Node: Egrep Program726806
-Ref: Egrep Program-Footnote-1734318
-Node: Id Program734428
-Node: Split Program738108
-Ref: Split Program-Footnote-1741566
-Node: Tee Program741695
-Node: Uniq Program744485
-Node: Wc Program752106
-Ref: Wc Program-Footnote-1756361
-Node: Miscellaneous Programs756455
-Node: Dupword Program757668
-Node: Alarm Program759698
-Node: Translate Program764553
-Ref: Translate Program-Footnote-1769118
-Node: Labels Program769388
-Ref: Labels Program-Footnote-1772739
-Node: Word Sorting772823
-Node: History Sorting776895
-Node: Extract Program778730
-Node: Simple Sed786784
-Node: Igawk Program789858
-Ref: Igawk Program-Footnote-1804189
-Ref: Igawk Program-Footnote-2804391
-Ref: Igawk Program-Footnote-3804513
-Node: Anagram Program804628
-Node: Signature Program807690
-Node: Programs Summary808937
-Node: Programs Exercises810151
-Ref: Programs Exercises-Footnote-1814280
-Node: Advanced Features814371
-Node: Nondecimal Data816361
-Node: Array Sorting817952
-Node: Controlling Array Traversal818652
-Ref: Controlling Array Traversal-Footnote-1827020
-Node: Array Sorting Functions827138
-Ref: Array Sorting Functions-Footnote-1832229
-Node: Two-way I/O832425
-Ref: Two-way I/O-Footnote-1840146
-Ref: Two-way I/O-Footnote-2840333
-Node: TCP/IP Networking840415
-Node: Profiling843533
-Node: Advanced Features Summary852551
-Node: Internationalization854395
-Node: I18N and L10N855875
-Node: Explaining gettext856562
-Ref: Explaining gettext-Footnote-1862454
-Ref: Explaining gettext-Footnote-2862639
-Node: Programmer i18n862804
-Ref: Programmer i18n-Footnote-1867753
-Node: Translator i18n867802
-Node: String Extraction868596
-Ref: String Extraction-Footnote-1869728
-Node: Printf Ordering869814
-Ref: Printf Ordering-Footnote-1872600
-Node: I18N Portability872664
-Ref: I18N Portability-Footnote-1875120
-Node: I18N Example875183
-Ref: I18N Example-Footnote-1878458
-Ref: I18N Example-Footnote-2878531
-Node: Gawk I18N878640
-Node: I18N Summary879285
-Node: Debugger880626
-Node: Debugging881626
-Node: Debugging Concepts882067
-Node: Debugging Terms883876
-Node: Awk Debugging886451
-Ref: Awk Debugging-Footnote-1887396
-Node: Sample Debugging Session887528
-Node: Debugger Invocation888062
-Node: Finding The Bug889448
-Node: List of Debugger Commands895922
-Node: Breakpoint Control897255
-Node: Debugger Execution Control900949
-Node: Viewing And Changing Data904311
-Node: Execution Stack907852
-Node: Debugger Info909489
-Node: Miscellaneous Debugger Commands913560
-Node: Readline Support918622
-Node: Limitations919518
-Node: Debugging Summary921627
-Node: Namespaces922906
-Node: Global Namespace923985
-Node: Qualified Names925383
-Node: Default Namespace926382
-Node: Changing The Namespace927123
-Node: Naming Rules928737
-Node: Internal Name Management930585
-Node: Namespace Example931627
-Node: Namespace And Features934189
-Node: Namespace Summary935624
-Node: Arbitrary Precision Arithmetic937101
-Node: Computer Arithmetic938588
-Ref: table-numeric-ranges942354
-Ref: table-floating-point-ranges942847
-Ref: Computer Arithmetic-Footnote-1943505
-Node: Math Definitions943562
-Ref: table-ieee-formats946878
-Ref: Math Definitions-Footnote-1947481
-Node: MPFR features947586
-Node: FP Math Caution949304
-Ref: FP Math Caution-Footnote-1950376
-Node: Inexactness of computations950745
-Node: Inexact representation951705
-Node: Comparing FP Values953065
-Node: Errors accumulate954306
-Node: Getting Accuracy955739
-Node: Try To Round958449
-Node: Setting precision959348
-Ref: table-predefined-precision-strings960045
-Node: Setting the rounding mode961875
-Ref: table-gawk-rounding-modes962249
-Ref: Setting the rounding mode-Footnote-1966180
-Node: Arbitrary Precision Integers966359
-Ref: Arbitrary Precision Integers-Footnote-1969534
-Node: Checking for MPFR969683
-Node: POSIX Floating Point Problems971157
-Ref: POSIX Floating Point Problems-Footnote-1975442
-Node: Floating point summary975480
-Node: Dynamic Extensions977670
-Node: Extension Intro979223
-Node: Plugin License980489
-Node: Extension Mechanism Outline981286
-Ref: figure-load-extension981725
-Ref: figure-register-new-function983290
-Ref: figure-call-new-function984382
-Node: Extension API Description986444
-Node: Extension API Functions Introduction988086
-Ref: table-api-std-headers989922
-Node: General Data Types993787
-Ref: General Data Types-Footnote-11002148
-Node: Memory Allocation Functions1002447
-Ref: Memory Allocation Functions-Footnote-11006657
-Node: Constructor Functions1006756
-Node: Registration Functions1010342
-Node: Extension Functions1011027
-Node: Exit Callback Functions1016349
-Node: Extension Version String1017599
-Node: Input Parsers1018262
-Node: Output Wrappers1030983
-Node: Two-way processors1035495
-Node: Printing Messages1037760
-Ref: Printing Messages-Footnote-11038931
-Node: Updating ERRNO1039084
-Node: Requesting Values1039823
-Ref: table-value-types-returned1040560
-Node: Accessing Parameters1041496
-Node: Symbol Table Access1042731
-Node: Symbol table by name1043243
-Ref: Symbol table by name-Footnote-11046267
-Node: Symbol table by cookie1046395
-Ref: Symbol table by cookie-Footnote-11050580
-Node: Cached values1050644
-Ref: Cached values-Footnote-11054180
-Node: Array Manipulation1054333
-Ref: Array Manipulation-Footnote-11055424
-Node: Array Data Types1055461
-Ref: Array Data Types-Footnote-11058119
-Node: Array Functions1058211
-Node: Flattening Arrays1062709
-Node: Creating Arrays1069685
-Node: Redirection API1074452
-Node: Extension API Variables1077285
-Node: Extension Versioning1077996
-Ref: gawk-api-version1078425
-Node: Extension GMP/MPFR Versioning1080156
-Node: Extension API Informational Variables1081784
-Node: Extension API Boilerplate1082857
-Node: Changes from API V11086831
-Node: Finding Extensions1088403
-Node: Extension Example1088962
-Node: Internal File Description1089760
-Node: Internal File Ops1093840
-Ref: Internal File Ops-Footnote-11105190
-Node: Using Internal File Ops1105330
-Ref: Using Internal File Ops-Footnote-11107713
-Node: Extension Samples1107987
-Node: Extension Sample File Functions1109516
-Node: Extension Sample Fnmatch1117165
-Node: Extension Sample Fork1118652
-Node: Extension Sample Inplace1119870
-Node: Extension Sample Ord1123174
-Node: Extension Sample Readdir1124010
-Ref: table-readdir-file-types1124899
-Node: Extension Sample Revout1125704
-Node: Extension Sample Rev2way1126293
-Node: Extension Sample Read write array1127033
-Node: Extension Sample Readfile1128975
-Node: Extension Sample Time1130070
-Node: Extension Sample API Tests1131418
-Node: gawkextlib1131910
-Node: Extension summary1134828
-Node: Extension Exercises1138530
-Node: Language History1139772
-Node: V7/SVR3.11141428
-Node: SVR41143580
-Node: POSIX1145014
-Node: BTL1146394
-Node: POSIX/GNU1147123
-Node: Feature History1152901
-Node: Common Extensions1168947
-Node: Ranges and Locales1170230
-Ref: Ranges and Locales-Footnote-11174846
-Ref: Ranges and Locales-Footnote-21174873
-Ref: Ranges and Locales-Footnote-31175108
-Node: Contributors1175329
-Node: History summary1181274
-Node: Installation1182654
-Node: Gawk Distribution1183598
-Node: Getting1184082
-Node: Extracting1185045
-Node: Distribution contents1186683
-Node: Unix Installation1193163
-Node: Quick Installation1193845
-Node: Shell Startup Files1196259
-Node: Additional Configuration Options1197348
-Node: Configuration Philosophy1199513
-Node: Non-Unix Installation1201882
-Node: PC Installation1202342
-Node: PC Binary Installation1203180
-Node: PC Compiling1203615
-Node: PC Using1204732
-Node: Cygwin1208285
-Node: MSYS1209384
-Node: VMS Installation1209885
-Node: VMS Compilation1210676
-Ref: VMS Compilation-Footnote-11211905
-Node: VMS Dynamic Extensions1211963
-Node: VMS Installation Details1213648
-Node: VMS Running1215901
-Node: VMS GNV1220180
-Node: VMS Old Gawk1220915
-Node: Bugs1221386
-Node: Bug address1222049
-Node: Usenet1225031
-Node: Maintainers1226035
-Node: Other Versions1227296
-Node: Installation summary1234210
-Node: Notes1235412
-Node: Compatibility Mode1236206
-Node: Additions1236988
-Node: Accessing The Source1237913
-Node: Adding Code1239350
-Node: New Ports1245569
-Node: Derived Files1250057
-Ref: Derived Files-Footnote-11255703
-Ref: Derived Files-Footnote-21255738
-Ref: Derived Files-Footnote-31256336
-Node: Future Extensions1256450
-Node: Implementation Limitations1257108
-Node: Extension Design1258291
-Node: Old Extension Problems1259435
-Ref: Old Extension Problems-Footnote-11260953
-Node: Extension New Mechanism Goals1261010
-Ref: Extension New Mechanism Goals-Footnote-11264374
-Node: Extension Other Design Decisions1264563
-Node: Extension Future Growth1266676
-Node: Notes summary1267512
-Node: Basic Concepts1268687
-Node: Basic High Level1269368
-Ref: figure-general-flow1269650
-Ref: figure-process-flow1270335
-Ref: Basic High Level-Footnote-11273636
-Node: Basic Data Typing1273821
-Node: Glossary1277149
-Node: Copying1308987
-Node: GNU Free Documentation License1346530
-Node: Index1371650
+Node: Regexp Operator Details169245
+Ref: Regexp Operator Details-Footnote-1175367
+Node: Interval Expressions175514
+Ref: Interval Expressions-Footnote-1176949
+Node: Bracket Expressions177047
+Ref: table-char-classes179523
+Node: Leftmost Longest182849
+Node: Computed Regexps184152
+Node: GNU Regexp Operators187579
+Node: Case-sensitivity191258
+Ref: Case-sensitivity-Footnote-1194145
+Ref: Case-sensitivity-Footnote-2194380
+Node: Regexp Summary194488
+Node: Reading Files195954
+Node: Records198223
+Node: awk split records199298
+Node: gawk split records204573
+Ref: gawk split records-Footnote-1209159
+Node: Fields209196
+Node: Nonconstant Fields211937
+Ref: Nonconstant Fields-Footnote-1214173
+Node: Changing Fields214377
+Node: Field Separators220408
+Node: Default Field Splitting223106
+Node: Regexp Field Splitting224224
+Node: Single Character Fields227577
+Node: Command Line Field Separator228637
+Node: Full Line Fields231855
+Ref: Full Line Fields-Footnote-1233377
+Ref: Full Line Fields-Footnote-2233423
+Node: Field Splitting Summary233524
+Node: Constant Size235598
+Node: Fixed width data236330
+Node: Skipping intervening239797
+Node: Allowing trailing data240595
+Node: Fields with fixed data241632
+Node: Splitting By Content243150
+Ref: Splitting By Content-Footnote-1246800
+Node: Testing field creation246963
+Node: Multiple Line248588
+Ref: Multiple Line-Footnote-1254472
+Node: Getline254651
+Node: Plain Getline257120
+Node: Getline/Variable259761
+Node: Getline/File260912
+Node: Getline/Variable/File262300
+Ref: Getline/Variable/File-Footnote-1263905
+Node: Getline/Pipe263993
+Node: Getline/Variable/Pipe266700
+Node: Getline/Coprocess267835
+Node: Getline/Variable/Coprocess269102
+Node: Getline Notes269844
+Node: Getline Summary272641
+Ref: table-getline-variants273065
+Node: Read Timeout273813
+Ref: Read Timeout-Footnote-1277719
+Node: Retrying Input277777
+Node: Command-line directories278976
+Node: Input Summary279882
+Node: Input Exercises283054
+Node: Printing283782
+Node: Print285616
+Node: Print Examples287073
+Node: Output Separators289853
+Node: OFMT291870
+Node: Printf293226
+Node: Basic Printf294011
+Node: Control Letters295585
+Node: Format Modifiers300749
+Node: Printf Examples306764
+Node: Redirection309250
+Node: Special FD316091
+Ref: Special FD-Footnote-1319259
+Node: Special Files319333
+Node: Other Inherited Files319950
+Node: Special Network320951
+Node: Special Caveats321811
+Node: Close Files And Pipes322760
+Ref: table-close-pipe-return-values329667
+Ref: Close Files And Pipes-Footnote-1330480
+Ref: Close Files And Pipes-Footnote-2330628
+Node: Nonfatal330780
+Node: Output Summary333118
+Node: Output Exercises334340
+Node: Expressions335019
+Node: Values336207
+Node: Constants336885
+Node: Scalar Constants337576
+Ref: Scalar Constants-Footnote-1340100
+Node: Nondecimal-numbers340350
+Node: Regexp Constants343351
+Node: Using Constant Regexps343877
+Node: Standard Regexp Constants344499
+Node: Strong Regexp Constants347687
+Node: Variables350645
+Node: Using Variables351302
+Node: Assignment Options353212
+Node: Conversion355679
+Node: Strings And Numbers356203
+Ref: Strings And Numbers-Footnote-1359266
+Node: Locale influences conversions359375
+Ref: table-locale-affects362133
+Node: All Operators362751
+Node: Arithmetic Ops363380
+Node: Concatenation365886
+Ref: Concatenation-Footnote-1368733
+Node: Assignment Ops368840
+Ref: table-assign-ops373831
+Node: Increment Ops375144
+Node: Truth Values and Conditions378604
+Node: Truth Values379678
+Node: Typing and Comparison380726
+Node: Variable Typing381546
+Ref: Variable Typing-Footnote-1388009
+Ref: Variable Typing-Footnote-2388081
+Node: Comparison Operators388158
+Ref: table-relational-ops388577
+Node: POSIX String Comparison392072
+Ref: POSIX String Comparison-Footnote-1393767
+Ref: POSIX String Comparison-Footnote-2393906
+Node: Boolean Ops393990
+Ref: Boolean Ops-Footnote-1398472
+Node: Conditional Exp398564
+Node: Function Calls400300
+Node: Precedence404177
+Node: Locales407836
+Node: Expressions Summary409468
+Node: Patterns and Actions412041
+Node: Pattern Overview413161
+Node: Regexp Patterns414838
+Node: Expression Patterns415380
+Node: Ranges419161
+Node: BEGIN/END422269
+Node: Using BEGIN/END423030
+Ref: Using BEGIN/END-Footnote-1425766
+Node: I/O And BEGIN/END425872
+Node: BEGINFILE/ENDFILE428186
+Node: Empty431099
+Node: Using Shell Variables431416
+Node: Action Overview433690
+Node: Statements436015
+Node: If Statement437863
+Node: While Statement439358
+Node: Do Statement441386
+Node: For Statement442534
+Node: Switch Statement445705
+Node: Break Statement448091
+Node: Continue Statement450183
+Node: Next Statement452010
+Node: Nextfile Statement454393
+Node: Exit Statement457045
+Node: Built-in Variables459448
+Node: User-modified460581
+Node: Auto-set468348
+Ref: Auto-set-Footnote-1485155
+Ref: Auto-set-Footnote-2485361
+Node: ARGC and ARGV485417
+Node: Pattern Action Summary489630
+Node: Arrays492060
+Node: Array Basics493389
+Node: Array Intro494233
+Ref: figure-array-elements496208
+Ref: Array Intro-Footnote-1498912
+Node: Reference to Elements499040
+Node: Assigning Elements501504
+Node: Array Example501995
+Node: Scanning an Array503754
+Node: Controlling Scanning506776
+Ref: Controlling Scanning-Footnote-1512175
+Node: Numeric Array Subscripts512491
+Node: Uninitialized Subscripts514675
+Node: Delete516294
+Ref: Delete-Footnote-1519046
+Node: Multidimensional519103
+Node: Multiscanning522198
+Node: Arrays of Arrays523789
+Node: Arrays Summary528557
+Node: Functions530650
+Node: Built-in531688
+Node: Calling Built-in532769
+Node: Numeric Functions534765
+Ref: Numeric Functions-Footnote-1538793
+Ref: Numeric Functions-Footnote-2539438
+Ref: Numeric Functions-Footnote-3539486
+Node: String Functions539758
+Ref: String Functions-Footnote-1563616
+Ref: String Functions-Footnote-2563744
+Ref: String Functions-Footnote-3563992
+Node: Gory Details564079
+Ref: table-sub-escapes565870
+Ref: table-sub-proposed567389
+Ref: table-posix-sub568752
+Ref: table-gensub-escapes570293
+Ref: Gory Details-Footnote-1571116
+Node: I/O Functions571270
+Ref: table-system-return-values577738
+Ref: I/O Functions-Footnote-1579818
+Ref: I/O Functions-Footnote-2579966
+Node: Time Functions580086
+Ref: Time Functions-Footnote-1590757
+Ref: Time Functions-Footnote-2590825
+Ref: Time Functions-Footnote-3590983
+Ref: Time Functions-Footnote-4591094
+Ref: Time Functions-Footnote-5591206
+Ref: Time Functions-Footnote-6591433
+Node: Bitwise Functions591699
+Ref: table-bitwise-ops592293
+Ref: Bitwise Functions-Footnote-1598356
+Ref: Bitwise Functions-Footnote-2598529
+Node: Type Functions598720
+Node: I18N Functions601471
+Node: User-defined603122
+Node: Definition Syntax603934
+Ref: Definition Syntax-Footnote-1609621
+Node: Function Example609692
+Ref: Function Example-Footnote-1612614
+Node: Function Calling612636
+Node: Calling A Function613224
+Node: Variable Scope614182
+Node: Pass By Value/Reference617176
+Node: Function Caveats619820
+Ref: Function Caveats-Footnote-1621867
+Node: Return Statement621987
+Node: Dynamic Typing624966
+Node: Indirect Calls625896
+Ref: Indirect Calls-Footnote-1636148
+Node: Functions Summary636276
+Node: Library Functions638981
+Ref: Library Functions-Footnote-1642588
+Ref: Library Functions-Footnote-2642731
+Node: Library Names642902
+Ref: Library Names-Footnote-1646569
+Ref: Library Names-Footnote-2646792
+Node: General Functions646878
+Node: Strtonum Function647981
+Node: Assert Function651003
+Node: Round Function654329
+Node: Cliff Random Function655869
+Node: Ordinal Functions656885
+Ref: Ordinal Functions-Footnote-1659948
+Ref: Ordinal Functions-Footnote-2660200
+Node: Join Function660410
+Ref: Join Function-Footnote-1662180
+Node: Getlocaltime Function662380
+Node: Readfile Function666122
+Node: Shell Quoting668099
+Node: Data File Management669500
+Node: Filetrans Function670132
+Node: Rewind Function674228
+Node: File Checking676137
+Ref: File Checking-Footnote-1677471
+Node: Empty Files677672
+Node: Ignoring Assigns679651
+Node: Getopt Function681201
+Ref: Getopt Function-Footnote-1692670
+Node: Passwd Functions692870
+Ref: Passwd Functions-Footnote-1701709
+Node: Group Functions701797
+Ref: Group Functions-Footnote-1709695
+Node: Walking Arrays709902
+Node: Library Functions Summary712910
+Node: Library Exercises714316
+Node: Sample Programs714781
+Node: Running Examples715551
+Node: Clones716279
+Node: Cut Program717503
+Node: Egrep Program727432
+Ref: Egrep Program-Footnote-1734944
+Node: Id Program735054
+Node: Split Program738734
+Ref: Split Program-Footnote-1742192
+Node: Tee Program742321
+Node: Uniq Program745111
+Node: Wc Program752732
+Ref: Wc Program-Footnote-1756987
+Node: Miscellaneous Programs757081
+Node: Dupword Program758294
+Node: Alarm Program760324
+Node: Translate Program765179
+Ref: Translate Program-Footnote-1769744
+Node: Labels Program770014
+Ref: Labels Program-Footnote-1773365
+Node: Word Sorting773449
+Node: History Sorting777521
+Node: Extract Program779356
+Node: Simple Sed787410
+Node: Igawk Program790484
+Ref: Igawk Program-Footnote-1804815
+Ref: Igawk Program-Footnote-2805017
+Ref: Igawk Program-Footnote-3805139
+Node: Anagram Program805254
+Node: Signature Program808316
+Node: Programs Summary809563
+Node: Programs Exercises810777
+Ref: Programs Exercises-Footnote-1814906
+Node: Advanced Features814997
+Node: Nondecimal Data816987
+Node: Array Sorting818578
+Node: Controlling Array Traversal819278
+Ref: Controlling Array Traversal-Footnote-1827646
+Node: Array Sorting Functions827764
+Ref: Array Sorting Functions-Footnote-1832855
+Node: Two-way I/O833051
+Ref: Two-way I/O-Footnote-1840772
+Ref: Two-way I/O-Footnote-2840959
+Node: TCP/IP Networking841041
+Node: Profiling844159
+Node: Advanced Features Summary853177
+Node: Internationalization855021
+Node: I18N and L10N856501
+Node: Explaining gettext857188
+Ref: Explaining gettext-Footnote-1863080
+Ref: Explaining gettext-Footnote-2863265
+Node: Programmer i18n863430
+Ref: Programmer i18n-Footnote-1868379
+Node: Translator i18n868428
+Node: String Extraction869222
+Ref: String Extraction-Footnote-1870354
+Node: Printf Ordering870440
+Ref: Printf Ordering-Footnote-1873226
+Node: I18N Portability873290
+Ref: I18N Portability-Footnote-1875746
+Node: I18N Example875809
+Ref: I18N Example-Footnote-1879084
+Ref: I18N Example-Footnote-2879157
+Node: Gawk I18N879266
+Node: I18N Summary879911
+Node: Debugger881252
+Node: Debugging882252
+Node: Debugging Concepts882693
+Node: Debugging Terms884502
+Node: Awk Debugging887077
+Ref: Awk Debugging-Footnote-1888022
+Node: Sample Debugging Session888154
+Node: Debugger Invocation888688
+Node: Finding The Bug890074
+Node: List of Debugger Commands896548
+Node: Breakpoint Control897881
+Node: Debugger Execution Control901575
+Node: Viewing And Changing Data904937
+Node: Execution Stack908478
+Node: Debugger Info910115
+Node: Miscellaneous Debugger Commands914186
+Node: Readline Support919248
+Node: Limitations920144
+Node: Debugging Summary922253
+Node: Namespaces923532
+Node: Global Namespace924611
+Node: Qualified Names926009
+Node: Default Namespace927008
+Node: Changing The Namespace927749
+Node: Naming Rules929363
+Node: Internal Name Management931211
+Node: Namespace Example932253
+Node: Namespace And Features934815
+Node: Namespace Summary936250
+Node: Arbitrary Precision Arithmetic937727
+Node: Computer Arithmetic939214
+Ref: table-numeric-ranges942980
+Ref: table-floating-point-ranges943473
+Ref: Computer Arithmetic-Footnote-1944131
+Node: Math Definitions944188
+Ref: table-ieee-formats947504
+Ref: Math Definitions-Footnote-1948107
+Node: MPFR features948212
+Node: FP Math Caution949930
+Ref: FP Math Caution-Footnote-1951002
+Node: Inexactness of computations951371
+Node: Inexact representation952331
+Node: Comparing FP Values953691
+Node: Errors accumulate954932
+Node: Getting Accuracy956365
+Node: Try To Round959075
+Node: Setting precision959974
+Ref: table-predefined-precision-strings960671
+Node: Setting the rounding mode962501
+Ref: table-gawk-rounding-modes962875
+Ref: Setting the rounding mode-Footnote-1966806
+Node: Arbitrary Precision Integers966985
+Ref: Arbitrary Precision Integers-Footnote-1970160
+Node: Checking for MPFR970309
+Node: POSIX Floating Point Problems971783
+Ref: POSIX Floating Point Problems-Footnote-1976068
+Node: Floating point summary976106
+Node: Dynamic Extensions978296
+Node: Extension Intro979849
+Node: Plugin License981115
+Node: Extension Mechanism Outline981912
+Ref: figure-load-extension982351
+Ref: figure-register-new-function983916
+Ref: figure-call-new-function985008
+Node: Extension API Description987070
+Node: Extension API Functions Introduction988712
+Ref: table-api-std-headers990548
+Node: General Data Types994413
+Ref: General Data Types-Footnote-11002774
+Node: Memory Allocation Functions1003073
+Ref: Memory Allocation Functions-Footnote-11007283
+Node: Constructor Functions1007382
+Node: Registration Functions1010968
+Node: Extension Functions1011653
+Node: Exit Callback Functions1016975
+Node: Extension Version String1018225
+Node: Input Parsers1018888
+Node: Output Wrappers1031609
+Node: Two-way processors1036121
+Node: Printing Messages1038386
+Ref: Printing Messages-Footnote-11039557
+Node: Updating ERRNO1039710
+Node: Requesting Values1040449
+Ref: table-value-types-returned1041186
+Node: Accessing Parameters1042122
+Node: Symbol Table Access1043357
+Node: Symbol table by name1043869
+Ref: Symbol table by name-Footnote-11046893
+Node: Symbol table by cookie1047021
+Ref: Symbol table by cookie-Footnote-11051206
+Node: Cached values1051270
+Ref: Cached values-Footnote-11054806
+Node: Array Manipulation1054959
+Ref: Array Manipulation-Footnote-11056050
+Node: Array Data Types1056087
+Ref: Array Data Types-Footnote-11058745
+Node: Array Functions1058837
+Node: Flattening Arrays1063335
+Node: Creating Arrays1070311
+Node: Redirection API1075078
+Node: Extension API Variables1077911
+Node: Extension Versioning1078622
+Ref: gawk-api-version1079051
+Node: Extension GMP/MPFR Versioning1080782
+Node: Extension API Informational Variables1082410
+Node: Extension API Boilerplate1083483
+Node: Changes from API V11087457
+Node: Finding Extensions1089029
+Node: Extension Example1089588
+Node: Internal File Description1090386
+Node: Internal File Ops1094466
+Ref: Internal File Ops-Footnote-11105816
+Node: Using Internal File Ops1105956
+Ref: Using Internal File Ops-Footnote-11108339
+Node: Extension Samples1108613
+Node: Extension Sample File Functions1110142
+Node: Extension Sample Fnmatch1117791
+Node: Extension Sample Fork1119278
+Node: Extension Sample Inplace1120496
+Node: Extension Sample Ord1123800
+Node: Extension Sample Readdir1124636
+Ref: table-readdir-file-types1125525
+Node: Extension Sample Revout1126330
+Node: Extension Sample Rev2way1126919
+Node: Extension Sample Read write array1127659
+Node: Extension Sample Readfile1129601
+Node: Extension Sample Time1130696
+Node: Extension Sample API Tests1132044
+Node: gawkextlib1132536
+Node: Extension summary1135454
+Node: Extension Exercises1139156
+Node: Language History1140398
+Node: V7/SVR3.11142054
+Node: SVR41144206
+Node: POSIX1145640
+Node: BTL1147020
+Node: POSIX/GNU1147749
+Node: Feature History1153527
+Node: Common Extensions1169573
+Node: Ranges and Locales1170856
+Ref: Ranges and Locales-Footnote-11175472
+Ref: Ranges and Locales-Footnote-21175499
+Ref: Ranges and Locales-Footnote-31175734
+Node: Contributors1175955
+Node: History summary1181900
+Node: Installation1183280
+Node: Gawk Distribution1184224
+Node: Getting1184708
+Node: Extracting1185671
+Node: Distribution contents1187309
+Node: Unix Installation1193789
+Node: Quick Installation1194471
+Node: Shell Startup Files1196885
+Node: Additional Configuration Options1197974
+Node: Configuration Philosophy1200139
+Node: Non-Unix Installation1202508
+Node: PC Installation1202968
+Node: PC Binary Installation1203806
+Node: PC Compiling1204241
+Node: PC Using1205358
+Node: Cygwin1208911
+Node: MSYS1210010
+Node: VMS Installation1210511
+Node: VMS Compilation1211302
+Ref: VMS Compilation-Footnote-11212531
+Node: VMS Dynamic Extensions1212589
+Node: VMS Installation Details1214274
+Node: VMS Running1216527
+Node: VMS GNV1220806
+Node: VMS Old Gawk1221541
+Node: Bugs1222012
+Node: Bug address1222675
+Node: Usenet1225657
+Node: Maintainers1226661
+Node: Other Versions1227922
+Node: Installation summary1234836
+Node: Notes1236038
+Node: Compatibility Mode1236832
+Node: Additions1237614
+Node: Accessing The Source1238539
+Node: Adding Code1239976
+Node: New Ports1246195
+Node: Derived Files1250683
+Ref: Derived Files-Footnote-11256329
+Ref: Derived Files-Footnote-21256364
+Ref: Derived Files-Footnote-31256962
+Node: Future Extensions1257076
+Node: Implementation Limitations1257734
+Node: Extension Design1258917
+Node: Old Extension Problems1260061
+Ref: Old Extension Problems-Footnote-11261579
+Node: Extension New Mechanism Goals1261636
+Ref: Extension New Mechanism Goals-Footnote-11265000
+Node: Extension Other Design Decisions1265189
+Node: Extension Future Growth1267302
+Node: Notes summary1268138
+Node: Basic Concepts1269313
+Node: Basic High Level1269994
+Ref: figure-general-flow1270276
+Ref: figure-process-flow1270961
+Ref: Basic High Level-Footnote-11274262
+Node: Basic Data Typing1274447
+Node: Glossary1277775
+Node: Copying1309613
+Node: GNU Free Documentation License1347156
+Node: Index1372276
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 7a8354e..48ec703 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -59,7 +59,7 @@
 @c applies to and all the info about who's publishing this edition
 
 @c These apply across the board.
address@hidden UPDATE-MONTH February, 2019
address@hidden UPDATE-MONTH March, 2019
 @set VERSION 5.0
 @set PATCHLEVEL 0
 
@@ -5541,6 +5541,14 @@ You can combine regular expressions with special 
characters,
 called @dfn{regular expression operators} or @dfn{metacharacters}, to
 increase the power and versatility of regular expressions.
 
address@hidden
+* Regexp Operator Details::     The actual details.
+* Interval Expressions::        Notes on interval expressions.
address@hidden menu
+
address@hidden Regexp Operator Details
address@hidden Regexp Operators in @command{awk}
+
 The escape sequences described
 @ifnotinfo
 earlier
@@ -5718,6 +5726,26 @@ Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy} 
only.
 @item address@hidden,@}y
 Matches @samp{whhy}, @samp{whhhy}, and so on.
 @end table
address@hidden table
+
address@hidden precedence, regexp operators
address@hidden regular expressions, operators, precedence of
+In regular expressions, the @samp{*}, @samp{+}, and @samp{?} operators,
+as well as the braces @address@hidden and @address@hidden,
+have
+the highest precedence, followed by concatenation, and finally by @samp{|}.
+As in arithmetic, parentheses can change how operators are grouped.
+
address@hidden POSIX @command{awk}, regular expressions and
address@hidden @command{gawk}, regular expressions, precedence
+In POSIX @command{awk} and @command{gawk}, the @samp{*}, @samp{+}, and
address@hidden operators stand for themselves when there is nothing in the
+regexp that precedes them.  For example, @code{/+/} matches a literal
+plus sign.  However, many other versions of @command{awk} treat such a
+usage as a syntax error.
+
address@hidden Interval Expressions
address@hidden Some Notes On Interval Expressions
 
 @cindex POSIX @command{awk}, interval expressions in
 Interval expressions were not traditionally available in @command{awk}.
@@ -5745,26 +5773,14 @@ using a string constant with a regexp operator or 
function.}
 Finally, when @address@hidden and @address@hidden appear in regexp constants
 in a way that cannot be interpreted as an interval expression
 (such as @code{/address@hidden@}/}), then they stand for themselves.
address@hidden table
 
address@hidden precedence, regexp operators
address@hidden regular expressions, operators, precedence of
-In regular expressions, the @samp{*}, @samp{+}, and @samp{?} operators,
-as well as the braces @address@hidden and @address@hidden,
-have
-the highest precedence, followed by concatenation, and finally by @samp{|}.
-As in arithmetic, parentheses can change how operators are grouped.
-
address@hidden POSIX @command{awk}, regular expressions and
address@hidden @command{gawk}, regular expressions, precedence
-In POSIX @command{awk} and @command{gawk}, the @samp{*}, @samp{+}, and
address@hidden operators stand for themselves when there is nothing in the
-regexp that precedes them.  For example, @code{/+/} matches a literal
-plus sign.  However, many other versions of @command{awk} treat such a
-usage as a syntax error.
+As mentioned, interval expressions were not traditionally available
+in @command{awk}. In March of 2019, Brian Kernighan's
address@hidden (finally) acquired them.
 
-If @command{gawk} is in compatibility mode (@pxref{Options}), interval
-expressions are not available in regular expressions.
+Nonetheless, because they were not available for
+so many decades, @command{gawk} continues to not supply them
+when in compatibility mode (@pxref{Options}).
 
 @node Bracket Expressions
 @section Using Bracket Expressions
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 1aa632d..4cbc348 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -54,7 +54,7 @@
 @c applies to and all the info about who's publishing this edition
 
 @c These apply across the board.
address@hidden UPDATE-MONTH February, 2019
address@hidden UPDATE-MONTH March, 2019
 @set VERSION 5.0
 @set PATCHLEVEL 0
 
@@ -5368,6 +5368,14 @@ You can combine regular expressions with special 
characters,
 called @dfn{regular expression operators} or @dfn{metacharacters}, to
 increase the power and versatility of regular expressions.
 
address@hidden
+* Regexp Operator Details::     The actual details.
+* Interval Expressions::        Notes on interval expressions.
address@hidden menu
+
address@hidden Regexp Operator Details
address@hidden Regexp Operators in @command{awk}
+
 The escape sequences described
 @ifnotinfo
 earlier
@@ -5545,6 +5553,26 @@ Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy} 
only.
 @item address@hidden,@}y
 Matches @samp{whhy}, @samp{whhhy}, and so on.
 @end table
address@hidden table
+
address@hidden precedence, regexp operators
address@hidden regular expressions, operators, precedence of
+In regular expressions, the @samp{*}, @samp{+}, and @samp{?} operators,
+as well as the braces @address@hidden and @address@hidden,
+have
+the highest precedence, followed by concatenation, and finally by @samp{|}.
+As in arithmetic, parentheses can change how operators are grouped.
+
address@hidden POSIX @command{awk}, regular expressions and
address@hidden @command{gawk}, regular expressions, precedence
+In POSIX @command{awk} and @command{gawk}, the @samp{*}, @samp{+}, and
address@hidden operators stand for themselves when there is nothing in the
+regexp that precedes them.  For example, @code{/+/} matches a literal
+plus sign.  However, many other versions of @command{awk} treat such a
+usage as a syntax error.
+
address@hidden Interval Expressions
address@hidden Some Notes On Interval Expressions
 
 @cindex POSIX @command{awk}, interval expressions in
 Interval expressions were not traditionally available in @command{awk}.
@@ -5572,26 +5600,14 @@ using a string constant with a regexp operator or 
function.}
 Finally, when @address@hidden and @address@hidden appear in regexp constants
 in a way that cannot be interpreted as an interval expression
 (such as @code{/address@hidden@}/}), then they stand for themselves.
address@hidden table
 
address@hidden precedence, regexp operators
address@hidden regular expressions, operators, precedence of
-In regular expressions, the @samp{*}, @samp{+}, and @samp{?} operators,
-as well as the braces @address@hidden and @address@hidden,
-have
-the highest precedence, followed by concatenation, and finally by @samp{|}.
-As in arithmetic, parentheses can change how operators are grouped.
-
address@hidden POSIX @command{awk}, regular expressions and
address@hidden @command{gawk}, regular expressions, precedence
-In POSIX @command{awk} and @command{gawk}, the @samp{*}, @samp{+}, and
address@hidden operators stand for themselves when there is nothing in the
-regexp that precedes them.  For example, @code{/+/} matches a literal
-plus sign.  However, many other versions of @command{awk} treat such a
-usage as a syntax error.
+As mentioned, interval expressions were not traditionally available
+in @command{awk}. In March of 2019, Brian Kernighan's
address@hidden (finally) acquired them.
 
-If @command{gawk} is in compatibility mode (@pxref{Options}), interval
-expressions are not available in regular expressions.
+Nonetheless, because they were not available for
+so many decades, @command{gawk} continues to not supply them
+when in compatibility mode (@pxref{Options}).
 
 @node Bracket Expressions
 @section Using Bracket Expressions

-----------------------------------------------------------------------

Summary of changes:
 doc/ChangeLog   |    5 +
 doc/gawk.info   | 1250 +++++++++++++++++++++++++++++--------------------------
 doc/gawk.texi   |   54 ++-
 doc/gawktexi.in |   54 ++-
 4 files changed, 728 insertions(+), 635 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]