aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info1316
1 files changed, 658 insertions, 658 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index 2537830e..83a5d818 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -955,7 +955,7 @@ provided in *note Language History::. The language described in this
Info file is often referred to as "new `awk'." By analogy, the
original version of `awk' is referred to as "old `awk'."
- Today, on most systems, when you run the `awk' utility you get some
+ On most current systems, when you run the `awk' utility you get some
version of new `awk'.(1) If your system's standard `awk' is the old
one, you will see something like this if you try the test program:
@@ -1875,7 +1875,7 @@ file surrounded by double quotes:

File: gawk.info, Node: Sample Data Files, Next: Very Simple, Prev: Running gawk, Up: Getting Started
-1.2 Data Files for the Examples
+1.2 Data files for the Examples
===============================
Many of the examples in this Info file take their input from two sample
@@ -6527,7 +6527,7 @@ which they may appear:
messages at runtime. *Note Printf Ordering::, which describes how
and why to use positional specifiers. For now, we ignore them.
-`- (Minus)'
+`-' (Minus)
The minus sign, used before the width modifier (see later on in
this list), says to left-justify the argument within its specified
width. Normally, the argument is printed right-justified in the
@@ -6537,7 +6537,7 @@ which they may appear:
prints `foo*'.
-`SPACE'
+SPACE
For numeric conversions, prefix positive values with a space and
negative values with a minus sign.
@@ -6582,7 +6582,7 @@ which they may appear:
programs. For information on appropriate quoting tricks, see
*note Quoting::.
-`WIDTH'
+WIDTH
This is a number specifying the desired minimum width of a field.
Inserting any number between the `%' sign and the format-control
character forces the field to expand to this width. The default
@@ -6960,7 +6960,7 @@ option (*note Options::).

File: gawk.info, Node: Special Files, Next: Close Files And Pipes, Prev: Special FD, Up: Printing
-5.8 Special File Names in `gawk'
+5.8 Special File names in `gawk'
================================
Besides access to standard input, standard output, and standard error,
@@ -7021,7 +7021,7 @@ mentioned here only for completeness. Full discussion is delayed until

File: gawk.info, Node: Special Caveats, Prev: Special Network, Up: Special Files
-5.8.3 Special File Name Caveats
+5.8.3 Special File name Caveats
-------------------------------
Here are some things to bear in mind when using the special file names
@@ -9880,12 +9880,12 @@ divisor of any integer, and also identifies prime numbers:
# find smallest divisor of num
{
num = $1
- for (div = 2; div * div <= num; div++) {
- if (num % div == 0)
+ for (divisor = 2; divisor * divisor <= num; divisor++) {
+ if (num % divisor == 0)
break
}
- if (num % div == 0)
- printf "Smallest divisor of %d is %d\n", num, div
+ if (num % divisor == 0)
+ printf "Smallest divisor of %d is %d\n", num, divisor
else
printf "%d is prime\n", num
}
@@ -9903,12 +9903,12 @@ Statement::.)
# find smallest divisor of num
{
num = $1
- for (div = 2; ; div++) {
- if (num % div == 0) {
- printf "Smallest divisor of %d is %d\n", num, div
+ for (divisor = 2; ; divisor++) {
+ if (num % divisor == 0) {
+ printf "Smallest divisor of %d is %d\n", num, divisor
break
}
- if (div * div > num) {
+ if (divisor * divisor > num) {
printf "%d is prime\n", num
break
}
@@ -10243,15 +10243,14 @@ description of each variable.)
`IGNORECASE #'
If `IGNORECASE' is nonzero or non-null, then all string comparisons
- and all regular expression matching are case-independent. Thus,
- regexp matching with `~' and `!~', as well as the `gensub()',
+ and all regular expression matching are case-independent. This
+ applies to regexp matching with `~' and `!~', the `gensub()',
`gsub()', `index()', `match()', `patsplit()', `split()', and
`sub()' functions, record termination with `RS', and field
- splitting with `FS' and `FPAT', all ignore case when doing their
- particular regexp operations. However, the value of `IGNORECASE'
- does _not_ affect array subscripting and it does not affect field
- splitting when using a single-character field separator. *Note
- Case-sensitivity::.
+ splitting with `FS' and `FPAT'. However, the value of
+ `IGNORECASE' does _not_ affect array subscripting and it does not
+ affect field splitting when using a single-character field
+ separator. *Note Case-sensitivity::.
`LINT #'
When this variable is true (nonzero or non-null), `gawk' behaves
@@ -14377,61 +14376,7 @@ names of the two comparison functions:
-| rsort: <100.0 95.6 93.4 87.1>
Another example where indirect functions calls are useful can be
-found in processing arrays. *note Walking Arrays::, presented a simple
-function for "walking" an array of arrays. That function simply
-printed the name and value of each scalar array element. However, it is
-easy to generalize that function, by passing in the name of a function
-to call when walking an array. The modified function looks like this:
-
- function process_array(arr, name, process, do_arrays, i, new_name)
- {
- for (i in arr) {
- new_name = (name "[" i "]")
- if (isarray(arr[i])) {
- if (do_arrays)
- @process(new_name, arr[i])
- process_array(arr[i], new_name, process, do_arrays)
- } else
- @process(new_name, arr[i])
- }
- }
-
- The arguments are as follows:
-
-`arr'
- The array.
-
-`name'
- The name of the array (a string).
-
-`process'
- The name of the function to call.
-
-`do_arrays'
- If this is true, the function can handle elements that are
- subarrays.
-
- If subarrays are to be processed, that is done before walking them
-further.
-
- When run with the following scaffolding, the function produces the
-same results as does the earlier `walk_array()' function:
-
- BEGIN {
- a[1] = 1
- a[2][1] = 21
- a[2][2] = 22
- a[3] = 3
- a[4][1][1] = 411
- a[4][2] = 42
-
- process_array(a, "a", "do_print", 0)
- }
-
- function do_print(name, element)
- {
- printf "%s = %s\n", name, element
- }
+found in processing arrays. This is described in *note Walking Arrays::.
Remember that you must supply a leading `@' in front of an indirect
function call.
@@ -15299,7 +15244,7 @@ three-character string `"\"'\""':

File: gawk.info, Node: Data File Management, Next: Getopt Function, Prev: General Functions, Up: Library Functions
-10.3 Data File Management
+10.3 Data file Management
=========================
This minor node presents functions that are useful for managing
@@ -15316,7 +15261,7 @@ command-line data files.

File: gawk.info, Node: Filetrans Function, Next: Rewind Function, Up: Data File Management
-10.3.1 Noting Data File Boundaries
+10.3.1 Noting Data file Boundaries
----------------------------------
The `BEGIN' and `END' rules are each executed exactly once, at the
@@ -15454,7 +15399,7 @@ rule finishes!)

File: gawk.info, Node: File Checking, Next: Empty Files, Prev: Rewind Function, Up: Data File Management
-10.3.3 Checking for Readable Data Files
+10.3.3 Checking for Readable Data files
---------------------------------------
Normally, if you give `awk' a data file that isn't readable, it stops
@@ -15544,7 +15489,7 @@ of the `for' loop uses the `<=' operator, not `<'.

File: gawk.info, Node: Ignoring Assigns, Prev: Empty Files, Up: Data File Management
-10.3.5 Treating Assignments as File Names
+10.3.5 Treating Assignments as File names
-----------------------------------------
Occasionally, you might not want `awk' to process command-line variable
@@ -16408,6 +16353,61 @@ value. Here is a main program to demonstrate:
-| a[4][1][1] = 411
-| a[4][2] = 42
+ The function just presented simply prints the name and value of each
+scalar array element. However, it is easy to generalize it, by passing
+in the name of a function to call when walking an array. The modified
+function looks like this:
+
+ function process_array(arr, name, process, do_arrays, i, new_name)
+ {
+ for (i in arr) {
+ new_name = (name "[" i "]")
+ if (isarray(arr[i])) {
+ if (do_arrays)
+ @process(new_name, arr[i])
+ process_array(arr[i], new_name, process, do_arrays)
+ } else
+ @process(new_name, arr[i])
+ }
+ }
+
+ The arguments are as follows:
+
+`arr'
+ The array.
+
+`name'
+ The name of the array (a string).
+
+`process'
+ The name of the function to call.
+
+`do_arrays'
+ If this is true, the function can handle elements that are
+ subarrays.
+
+ If subarrays are to be processed, that is done before walking them
+further.
+
+ When run with the following scaffolding, the function produces the
+same results as does the earlier version of `walk_array()':
+
+ BEGIN {
+ a[1] = 1
+ a[2][1] = 21
+ a[2][2] = 22
+ a[3] = 3
+ a[4][1][1] = 411
+ a[4][2] = 42
+
+ process_array(a, "a", "do_print", 0)
+ }
+
+ function do_print(name, element)
+ {
+ printf "%s = %s\n", name, element
+ }
+

File: gawk.info, Node: Library Functions Summary, Next: Library Exercises, Prev: Walking Arrays, Up: Library Functions
@@ -16442,7 +16442,7 @@ File: gawk.info, Node: Library Functions Summary, Next: Library Exercises, Pr
Two sets of routines that parallel the C library versions
Traversing arrays of arrays
- A simple function to traverse an array of arrays to any depth
+ Two functions that traverse an array of arrays to any depth

@@ -22736,9 +22736,9 @@ File: gawk.info, Node: Floating point summary, Prev: POSIX Floating Point Prob
using the GMP library. This is faster and more space-efficient
than using MPFR for the same calculations.
- * There are several "dark corners" with respect to floating-point
- numbers where `gawk' disagrees with the POSIX standard. It pays
- to be aware of them.
+ * There are several areas with respect to floating-point numbers
+ where `gawk' disagrees with the POSIX standard. It pays to be
+ aware of them.
* Overall, there is no need to be unduly suspicious about the
results from floating-point arithmetic. The lesson to remember is
@@ -23331,14 +23331,14 @@ This node presents them all as function prototypes, in the way that
extension code would use them:
`static inline awk_value_t *'
-`make_const_string(const char *string, size_t length, awk_value_t *result)'
+`make_const_string(const char *string, size_t length, awk_value_t *result);'
This function creates a string value in the `awk_value_t' variable
pointed to by `result'. It expects `string' to be a C string
constant (or other string data), and automatically creates a
_copy_ of the data for storage in `result'. It returns `result'.
`static inline awk_value_t *'
-`make_malloced_string(const char *string, size_t length, awk_value_t *result)'
+`make_malloced_string(const char *string, size_t length, awk_value_t *result);'
This function creates a string value in the `awk_value_t' variable
pointed to by `result'. It expects `string' to be a `char *' value
pointing to data previously obtained from `gawk_malloc()',
@@ -23347,13 +23347,13 @@ extension code would use them:
for it. It returns `result'.
`static inline awk_value_t *'
-`make_null_string(awk_value_t *result)'
+`make_null_string(awk_value_t *result);'
This specialized function creates a null string (the "undefined"
value) in the `awk_value_t' variable pointed to by `result'. It
returns `result'.
`static inline awk_value_t *'
-`make_number(double num, awk_value_t *result)'
+`make_number(double num, awk_value_t *result);'
This function simply creates a numeric value in the `awk_value_t'
variable pointed to by `result'.
@@ -32738,7 +32738,7 @@ Index
(line 6)
* differences in awk and gawk, line continuations: Conditional Exp.
(line 34)
-* differences in awk and gawk, LINT variable: User-modified. (line 88)
+* differences in awk and gawk, LINT variable: User-modified. (line 87)
* differences in awk and gawk, match() function: String Functions.
(line 263)
* differences in awk and gawk, print/printf statements: Format Modifiers.
@@ -32763,7 +32763,7 @@ Index
(line 77)
* differences in awk and gawk, SYMTAB variable: Auto-set. (line 283)
* differences in awk and gawk, TEXTDOMAIN variable: User-modified.
- (line 152)
+ (line 151)
* differences in awk and gawk, trunc-mod operation: Arithmetic Ops.
(line 66)
* directories, command-line: Command-line directories.
@@ -33226,7 +33226,7 @@ Index
(line 6)
* gawk, interval expressions and: Regexp Operators. (line 139)
* gawk, line continuation in: Conditional Exp. (line 34)
-* gawk, LINT variable in: User-modified. (line 88)
+* gawk, LINT variable in: User-modified. (line 87)
* gawk, list of contributors to: Contributors. (line 6)
* gawk, MS-DOS version of: PC Using. (line 10)
* gawk, MS-Windows version of: PC Using. (line 10)
@@ -33252,7 +33252,7 @@ Index
* gawk, splitting fields and: Constant Size. (line 87)
* gawk, string-translation functions: I18N Functions. (line 6)
* gawk, SYMTAB array in: Auto-set. (line 283)
-* gawk, TEXTDOMAIN variable in: User-modified. (line 152)
+* gawk, TEXTDOMAIN variable in: User-modified. (line 151)
* gawk, timestamps: Time Functions. (line 6)
* gawk, uses for: Preface. (line 34)
* gawk, versions of, information about, printing: Options. (line 300)
@@ -33456,7 +33456,7 @@ Index
* internationalization: I18N Functions. (line 6)
* internationalization, localization <1>: Internationalization.
(line 13)
-* internationalization, localization: User-modified. (line 152)
+* internationalization, localization: User-modified. (line 151)
* internationalization, localization, character classes: Bracket Expressions.
(line 101)
* internationalization, localization, gawk and: Internationalization.
@@ -33566,7 +33566,7 @@ Index
* lines, duplicate, removing: History Sorting. (line 6)
* lines, matching ranges of: Ranges. (line 6)
* lines, skipping between markers: Ranges. (line 43)
-* lint checking: User-modified. (line 88)
+* lint checking: User-modified. (line 87)
* lint checking, array elements: Delete. (line 34)
* lint checking, array subscripts: Uninitialized Subscripts.
(line 43)
@@ -33576,7 +33576,7 @@ Index
(line 339)
* lint checking, undefined functions: Pass By Value/Reference.
(line 85)
-* LINT variable: User-modified. (line 88)
+* LINT variable: User-modified. (line 87)
* Linux <1>: Glossary. (line 753)
* Linux <2>: I18N Example. (line 55)
* Linux: Manual History. (line 28)
@@ -33748,11 +33748,11 @@ Index
* obsolete features: Obsolete. (line 6)
* octal numbers: Nondecimal-numbers. (line 6)
* octal values, enabling interpretation of: Options. (line 211)
-* OFMT variable <1>: User-modified. (line 105)
+* OFMT variable <1>: User-modified. (line 104)
* OFMT variable <2>: Strings And Numbers. (line 57)
* OFMT variable: OFMT. (line 15)
* OFMT variable, POSIX awk and: OFMT. (line 27)
-* OFS variable <1>: User-modified. (line 114)
+* OFS variable <1>: User-modified. (line 113)
* OFS variable <2>: Output Separators. (line 6)
* OFS variable: Changing Fields. (line 64)
* OpenBSD: Glossary. (line 753)
@@ -33805,7 +33805,7 @@ Index
(line 12)
* ord() user-defined function: Ordinal Functions. (line 16)
* order of evaluation, concatenation: Concatenation. (line 41)
-* ORS variable <1>: User-modified. (line 119)
+* ORS variable <1>: User-modified. (line 118)
* ORS variable: Output Separators. (line 21)
* output field separator, See OFS variable: Changing Fields. (line 64)
* output record separator, See ORS variable: Output Separators.
@@ -33945,7 +33945,7 @@ Index
* POSIX, gawk extensions not included in: POSIX/GNU. (line 6)
* POSIX, programs, implementing in awk: Clones. (line 6)
* POSIXLY_CORRECT environment variable: Options. (line 339)
-* PREC variable: User-modified. (line 124)
+* PREC variable: User-modified. (line 123)
* precedence <1>: Precedence. (line 6)
* precedence: Increment Ops. (line 60)
* precedence, regexp operators: Regexp Operators. (line 156)
@@ -33960,7 +33960,7 @@ Index
* print statement, commas, omitting: Print Examples. (line 31)
* print statement, I/O operators in: Precedence. (line 71)
* print statement, line continuations and: Print Examples. (line 76)
-* print statement, OFMT variable and: User-modified. (line 114)
+* print statement, OFMT variable and: User-modified. (line 113)
* print statement, See Also redirection, of output: Redirection.
(line 17)
* print statement, sprintf() function and: Round Function. (line 6)
@@ -34075,7 +34075,7 @@ Index
* readfile() user-defined function: Readfile Function. (line 30)
* reading input files: Reading Files. (line 6)
* recipe for a programming language: History. (line 6)
-* record separators <1>: User-modified. (line 133)
+* record separators <1>: User-modified. (line 132)
* record separators: awk split records. (line 6)
* record separators, changing: awk split records. (line 85)
* record separators, regular expressions as: awk split records.
@@ -34187,8 +34187,8 @@ Index
* round to nearest integer: Numeric Functions. (line 38)
* round() user-defined function: Round Function. (line 16)
* rounding numbers: Round Function. (line 6)
-* ROUNDMODE variable: User-modified. (line 128)
-* RS variable <1>: User-modified. (line 133)
+* ROUNDMODE variable: User-modified. (line 127)
+* RS variable <1>: User-modified. (line 132)
* RS variable: awk split records. (line 12)
* RS variable, multiline records and: Multiple Line. (line 17)
* rshift: Bitwise Functions. (line 53)
@@ -34245,12 +34245,12 @@ Index
* separators, field, FIELDWIDTHS variable and: User-modified. (line 37)
* separators, field, FPAT variable and: User-modified. (line 43)
* separators, field, POSIX and: Fields. (line 6)
-* separators, for records <1>: User-modified. (line 133)
+* separators, for records <1>: User-modified. (line 132)
* separators, for records: awk split records. (line 6)
* separators, for records, regular expressions as: awk split records.
(line 125)
* separators, for statements in actions: Action Overview. (line 19)
-* separators, subscript: User-modified. (line 146)
+* separators, subscript: User-modified. (line 145)
* set breakpoint: Breakpoint Control. (line 11)
* set debugger command: Viewing And Changing Data.
(line 59)
@@ -34382,7 +34382,7 @@ Index
* split.awk program: Split Program. (line 30)
* sprintf <1>: String Functions. (line 384)
* sprintf: OFMT. (line 15)
-* sprintf() function, OFMT variable and: User-modified. (line 114)
+* sprintf() function, OFMT variable and: User-modified. (line 113)
* sprintf() function, print/printf statements and: Round Function.
(line 6)
* sqrt: Numeric Functions. (line 92)
@@ -34444,7 +34444,7 @@ Index
(line 43)
* sub() function, arguments of: String Functions. (line 463)
* sub() function, escape processing: Gory Details. (line 6)
-* subscript separators: User-modified. (line 146)
+* subscript separators: User-modified. (line 145)
* subscripts in arrays, multidimensional: Multidimensional. (line 10)
* subscripts in arrays, multidimensional, scanning: Multiscanning.
(line 11)
@@ -34452,7 +34452,7 @@ Index
(line 6)
* subscripts in arrays, uninitialized variables as: Uninitialized Subscripts.
(line 6)
-* SUBSEP variable: User-modified. (line 146)
+* SUBSEP variable: User-modified. (line 145)
* SUBSEP variable, and multidimensional arrays: Multidimensional.
(line 16)
* substitute in string: String Functions. (line 90)
@@ -34491,7 +34491,7 @@ Index
* text, printing: Print. (line 22)
* text, printing, unduplicated lines of: Uniq Program. (line 6)
* TEXTDOMAIN variable <1>: Programmer i18n. (line 8)
-* TEXTDOMAIN variable: User-modified. (line 152)
+* TEXTDOMAIN variable: User-modified. (line 151)
* TEXTDOMAIN variable, BEGIN pattern and: Programmer i18n. (line 60)
* TEXTDOMAIN variable, portability and: I18N Portability. (line 20)
* textdomain() function (C library): Explaining gettext. (line 28)
@@ -34739,553 +34739,553 @@ Ref: Preface-Footnote-251244
Ref: Preface-Footnote-351477
Node: History51619
Node: Names53970
-Ref: Names-Footnote-155063
-Node: This Manual55209
-Ref: This Manual-Footnote-161709
-Node: Conventions61809
-Node: Manual History64146
-Ref: Manual History-Footnote-167139
-Ref: Manual History-Footnote-267180
-Node: How To Contribute67254
-Node: Acknowledgments68383
-Node: Getting Started73249
-Node: Running gawk75688
-Node: One-shot76878
-Node: Read Terminal78142
-Node: Long80173
-Node: Executable Scripts81686
-Ref: Executable Scripts-Footnote-184475
-Node: Comments84578
-Node: Quoting87060
-Node: DOS Quoting92578
-Node: Sample Data Files93253
-Node: Very Simple95848
-Node: Two Rules100747
-Node: More Complex102633
-Node: Statements/Lines105495
-Ref: Statements/Lines-Footnote-1109950
-Node: Other Features110215
-Node: When111151
-Ref: When-Footnote-1112905
-Node: Intro Summary112970
-Node: Invoking Gawk113854
-Node: Command Line115368
-Node: Options116166
-Ref: Options-Footnote-1131961
-Ref: Options-Footnote-2132190
-Node: Other Arguments132215
-Node: Naming Standard Input135163
-Node: Environment Variables136256
-Node: AWKPATH Variable136814
-Ref: AWKPATH Variable-Footnote-1140221
-Ref: AWKPATH Variable-Footnote-2140266
-Node: AWKLIBPATH Variable140526
-Node: Other Environment Variables141782
-Node: Exit Status145300
-Node: Include Files145976
-Node: Loading Shared Libraries149565
-Node: Obsolete150992
-Node: Undocumented151684
-Node: Invoking Summary151951
-Node: Regexp153614
-Node: Regexp Usage155068
-Node: Escape Sequences157105
-Node: Regexp Operators163334
-Ref: Regexp Operators-Footnote-1170744
-Ref: Regexp Operators-Footnote-2170891
-Node: Bracket Expressions170989
-Ref: table-char-classes173004
-Node: Leftmost Longest175946
-Node: Computed Regexps177248
-Node: GNU Regexp Operators180677
-Node: Case-sensitivity184349
-Ref: Case-sensitivity-Footnote-1187234
-Ref: Case-sensitivity-Footnote-2187469
-Node: Regexp Summary187577
-Node: Reading Files189044
-Node: Records191137
-Node: awk split records191870
-Node: gawk split records196799
-Ref: gawk split records-Footnote-1201338
-Node: Fields201375
-Ref: Fields-Footnote-1204153
-Node: Nonconstant Fields204239
-Ref: Nonconstant Fields-Footnote-1206477
-Node: Changing Fields206680
-Node: Field Separators212611
-Node: Default Field Splitting215315
-Node: Regexp Field Splitting216432
-Node: Single Character Fields219782
-Node: Command Line Field Separator220841
-Node: Full Line Fields224058
-Ref: Full Line Fields-Footnote-1225579
-Ref: Full Line Fields-Footnote-2225625
-Node: Field Splitting Summary225726
-Node: Constant Size227800
-Node: Splitting By Content232383
-Ref: Splitting By Content-Footnote-1236348
-Node: Multiple Line236511
-Ref: Multiple Line-Footnote-1242392
-Node: Getline242571
-Node: Plain Getline244778
-Node: Getline/Variable247418
-Node: Getline/File248567
-Node: Getline/Variable/File249952
-Ref: Getline/Variable/File-Footnote-1251555
-Node: Getline/Pipe251642
-Node: Getline/Variable/Pipe254320
-Node: Getline/Coprocess255451
-Node: Getline/Variable/Coprocess256715
-Node: Getline Notes257454
-Node: Getline Summary260248
-Ref: table-getline-variants260660
-Node: Read Timeout261489
-Ref: Read Timeout-Footnote-1265326
-Node: Command-line directories265384
-Node: Input Summary266289
-Node: Input Exercises269674
-Node: Printing270402
-Node: Print272237
-Node: Print Examples273694
-Node: Output Separators276473
-Node: OFMT278491
-Node: Printf279846
-Node: Basic Printf280631
-Node: Control Letters282203
-Node: Format Modifiers286188
-Node: Printf Examples292198
-Node: Redirection294684
-Node: Special FD301522
-Ref: Special FD-Footnote-1304688
-Node: Special Files304762
-Node: Other Inherited Files305379
-Node: Special Network306379
-Node: Special Caveats307241
-Node: Close Files And Pipes308190
-Ref: Close Files And Pipes-Footnote-1315375
-Ref: Close Files And Pipes-Footnote-2315523
-Node: Nonfatal315673
-Node: Output Summary317596
-Node: Output Exercises318817
-Node: Expressions319497
-Node: Values320686
-Node: Constants321363
-Node: Scalar Constants322054
-Ref: Scalar Constants-Footnote-1322916
-Node: Nondecimal-numbers323166
-Node: Regexp Constants326176
-Node: Using Constant Regexps326702
-Node: Variables329865
-Node: Using Variables330522
-Node: Assignment Options332433
-Node: Conversion334308
-Node: Strings And Numbers334832
-Ref: Strings And Numbers-Footnote-1337897
-Node: Locale influences conversions338006
-Ref: table-locale-affects340752
-Node: All Operators341344
-Node: Arithmetic Ops341973
-Node: Concatenation344478
-Ref: Concatenation-Footnote-1347297
-Node: Assignment Ops347404
-Ref: table-assign-ops352383
-Node: Increment Ops353693
-Node: Truth Values and Conditions357124
-Node: Truth Values358207
-Node: Typing and Comparison359256
-Node: Variable Typing360072
-Node: Comparison Operators363739
-Ref: table-relational-ops364149
-Node: POSIX String Comparison367644
-Ref: POSIX String Comparison-Footnote-1368716
-Node: Boolean Ops368855
-Ref: Boolean Ops-Footnote-1373333
-Node: Conditional Exp373424
-Node: Function Calls375162
-Node: Precedence379042
-Node: Locales382702
-Node: Expressions Summary384334
-Node: Patterns and Actions386905
-Node: Pattern Overview388025
-Node: Regexp Patterns389704
-Node: Expression Patterns390247
-Node: Ranges394027
-Node: BEGIN/END397134
-Node: Using BEGIN/END397895
-Ref: Using BEGIN/END-Footnote-1400631
-Node: I/O And BEGIN/END400737
-Node: BEGINFILE/ENDFILE403052
-Node: Empty405949
-Node: Using Shell Variables406266
-Node: Action Overview408539
-Node: Statements410865
-Node: If Statement412713
-Node: While Statement414208
-Node: Do Statement416236
-Node: For Statement417384
-Node: Switch Statement420542
-Node: Break Statement422924
-Node: Continue Statement424965
-Node: Next Statement426792
-Node: Nextfile Statement429173
-Node: Exit Statement431801
-Node: Built-in Variables434212
-Node: User-modified435345
-Ref: User-modified-Footnote-1443048
-Node: Auto-set443110
-Ref: Auto-set-Footnote-1456819
-Ref: Auto-set-Footnote-2457024
-Node: ARGC and ARGV457080
-Node: Pattern Action Summary461298
-Node: Arrays463731
-Node: Array Basics465060
-Node: Array Intro465904
-Ref: figure-array-elements467838
-Ref: Array Intro-Footnote-1470458
-Node: Reference to Elements470586
-Node: Assigning Elements473048
-Node: Array Example473539
-Node: Scanning an Array475298
-Node: Controlling Scanning478318
-Ref: Controlling Scanning-Footnote-1483712
-Node: Numeric Array Subscripts484028
-Node: Uninitialized Subscripts486213
-Node: Delete487830
-Ref: Delete-Footnote-1490579
-Node: Multidimensional490636
-Node: Multiscanning493733
-Node: Arrays of Arrays495322
-Node: Arrays Summary500076
-Node: Functions502167
-Node: Built-in503206
-Node: Calling Built-in504284
-Node: Numeric Functions506279
-Ref: Numeric Functions-Footnote-1511097
-Ref: Numeric Functions-Footnote-2511454
-Ref: Numeric Functions-Footnote-3511502
-Node: String Functions511774
-Ref: String Functions-Footnote-1535275
-Ref: String Functions-Footnote-2535404
-Ref: String Functions-Footnote-3535652
-Node: Gory Details535739
-Ref: table-sub-escapes537520
-Ref: table-sub-proposed539035
-Ref: table-posix-sub540397
-Ref: table-gensub-escapes541934
-Ref: Gory Details-Footnote-1542767
-Node: I/O Functions542918
-Ref: I/O Functions-Footnote-1550154
-Node: Time Functions550301
-Ref: Time Functions-Footnote-1560810
-Ref: Time Functions-Footnote-2560878
-Ref: Time Functions-Footnote-3561036
-Ref: Time Functions-Footnote-4561147
-Ref: Time Functions-Footnote-5561259
-Ref: Time Functions-Footnote-6561486
-Node: Bitwise Functions561752
-Ref: table-bitwise-ops562314
-Ref: Bitwise Functions-Footnote-1566642
-Node: Type Functions566814
-Node: I18N Functions567966
-Node: User-defined569613
-Node: Definition Syntax570418
-Ref: Definition Syntax-Footnote-1576077
-Node: Function Example576148
-Ref: Function Example-Footnote-1579069
-Node: Function Caveats579091
-Node: Calling A Function579609
-Node: Variable Scope580567
-Node: Pass By Value/Reference583560
-Node: Return Statement587057
-Node: Dynamic Typing590036
-Node: Indirect Calls590965
-Ref: Indirect Calls-Footnote-1602271
-Node: Functions Summary602399
-Node: Library Functions605101
-Ref: Library Functions-Footnote-1608709
-Ref: Library Functions-Footnote-2608852
-Node: Library Names609023
-Ref: Library Names-Footnote-1612481
-Ref: Library Names-Footnote-2612704
-Node: General Functions612790
-Node: Strtonum Function613893
-Node: Assert Function616915
-Node: Round Function620239
-Node: Cliff Random Function621780
-Node: Ordinal Functions622796
-Ref: Ordinal Functions-Footnote-1625859
-Ref: Ordinal Functions-Footnote-2626111
-Node: Join Function626322
-Ref: Join Function-Footnote-1628092
-Node: Getlocaltime Function628292
-Node: Readfile Function632036
-Node: Shell Quoting634008
-Node: Data File Management635409
-Node: Filetrans Function636041
-Node: Rewind Function640137
-Node: File Checking641523
-Ref: File Checking-Footnote-1642856
-Node: Empty Files643057
-Node: Ignoring Assigns645036
-Node: Getopt Function646586
-Ref: Getopt Function-Footnote-1658050
-Node: Passwd Functions658250
-Ref: Passwd Functions-Footnote-1667090
-Node: Group Functions667178
-Ref: Group Functions-Footnote-1675075
-Node: Walking Arrays675280
-Node: Library Functions Summary676880
-Node: Library Exercises678284
-Node: Sample Programs679564
-Node: Running Examples680334
-Node: Clones681062
-Node: Cut Program682286
-Node: Egrep Program692006
-Ref: Egrep Program-Footnote-1699509
-Node: Id Program699619
-Node: Split Program703295
-Ref: Split Program-Footnote-1706749
-Node: Tee Program706877
-Node: Uniq Program709666
-Node: Wc Program717085
-Ref: Wc Program-Footnote-1721335
-Node: Miscellaneous Programs721429
-Node: Dupword Program722642
-Node: Alarm Program724673
-Node: Translate Program729478
-Ref: Translate Program-Footnote-1734041
-Node: Labels Program734311
-Ref: Labels Program-Footnote-1737662
-Node: Word Sorting737746
-Node: History Sorting741816
-Node: Extract Program743651
-Node: Simple Sed751175
-Node: Igawk Program754245
-Ref: Igawk Program-Footnote-1768571
-Ref: Igawk Program-Footnote-2768772
-Ref: Igawk Program-Footnote-3768894
-Node: Anagram Program769009
-Node: Signature Program772070
-Node: Programs Summary773317
-Node: Programs Exercises774538
-Ref: Programs Exercises-Footnote-1778669
-Node: Advanced Features778760
-Node: Nondecimal Data780742
-Node: Array Sorting782332
-Node: Controlling Array Traversal783032
-Ref: Controlling Array Traversal-Footnote-1791398
-Node: Array Sorting Functions791516
-Ref: Array Sorting Functions-Footnote-1795402
-Node: Two-way I/O795598
-Ref: Two-way I/O-Footnote-1800543
-Ref: Two-way I/O-Footnote-2800729
-Node: TCP/IP Networking800811
-Node: Profiling803683
-Node: Advanced Features Summary811954
-Node: Internationalization813887
-Node: I18N and L10N815367
-Node: Explaining gettext816053
-Ref: Explaining gettext-Footnote-1821078
-Ref: Explaining gettext-Footnote-2821262
-Node: Programmer i18n821427
-Ref: Programmer i18n-Footnote-1826303
-Node: Translator i18n826352
-Node: String Extraction827146
-Ref: String Extraction-Footnote-1828277
-Node: Printf Ordering828363
-Ref: Printf Ordering-Footnote-1831149
-Node: I18N Portability831213
-Ref: I18N Portability-Footnote-1833669
-Node: I18N Example833732
-Ref: I18N Example-Footnote-1836535
-Node: Gawk I18N836607
-Node: I18N Summary837251
-Node: Debugger838591
-Node: Debugging839613
-Node: Debugging Concepts840054
-Node: Debugging Terms841864
-Node: Awk Debugging844436
-Node: Sample Debugging Session845342
-Node: Debugger Invocation845876
-Node: Finding The Bug847261
-Node: List of Debugger Commands853740
-Node: Breakpoint Control855072
-Node: Debugger Execution Control858749
-Node: Viewing And Changing Data862108
-Node: Execution Stack865484
-Node: Debugger Info867119
-Node: Miscellaneous Debugger Commands871164
-Node: Readline Support876165
-Node: Limitations877059
-Node: Debugging Summary879174
-Node: Arbitrary Precision Arithmetic880348
-Node: Computer Arithmetic881764
-Ref: table-numeric-ranges885363
-Ref: Computer Arithmetic-Footnote-1885887
-Node: Math Definitions885944
-Ref: table-ieee-formats889239
-Ref: Math Definitions-Footnote-1889843
-Node: MPFR features889948
-Node: FP Math Caution891619
-Ref: FP Math Caution-Footnote-1892669
-Node: Inexactness of computations893038
-Node: Inexact representation893997
-Node: Comparing FP Values895355
-Node: Errors accumulate896437
-Node: Getting Accuracy897869
-Node: Try To Round900573
-Node: Setting precision901472
-Ref: table-predefined-precision-strings902156
-Node: Setting the rounding mode903985
-Ref: table-gawk-rounding-modes904349
-Ref: Setting the rounding mode-Footnote-1907801
-Node: Arbitrary Precision Integers907980
-Ref: Arbitrary Precision Integers-Footnote-1912878
-Node: POSIX Floating Point Problems913027
-Ref: POSIX Floating Point Problems-Footnote-1916906
-Node: Floating point summary916944
-Node: Dynamic Extensions919140
-Node: Extension Intro920692
-Node: Plugin License921957
-Node: Extension Mechanism Outline922754
-Ref: figure-load-extension923182
-Ref: figure-register-new-function924662
-Ref: figure-call-new-function925666
-Node: Extension API Description927653
-Node: Extension API Functions Introduction929103
-Node: General Data Types933924
-Ref: General Data Types-Footnote-1939824
-Node: Memory Allocation Functions940123
-Ref: Memory Allocation Functions-Footnote-1942962
-Node: Constructor Functions943061
-Node: Registration Functions944796
-Node: Extension Functions945481
-Node: Exit Callback Functions947778
-Node: Extension Version String949026
-Node: Input Parsers949689
-Node: Output Wrappers959564
-Node: Two-way processors964077
-Node: Printing Messages966340
-Ref: Printing Messages-Footnote-1967416
-Node: Updating `ERRNO'967568
-Node: Requesting Values968308
-Ref: table-value-types-returned969035
-Node: Accessing Parameters969992
-Node: Symbol Table Access971226
-Node: Symbol table by name971740
-Node: Symbol table by cookie973760
-Ref: Symbol table by cookie-Footnote-1977905
-Node: Cached values977968
-Ref: Cached values-Footnote-1981464
-Node: Array Manipulation981555
-Ref: Array Manipulation-Footnote-1982653
-Node: Array Data Types982690
-Ref: Array Data Types-Footnote-1985345
-Node: Array Functions985437
-Node: Flattening Arrays989296
-Node: Creating Arrays996198
-Node: Extension API Variables1000969
-Node: Extension Versioning1001605
-Node: Extension API Informational Variables1003496
-Node: Extension API Boilerplate1004561
-Node: Finding Extensions1008370
-Node: Extension Example1008930
-Node: Internal File Description1009702
-Node: Internal File Ops1013769
-Ref: Internal File Ops-Footnote-11025520
-Node: Using Internal File Ops1025660
-Ref: Using Internal File Ops-Footnote-11028043
-Node: Extension Samples1028316
-Node: Extension Sample File Functions1029844
-Node: Extension Sample Fnmatch1037525
-Node: Extension Sample Fork1039013
-Node: Extension Sample Inplace1040228
-Node: Extension Sample Ord1041904
-Node: Extension Sample Readdir1042740
-Ref: table-readdir-file-types1043617
-Node: Extension Sample Revout1044428
-Node: Extension Sample Rev2way1045017
-Node: Extension Sample Read write array1045757
-Node: Extension Sample Readfile1047697
-Node: Extension Sample Time1048792
-Node: Extension Sample API Tests1050140
-Node: gawkextlib1050631
-Node: Extension summary1053309
-Node: Extension Exercises1056998
-Node: Language History1057720
-Node: V7/SVR3.11059376
-Node: SVR41061529
-Node: POSIX1062963
-Node: BTL1064344
-Node: POSIX/GNU1065075
-Node: Feature History1070911
-Node: Common Extensions1084705
-Node: Ranges and Locales1086077
-Ref: Ranges and Locales-Footnote-11090696
-Ref: Ranges and Locales-Footnote-21090723
-Ref: Ranges and Locales-Footnote-31090958
-Node: Contributors1091179
-Node: History summary1096719
-Node: Installation1098098
-Node: Gawk Distribution1099044
-Node: Getting1099528
-Node: Extracting1100351
-Node: Distribution contents1101988
-Node: Unix Installation1108090
-Node: Quick Installation1108773
-Node: Shell Startup Files1111184
-Node: Additional Configuration Options1112263
-Node: Configuration Philosophy1114067
-Node: Non-Unix Installation1116436
-Node: PC Installation1116894
-Node: PC Binary Installation1118214
-Node: PC Compiling1120062
-Ref: PC Compiling-Footnote-11123083
-Node: PC Testing1123192
-Node: PC Using1124368
-Node: Cygwin1128483
-Node: MSYS1129253
-Node: VMS Installation1129754
-Node: VMS Compilation1130546
-Ref: VMS Compilation-Footnote-11131775
-Node: VMS Dynamic Extensions1131833
-Node: VMS Installation Details1133517
-Node: VMS Running1135768
-Node: VMS GNV1138608
-Node: VMS Old Gawk1139343
-Node: Bugs1139813
-Node: Other Versions1143702
-Node: Installation summary1150136
-Node: Notes1151195
-Node: Compatibility Mode1152060
-Node: Additions1152842
-Node: Accessing The Source1153767
-Node: Adding Code1155202
-Node: New Ports1161359
-Node: Derived Files1165841
-Ref: Derived Files-Footnote-11171316
-Ref: Derived Files-Footnote-21171350
-Ref: Derived Files-Footnote-31171946
-Node: Future Extensions1172060
-Node: Implementation Limitations1172666
-Node: Extension Design1173914
-Node: Old Extension Problems1175068
-Ref: Old Extension Problems-Footnote-11176585
-Node: Extension New Mechanism Goals1176642
-Ref: Extension New Mechanism Goals-Footnote-11180002
-Node: Extension Other Design Decisions1180191
-Node: Extension Future Growth1182299
-Node: Old Extension Mechanism1183135
-Node: Notes summary1184897
-Node: Basic Concepts1186083
-Node: Basic High Level1186764
-Ref: figure-general-flow1187036
-Ref: figure-process-flow1187635
-Ref: Basic High Level-Footnote-11190864
-Node: Basic Data Typing1191049
-Node: Glossary1194377
-Node: Copying1226306
-Node: GNU Free Documentation License1263862
-Node: Index1288998
+Ref: Names-Footnote-155064
+Node: This Manual55210
+Ref: This Manual-Footnote-161710
+Node: Conventions61810
+Node: Manual History64147
+Ref: Manual History-Footnote-167140
+Ref: Manual History-Footnote-267181
+Node: How To Contribute67255
+Node: Acknowledgments68384
+Node: Getting Started73250
+Node: Running gawk75689
+Node: One-shot76879
+Node: Read Terminal78143
+Node: Long80174
+Node: Executable Scripts81687
+Ref: Executable Scripts-Footnote-184476
+Node: Comments84579
+Node: Quoting87061
+Node: DOS Quoting92579
+Node: Sample Data Files93254
+Node: Very Simple95849
+Node: Two Rules100748
+Node: More Complex102634
+Node: Statements/Lines105496
+Ref: Statements/Lines-Footnote-1109951
+Node: Other Features110216
+Node: When111152
+Ref: When-Footnote-1112906
+Node: Intro Summary112971
+Node: Invoking Gawk113855
+Node: Command Line115369
+Node: Options116167
+Ref: Options-Footnote-1131962
+Ref: Options-Footnote-2132191
+Node: Other Arguments132216
+Node: Naming Standard Input135164
+Node: Environment Variables136257
+Node: AWKPATH Variable136815
+Ref: AWKPATH Variable-Footnote-1140222
+Ref: AWKPATH Variable-Footnote-2140267
+Node: AWKLIBPATH Variable140527
+Node: Other Environment Variables141783
+Node: Exit Status145301
+Node: Include Files145977
+Node: Loading Shared Libraries149566
+Node: Obsolete150993
+Node: Undocumented151685
+Node: Invoking Summary151952
+Node: Regexp153615
+Node: Regexp Usage155069
+Node: Escape Sequences157106
+Node: Regexp Operators163335
+Ref: Regexp Operators-Footnote-1170745
+Ref: Regexp Operators-Footnote-2170892
+Node: Bracket Expressions170990
+Ref: table-char-classes173005
+Node: Leftmost Longest175947
+Node: Computed Regexps177249
+Node: GNU Regexp Operators180678
+Node: Case-sensitivity184350
+Ref: Case-sensitivity-Footnote-1187235
+Ref: Case-sensitivity-Footnote-2187470
+Node: Regexp Summary187578
+Node: Reading Files189045
+Node: Records191138
+Node: awk split records191871
+Node: gawk split records196800
+Ref: gawk split records-Footnote-1201339
+Node: Fields201376
+Ref: Fields-Footnote-1204154
+Node: Nonconstant Fields204240
+Ref: Nonconstant Fields-Footnote-1206478
+Node: Changing Fields206681
+Node: Field Separators212612
+Node: Default Field Splitting215316
+Node: Regexp Field Splitting216433
+Node: Single Character Fields219783
+Node: Command Line Field Separator220842
+Node: Full Line Fields224059
+Ref: Full Line Fields-Footnote-1225580
+Ref: Full Line Fields-Footnote-2225626
+Node: Field Splitting Summary225727
+Node: Constant Size227801
+Node: Splitting By Content232384
+Ref: Splitting By Content-Footnote-1236349
+Node: Multiple Line236512
+Ref: Multiple Line-Footnote-1242393
+Node: Getline242572
+Node: Plain Getline244779
+Node: Getline/Variable247419
+Node: Getline/File248568
+Node: Getline/Variable/File249953
+Ref: Getline/Variable/File-Footnote-1251556
+Node: Getline/Pipe251643
+Node: Getline/Variable/Pipe254321
+Node: Getline/Coprocess255452
+Node: Getline/Variable/Coprocess256716
+Node: Getline Notes257455
+Node: Getline Summary260249
+Ref: table-getline-variants260661
+Node: Read Timeout261490
+Ref: Read Timeout-Footnote-1265327
+Node: Command-line directories265385
+Node: Input Summary266290
+Node: Input Exercises269675
+Node: Printing270403
+Node: Print272238
+Node: Print Examples273695
+Node: Output Separators276474
+Node: OFMT278492
+Node: Printf279847
+Node: Basic Printf280632
+Node: Control Letters282204
+Node: Format Modifiers286189
+Node: Printf Examples292195
+Node: Redirection294681
+Node: Special FD301519
+Ref: Special FD-Footnote-1304685
+Node: Special Files304759
+Node: Other Inherited Files305376
+Node: Special Network306376
+Node: Special Caveats307238
+Node: Close Files And Pipes308187
+Ref: Close Files And Pipes-Footnote-1315372
+Ref: Close Files And Pipes-Footnote-2315520
+Node: Nonfatal315670
+Node: Output Summary317593
+Node: Output Exercises318814
+Node: Expressions319494
+Node: Values320683
+Node: Constants321360
+Node: Scalar Constants322051
+Ref: Scalar Constants-Footnote-1322913
+Node: Nondecimal-numbers323163
+Node: Regexp Constants326173
+Node: Using Constant Regexps326699
+Node: Variables329862
+Node: Using Variables330519
+Node: Assignment Options332430
+Node: Conversion334305
+Node: Strings And Numbers334829
+Ref: Strings And Numbers-Footnote-1337894
+Node: Locale influences conversions338003
+Ref: table-locale-affects340749
+Node: All Operators341341
+Node: Arithmetic Ops341970
+Node: Concatenation344475
+Ref: Concatenation-Footnote-1347294
+Node: Assignment Ops347401
+Ref: table-assign-ops352380
+Node: Increment Ops353690
+Node: Truth Values and Conditions357121
+Node: Truth Values358204
+Node: Typing and Comparison359253
+Node: Variable Typing360069
+Node: Comparison Operators363736
+Ref: table-relational-ops364146
+Node: POSIX String Comparison367641
+Ref: POSIX String Comparison-Footnote-1368713
+Node: Boolean Ops368852
+Ref: Boolean Ops-Footnote-1373330
+Node: Conditional Exp373421
+Node: Function Calls375159
+Node: Precedence379039
+Node: Locales382699
+Node: Expressions Summary384331
+Node: Patterns and Actions386902
+Node: Pattern Overview388022
+Node: Regexp Patterns389701
+Node: Expression Patterns390244
+Node: Ranges394024
+Node: BEGIN/END397131
+Node: Using BEGIN/END397892
+Ref: Using BEGIN/END-Footnote-1400628
+Node: I/O And BEGIN/END400734
+Node: BEGINFILE/ENDFILE403049
+Node: Empty405946
+Node: Using Shell Variables406263
+Node: Action Overview408536
+Node: Statements410862
+Node: If Statement412710
+Node: While Statement414205
+Node: Do Statement416233
+Node: For Statement417381
+Node: Switch Statement420539
+Node: Break Statement422921
+Node: Continue Statement425014
+Node: Next Statement426841
+Node: Nextfile Statement429222
+Node: Exit Statement431850
+Node: Built-in Variables434261
+Node: User-modified435394
+Ref: User-modified-Footnote-1443028
+Node: Auto-set443090
+Ref: Auto-set-Footnote-1456799
+Ref: Auto-set-Footnote-2457004
+Node: ARGC and ARGV457060
+Node: Pattern Action Summary461278
+Node: Arrays463711
+Node: Array Basics465040
+Node: Array Intro465884
+Ref: figure-array-elements467818
+Ref: Array Intro-Footnote-1470438
+Node: Reference to Elements470566
+Node: Assigning Elements473028
+Node: Array Example473519
+Node: Scanning an Array475278
+Node: Controlling Scanning478298
+Ref: Controlling Scanning-Footnote-1483692
+Node: Numeric Array Subscripts484008
+Node: Uninitialized Subscripts486193
+Node: Delete487810
+Ref: Delete-Footnote-1490559
+Node: Multidimensional490616
+Node: Multiscanning493713
+Node: Arrays of Arrays495302
+Node: Arrays Summary500056
+Node: Functions502147
+Node: Built-in503186
+Node: Calling Built-in504264
+Node: Numeric Functions506259
+Ref: Numeric Functions-Footnote-1511077
+Ref: Numeric Functions-Footnote-2511434
+Ref: Numeric Functions-Footnote-3511482
+Node: String Functions511754
+Ref: String Functions-Footnote-1535255
+Ref: String Functions-Footnote-2535384
+Ref: String Functions-Footnote-3535632
+Node: Gory Details535719
+Ref: table-sub-escapes537500
+Ref: table-sub-proposed539015
+Ref: table-posix-sub540377
+Ref: table-gensub-escapes541914
+Ref: Gory Details-Footnote-1542747
+Node: I/O Functions542898
+Ref: I/O Functions-Footnote-1550134
+Node: Time Functions550281
+Ref: Time Functions-Footnote-1560790
+Ref: Time Functions-Footnote-2560858
+Ref: Time Functions-Footnote-3561016
+Ref: Time Functions-Footnote-4561127
+Ref: Time Functions-Footnote-5561239
+Ref: Time Functions-Footnote-6561466
+Node: Bitwise Functions561732
+Ref: table-bitwise-ops562294
+Ref: Bitwise Functions-Footnote-1566622
+Node: Type Functions566794
+Node: I18N Functions567946
+Node: User-defined569593
+Node: Definition Syntax570398
+Ref: Definition Syntax-Footnote-1576057
+Node: Function Example576128
+Ref: Function Example-Footnote-1579049
+Node: Function Caveats579071
+Node: Calling A Function579589
+Node: Variable Scope580547
+Node: Pass By Value/Reference583540
+Node: Return Statement587037
+Node: Dynamic Typing590016
+Node: Indirect Calls590945
+Ref: Indirect Calls-Footnote-1600810
+Node: Functions Summary600938
+Node: Library Functions603640
+Ref: Library Functions-Footnote-1607248
+Ref: Library Functions-Footnote-2607391
+Node: Library Names607562
+Ref: Library Names-Footnote-1611020
+Ref: Library Names-Footnote-2611243
+Node: General Functions611329
+Node: Strtonum Function612432
+Node: Assert Function615454
+Node: Round Function618778
+Node: Cliff Random Function620319
+Node: Ordinal Functions621335
+Ref: Ordinal Functions-Footnote-1624398
+Ref: Ordinal Functions-Footnote-2624650
+Node: Join Function624861
+Ref: Join Function-Footnote-1626631
+Node: Getlocaltime Function626831
+Node: Readfile Function630575
+Node: Shell Quoting632547
+Node: Data File Management633948
+Node: Filetrans Function634580
+Node: Rewind Function638676
+Node: File Checking640062
+Ref: File Checking-Footnote-1641395
+Node: Empty Files641596
+Node: Ignoring Assigns643575
+Node: Getopt Function645125
+Ref: Getopt Function-Footnote-1656589
+Node: Passwd Functions656789
+Ref: Passwd Functions-Footnote-1665629
+Node: Group Functions665717
+Ref: Group Functions-Footnote-1673614
+Node: Walking Arrays673819
+Node: Library Functions Summary676825
+Node: Library Exercises678227
+Node: Sample Programs679507
+Node: Running Examples680277
+Node: Clones681005
+Node: Cut Program682229
+Node: Egrep Program691949
+Ref: Egrep Program-Footnote-1699452
+Node: Id Program699562
+Node: Split Program703238
+Ref: Split Program-Footnote-1706692
+Node: Tee Program706820
+Node: Uniq Program709609
+Node: Wc Program717028
+Ref: Wc Program-Footnote-1721278
+Node: Miscellaneous Programs721372
+Node: Dupword Program722585
+Node: Alarm Program724616
+Node: Translate Program729421
+Ref: Translate Program-Footnote-1733984
+Node: Labels Program734254
+Ref: Labels Program-Footnote-1737605
+Node: Word Sorting737689
+Node: History Sorting741759
+Node: Extract Program743594
+Node: Simple Sed751118
+Node: Igawk Program754188
+Ref: Igawk Program-Footnote-1768514
+Ref: Igawk Program-Footnote-2768715
+Ref: Igawk Program-Footnote-3768837
+Node: Anagram Program768952
+Node: Signature Program772013
+Node: Programs Summary773260
+Node: Programs Exercises774481
+Ref: Programs Exercises-Footnote-1778612
+Node: Advanced Features778703
+Node: Nondecimal Data780685
+Node: Array Sorting782275
+Node: Controlling Array Traversal782975
+Ref: Controlling Array Traversal-Footnote-1791341
+Node: Array Sorting Functions791459
+Ref: Array Sorting Functions-Footnote-1795345
+Node: Two-way I/O795541
+Ref: Two-way I/O-Footnote-1800486
+Ref: Two-way I/O-Footnote-2800672
+Node: TCP/IP Networking800754
+Node: Profiling803626
+Node: Advanced Features Summary811897
+Node: Internationalization813830
+Node: I18N and L10N815310
+Node: Explaining gettext815996
+Ref: Explaining gettext-Footnote-1821021
+Ref: Explaining gettext-Footnote-2821205
+Node: Programmer i18n821370
+Ref: Programmer i18n-Footnote-1826246
+Node: Translator i18n826295
+Node: String Extraction827089
+Ref: String Extraction-Footnote-1828220
+Node: Printf Ordering828306
+Ref: Printf Ordering-Footnote-1831092
+Node: I18N Portability831156
+Ref: I18N Portability-Footnote-1833612
+Node: I18N Example833675
+Ref: I18N Example-Footnote-1836478
+Node: Gawk I18N836550
+Node: I18N Summary837194
+Node: Debugger838534
+Node: Debugging839556
+Node: Debugging Concepts839997
+Node: Debugging Terms841807
+Node: Awk Debugging844379
+Node: Sample Debugging Session845285
+Node: Debugger Invocation845819
+Node: Finding The Bug847204
+Node: List of Debugger Commands853683
+Node: Breakpoint Control855015
+Node: Debugger Execution Control858692
+Node: Viewing And Changing Data862051
+Node: Execution Stack865427
+Node: Debugger Info867062
+Node: Miscellaneous Debugger Commands871107
+Node: Readline Support876108
+Node: Limitations877002
+Node: Debugging Summary879117
+Node: Arbitrary Precision Arithmetic880291
+Node: Computer Arithmetic881707
+Ref: table-numeric-ranges885306
+Ref: Computer Arithmetic-Footnote-1885830
+Node: Math Definitions885887
+Ref: table-ieee-formats889182
+Ref: Math Definitions-Footnote-1889786
+Node: MPFR features889891
+Node: FP Math Caution891562
+Ref: FP Math Caution-Footnote-1892612
+Node: Inexactness of computations892981
+Node: Inexact representation893940
+Node: Comparing FP Values895298
+Node: Errors accumulate896380
+Node: Getting Accuracy897812
+Node: Try To Round900516
+Node: Setting precision901415
+Ref: table-predefined-precision-strings902099
+Node: Setting the rounding mode903928
+Ref: table-gawk-rounding-modes904292
+Ref: Setting the rounding mode-Footnote-1907744
+Node: Arbitrary Precision Integers907923
+Ref: Arbitrary Precision Integers-Footnote-1912821
+Node: POSIX Floating Point Problems912970
+Ref: POSIX Floating Point Problems-Footnote-1916849
+Node: Floating point summary916887
+Node: Dynamic Extensions919074
+Node: Extension Intro920626
+Node: Plugin License921891
+Node: Extension Mechanism Outline922688
+Ref: figure-load-extension923116
+Ref: figure-register-new-function924596
+Ref: figure-call-new-function925600
+Node: Extension API Description927587
+Node: Extension API Functions Introduction929037
+Node: General Data Types933858
+Ref: General Data Types-Footnote-1939758
+Node: Memory Allocation Functions940057
+Ref: Memory Allocation Functions-Footnote-1942896
+Node: Constructor Functions942995
+Node: Registration Functions944734
+Node: Extension Functions945419
+Node: Exit Callback Functions947716
+Node: Extension Version String948964
+Node: Input Parsers949627
+Node: Output Wrappers959502
+Node: Two-way processors964015
+Node: Printing Messages966278
+Ref: Printing Messages-Footnote-1967354
+Node: Updating `ERRNO'967506
+Node: Requesting Values968246
+Ref: table-value-types-returned968973
+Node: Accessing Parameters969930
+Node: Symbol Table Access971164
+Node: Symbol table by name971678
+Node: Symbol table by cookie973698
+Ref: Symbol table by cookie-Footnote-1977843
+Node: Cached values977906
+Ref: Cached values-Footnote-1981402
+Node: Array Manipulation981493
+Ref: Array Manipulation-Footnote-1982591
+Node: Array Data Types982628
+Ref: Array Data Types-Footnote-1985283
+Node: Array Functions985375
+Node: Flattening Arrays989234
+Node: Creating Arrays996136
+Node: Extension API Variables1000907
+Node: Extension Versioning1001543
+Node: Extension API Informational Variables1003434
+Node: Extension API Boilerplate1004499
+Node: Finding Extensions1008308
+Node: Extension Example1008868
+Node: Internal File Description1009640
+Node: Internal File Ops1013707
+Ref: Internal File Ops-Footnote-11025458
+Node: Using Internal File Ops1025598
+Ref: Using Internal File Ops-Footnote-11027981
+Node: Extension Samples1028254
+Node: Extension Sample File Functions1029782
+Node: Extension Sample Fnmatch1037463
+Node: Extension Sample Fork1038951
+Node: Extension Sample Inplace1040166
+Node: Extension Sample Ord1041842
+Node: Extension Sample Readdir1042678
+Ref: table-readdir-file-types1043555
+Node: Extension Sample Revout1044366
+Node: Extension Sample Rev2way1044955
+Node: Extension Sample Read write array1045695
+Node: Extension Sample Readfile1047635
+Node: Extension Sample Time1048730
+Node: Extension Sample API Tests1050078
+Node: gawkextlib1050569
+Node: Extension summary1053247
+Node: Extension Exercises1056936
+Node: Language History1057658
+Node: V7/SVR3.11059314
+Node: SVR41061467
+Node: POSIX1062901
+Node: BTL1064282
+Node: POSIX/GNU1065013
+Node: Feature History1070849
+Node: Common Extensions1084643
+Node: Ranges and Locales1086015
+Ref: Ranges and Locales-Footnote-11090634
+Ref: Ranges and Locales-Footnote-21090661
+Ref: Ranges and Locales-Footnote-31090896
+Node: Contributors1091117
+Node: History summary1096657
+Node: Installation1098036
+Node: Gawk Distribution1098982
+Node: Getting1099466
+Node: Extracting1100289
+Node: Distribution contents1101926
+Node: Unix Installation1108028
+Node: Quick Installation1108711
+Node: Shell Startup Files1111122
+Node: Additional Configuration Options1112201
+Node: Configuration Philosophy1114005
+Node: Non-Unix Installation1116374
+Node: PC Installation1116832
+Node: PC Binary Installation1118152
+Node: PC Compiling1120000
+Ref: PC Compiling-Footnote-11123021
+Node: PC Testing1123130
+Node: PC Using1124306
+Node: Cygwin1128421
+Node: MSYS1129191
+Node: VMS Installation1129692
+Node: VMS Compilation1130484
+Ref: VMS Compilation-Footnote-11131713
+Node: VMS Dynamic Extensions1131771
+Node: VMS Installation Details1133455
+Node: VMS Running1135706
+Node: VMS GNV1138546
+Node: VMS Old Gawk1139281
+Node: Bugs1139751
+Node: Other Versions1143640
+Node: Installation summary1150074
+Node: Notes1151133
+Node: Compatibility Mode1151998
+Node: Additions1152780
+Node: Accessing The Source1153705
+Node: Adding Code1155140
+Node: New Ports1161297
+Node: Derived Files1165779
+Ref: Derived Files-Footnote-11171254
+Ref: Derived Files-Footnote-21171288
+Ref: Derived Files-Footnote-31171884
+Node: Future Extensions1171998
+Node: Implementation Limitations1172604
+Node: Extension Design1173852
+Node: Old Extension Problems1175006
+Ref: Old Extension Problems-Footnote-11176523
+Node: Extension New Mechanism Goals1176580
+Ref: Extension New Mechanism Goals-Footnote-11179940
+Node: Extension Other Design Decisions1180129
+Node: Extension Future Growth1182237
+Node: Old Extension Mechanism1183073
+Node: Notes summary1184835
+Node: Basic Concepts1186021
+Node: Basic High Level1186702
+Ref: figure-general-flow1186974
+Ref: figure-process-flow1187573
+Ref: Basic High Level-Footnote-11190802
+Node: Basic Data Typing1190987
+Node: Glossary1194315
+Node: Copying1226244
+Node: GNU Free Documentation License1263800
+Node: Index1288936

End Tag Table