aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info588
1 files changed, 295 insertions, 293 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index 3abb4f41..bfca7f05 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -16471,7 +16471,7 @@ you.
to replace the installed versions on your system. Nor may all of these
programs be fully compliant with the most recent POSIX standard. This
is not a problem; their purpose is to illustrate `awk' language
-programming for "real world" tasks.
+programming for "real-world" tasks.
The programs are presented in alphabetical order.
@@ -16497,7 +16497,7 @@ separated by TABs by default, but you may supply a command-line option
to change the field "delimiter" (i.e., the field-separator character).
`cut''s definition of fields is less general than `awk''s.
- A common use of `cut' might be to pull out just the login name of
+ A common use of `cut' might be to pull out just the login names of
logged-on users from the output of `who'. For example, the following
pipeline generates a sorted, unique list of the logged-on users:
@@ -16906,7 +16906,7 @@ unsuccessful match. If the line does not match, the `next' statement
just moves on to the next record.
A number of additional tests are made, but they are only done if we
-are not counting lines. First, if the user only wants exit status
+are not counting lines. First, if the user only wants the exit status
(`no_print' is true), then it is enough to know that _one_ line in this
file matched, and we can skip on to the next file with `nextfile'.
Similarly, if we are only printing file names, we can print the file
@@ -16940,7 +16940,7 @@ line is printed, with a leading file name and colon if necessary:
}
The `END' rule takes care of producing the correct exit status. If
-there are no matches, the exit status is one; otherwise it is zero:
+there are no matches, the exit status is one; otherwise, it is zero:
END {
exit (total == 0)
@@ -16982,7 +16982,8 @@ a more palatable output than just individual numbers.
Here is a simple version of `id' written in `awk'. It uses the user
database library functions (*note Passwd Functions::) and the group
-database library functions (*note Group Functions::):
+database library functions (*note Group Functions::) from *note Library
+Functions::.
The program is fairly straightforward. All the work is done in the
`BEGIN' rule. The user and group ID numbers are obtained from
@@ -17079,8 +17080,8 @@ is as follows:(1)
By default, the output files are named `xaa', `xab', and so on. Each
file has 1,000 lines in it, with the likely exception of the last file.
To change the number of lines in each file, supply a number on the
-command line preceded with a minus (e.g., `-500' for files with 500
-lines in them instead of 1,000). To change the name of the output
+command line preceded with a minus sign (e.g., `-500' for files with
+500 lines in them instead of 1,000). To change the names of the output
files to something like `myfileaa', `myfileab', and so on, supply an
additional argument that specifies the file name prefix.
@@ -17717,7 +17718,7 @@ checking and setting of defaults: the delay, the count, and the message
to print. If the user supplied a message without the ASCII BEL
character (known as the "alert" character, `"\a"'), then it is added to
the message. (On many systems, printing the ASCII BEL generates an
-audible alert. Thus when the alarm goes off, the system calls attention
+audible alert. Thus, when the alarm goes off, the system calls attention
to itself in case the user is not looking at the computer.) Just for a
change, this program uses a `switch' statement (*note Switch
Statement::), but the processing could be done with a series of
@@ -17849,7 +17850,7 @@ the "from" list.
Once upon a time, a user proposed adding a transliteration function
to `gawk'. The following program was written to prove that character
transliteration could be done with a user-level function. This program
-is not as complete as the system `tr' utility but it does most of the
+is not as complete as the system `tr' utility, but it does most of the
job.
The `translate' program was written long before `gawk' acquired the
@@ -17859,13 +17860,13 @@ and `gsub()' built-in functions (*note String Functions::). There are
two functions. The first, `stranslate()', takes three arguments:
`from'
- A list of characters from which to translate.
+ A list of characters from which to translate
`to'
- A list of characters to which to translate.
+ A list of characters to which to translate
`target'
- The string on which to do the translation.
+ The string on which to do the translation
Associative arrays make the translation part fairly easy. `t_ar'
holds the "to" characters, indexed by the "from" characters. Then a
@@ -17873,7 +17874,7 @@ simple loop goes through `from', one character at a time. For each
character in `from', if the character appears in `target', it is
replaced with the corresponding `to' character.
- The `translate()' function calls `stranslate()' using `$0' as the
+ The `translate()' function calls `stranslate()', using `$0' as the
target. The main program sets two global variables, `FROM' and `TO',
from the command line, and then changes `ARGV' so that `awk' reads from
the standard input.
@@ -17882,7 +17883,7 @@ the standard input.
record:
# translate.awk --- do tr-like stuff
- # Bugs: does not handle things like: tr A-Z a-z, it has
+ # Bugs: does not handle things like tr A-Z a-z; it has
# to be spelled out. However, if `to' is shorter than `from',
# the last character in `to' is used for the rest of `from'.
@@ -17960,13 +17961,13 @@ File: gawk.info, Node: Labels Program, Next: Word Sorting, Prev: Translate Pr
11.3.4 Printing Mailing Labels
------------------------------
-Here is a "real world"(1) program. This script reads lists of names and
+Here is a "real-world"(1) program. This script reads lists of names and
addresses and generates mailing labels. Each page of labels has 20
labels on it, two across and 10 down. The addresses are guaranteed to
be no more than five lines of data. Each address is separated from the
next by a blank line.
- The basic idea is to read 20 labels worth of data. Each line of
+ The basic idea is to read 20 labels' worth of data. Each line of
each label is stored in the `line' array. The single rule takes care
of filling the `line' array and printing the page when 20 labels have
been read.
@@ -17978,13 +17979,13 @@ splits records at blank lines (*note Records::). It sets `MAXLINES' to
Most of the work is done in the `printpage()' function. The label
lines are stored sequentially in the `line' array. But they have to
-print horizontally; `line[1]' next to `line[6]', `line[2]' next to
+print horizontally: `line[1]' next to `line[6]', `line[2]' next to
`line[7]', and so on. Two loops accomplish this. The outer loop,
controlled by `i', steps through every 10 lines of data; this is each
row of labels. The inner loop, controlled by `j', goes through the
-lines within the row. As `j' goes from 0 to 4, `i+j' is the `j'-th
-line in the row, and `i+j+5' is the entry next to it. The output ends
-up looking something like this:
+lines within the row. As `j' goes from 0 to 4, `i+j' is the `j'th line
+in the row, and `i+j+5' is the entry next to it. The output ends up
+looking something like this:
line 1 line 6
line 2 line 7
@@ -18087,8 +18088,8 @@ a useful format.
printf "%s\t%d\n", word, freq[word]
}
- The program relies on `awk''s default field splitting mechanism to
-break each line up into "words," and uses an associative array named
+ The program relies on `awk''s default field-splitting mechanism to
+break each line up into "words" and uses an associative array named
`freq', indexed by each word, to count the number of times the word
occurs. In the `END' rule, it prints the counts.
@@ -18174,7 +18175,7 @@ File: gawk.info, Node: History Sorting, Next: Extract Program, Prev: Word Sor
11.3.6 Removing Duplicates from Unsorted Text
---------------------------------------------
-The `uniq' program (*note Uniq Program::), removes duplicate lines from
+The `uniq' program (*note Uniq Program::) removes duplicate lines from
_sorted_ data.
Suppose, however, you need to remove duplicate lines from a data
@@ -18227,7 +18228,7 @@ hand. Here we present a program that can extract parts of a Texinfo
input file into separate files.
This Info file is written in Texinfo
-(http://www.gnu.org/software/texinfo/), the GNU project's document
+(http://www.gnu.org/software/texinfo/), the GNU Project's document
formatting language. A single Texinfo source file can be used to
produce both printed documentation, with TeX, and online documentation.
(The Texinfo language is described fully, starting with *note
@@ -18268,7 +18269,7 @@ them in a standard directory where `gawk' can find them. The Texinfo
file looks something like this:
...
- This program has a @code{BEGIN} rule,
+ This program has a @code{BEGIN} rule
that prints a nice message:
@example
@@ -18293,7 +18294,7 @@ upper- and lowercase letters in the directives won't matter.
given (`NF' is at least three) and also checking that the command exits
with a zero exit status, signifying OK:
- # extract.awk --- extract files and run programs from texinfo files
+ # extract.awk --- extract files and run programs from Texinfo files
BEGIN { IGNORECASE = 1 }
@@ -18320,11 +18321,11 @@ The variable `e' is used so that the rule fits nicely on the screen.
file name is given in the directive. If the file named is not the
current file, then the current file is closed. Keeping the current file
open until a new file is encountered allows the use of the `>'
-redirection for printing the contents, keeping open file management
+redirection for printing the contents, keeping open-file management
simple.
The `for' loop does the work. It reads lines using `getline' (*note
-Getline::). For an unexpected end of file, it calls the
+Getline::). For an unexpected end-of-file, it calls the
`unexpected_eof()' function. If the line is an "endfile" line, then it
breaks out of the loop. If the line is an `@group' or `@end group'
line, then it ignores it and goes on to the next line. Similarly,
@@ -18414,10 +18415,10 @@ File: gawk.info, Node: Simple Sed, Next: Igawk Program, Prev: Extract Program
11.3.8 A Simple Stream Editor
-----------------------------
-The `sed' utility is a stream editor, a program that reads a stream of
-data, makes changes to it, and passes it on. It is often used to make
-global changes to a large file or to a stream of data generated by a
-pipeline of commands. Although `sed' is a complicated program in its
+The `sed' utility is a "stream editor", a program that reads a stream
+of data, makes changes to it, and passes it on. It is often used to
+make global changes to a large file or to a stream of data generated by
+a pipeline of commands. Although `sed' is a complicated program in its
own right, its most common use is to perform global substitutions in
the middle of a pipeline:
@@ -18531,7 +18532,7 @@ include a library function twice.
`igawk' should behave just like `gawk' externally. This means it
should accept all of `gawk''s command-line arguments, including the
-ability to have multiple source files specified via `-f', and the
+ability to have multiple source files specified via `-f' and the
ability to mix command-line and library source files.
The program is written using the POSIX Shell (`sh') command
@@ -18561,8 +18562,8 @@ language.(1) It works as follows:
file names).
This program uses shell variables extensively: for storing
-command-line arguments, the text of the `awk' program that will expand
-the user's program, for the user's original program, and for the
+command-line arguments and the text of the `awk' program that will
+expand the user's program, for the user's original program, and for the
expanded program. Doing so removes some potential problems that might
arise were we to use temporary files instead, at the cost of making the
script somewhat more complicated.
@@ -18820,7 +18821,7 @@ It's done in these steps:
The last step is to call `gawk' with the expanded program, along
with the original options and command-line arguments that the user
-supplied.
+supplied:
eval gawk $opts -- '"$processed_program"' '"$@"'
@@ -18883,15 +18884,15 @@ One word is an anagram of another if both words contain the same letters
Column 2, Problem C, of Jon Bentley's `Programming Pearls', Second
Edition, presents an elegant algorithm. The idea is to give words that
are anagrams a common signature, sort all the words together by their
-signature, and then print them. Dr. Bentley observes that taking the
-letters in each word and sorting them produces that common signature.
+signatures, and then print them. Dr. Bentley observes that taking the
+letters in each word and sorting them produces those common signatures.
The following program uses arrays of arrays to bring together words
with the same signature and array sorting to print the words in sorted
order:
- # anagram.awk --- An implementation of the anagram finding algorithm
- # from Jon Bentley's "Programming Pearls", 2nd edition.
+ # anagram.awk --- An implementation of the anagram-finding algorithm
+ # from Jon Bentley's "Programming Pearls," 2nd edition.
# Addison Wesley, 2000, ISBN 0-201-65788-0.
# Column 2, Problem C, section 2.8, pp 18-20.
@@ -18911,7 +18912,7 @@ signature; the second dimension is the word itself:
apart into individual letters, sorts the letters, and then joins them
back together:
- # word2key --- split word apart into letters, sort, joining back together
+ # word2key --- split word apart into letters, sort, and join back together
function word2key(word, a, i, n, result)
{
@@ -19009,12 +19010,13 @@ File: gawk.info, Node: Programs Summary, Next: Programs Exercises, Prev: Misc
characters. The ability to use `split()' with the empty string as
the separator can considerably simplify such tasks.
- * The library functions from *note Library Functions::, proved their
- usefulness for a number of real (if small) programs.
+ * The examples here demonstrate the usefulness of the library
+ functions from *note Library Functions:: for a number of real (if
+ small) programs.
* Besides reinventing POSIX wheels, other programs solved a
- selection of interesting problems, such as finding duplicates
- words in text, printing mailing labels, and finding anagrams.
+ selection of interesting problems, such as finding duplicate words
+ in text, printing mailing labels, and finding anagrams.

@@ -33272,7 +33274,7 @@ Index
* hyphen (-), in bracket expressions: Bracket Expressions. (line 17)
* i debugger command (alias for info): Debugger Info. (line 13)
* id utility: Id Program. (line 6)
-* id.awk program: Id Program. (line 30)
+* id.awk program: Id Program. (line 31)
* if statement: If Statement. (line 6)
* if statement, actions, changing: Ranges. (line 25)
* if statement, use of regexps in: Regexp Usage. (line 19)
@@ -34936,252 +34938,252 @@ Node: Sample Programs677191
Node: Running Examples677961
Node: Clones678689
Node: Cut Program679913
-Node: Egrep Program689632
-Ref: Egrep Program-Footnote-1697130
-Node: Id Program697240
-Node: Split Program700885
-Ref: Split Program-Footnote-1704333
-Node: Tee Program704461
-Node: Uniq Program707250
-Node: Wc Program714669
-Ref: Wc Program-Footnote-1718919
-Node: Miscellaneous Programs719013
-Node: Dupword Program720226
-Node: Alarm Program722257
-Node: Translate Program727061
-Ref: Translate Program-Footnote-1731626
-Node: Labels Program731896
-Ref: Labels Program-Footnote-1735247
-Node: Word Sorting735331
-Node: History Sorting739402
-Node: Extract Program741238
-Node: Simple Sed748763
-Node: Igawk Program751831
-Ref: Igawk Program-Footnote-1766155
-Ref: Igawk Program-Footnote-2766356
-Ref: Igawk Program-Footnote-3766478
-Node: Anagram Program766593
-Node: Signature Program769650
-Node: Programs Summary770897
-Node: Programs Exercises772090
-Ref: Programs Exercises-Footnote-1776221
-Node: Advanced Features776312
-Node: Nondecimal Data778260
-Node: Array Sorting779850
-Node: Controlling Array Traversal780547
-Ref: Controlling Array Traversal-Footnote-1788880
-Node: Array Sorting Functions788998
-Ref: Array Sorting Functions-Footnote-1792887
-Node: Two-way I/O793083
-Ref: Two-way I/O-Footnote-1798028
-Ref: Two-way I/O-Footnote-2798214
-Node: TCP/IP Networking798296
-Node: Profiling801169
-Node: Advanced Features Summary809446
-Node: Internationalization811379
-Node: I18N and L10N812859
-Node: Explaining gettext813545
-Ref: Explaining gettext-Footnote-1818570
-Ref: Explaining gettext-Footnote-2818754
-Node: Programmer i18n818919
-Ref: Programmer i18n-Footnote-1823785
-Node: Translator i18n823834
-Node: String Extraction824628
-Ref: String Extraction-Footnote-1825759
-Node: Printf Ordering825845
-Ref: Printf Ordering-Footnote-1828631
-Node: I18N Portability828695
-Ref: I18N Portability-Footnote-1831150
-Node: I18N Example831213
-Ref: I18N Example-Footnote-1834016
-Node: Gawk I18N834088
-Node: I18N Summary834726
-Node: Debugger836065
-Node: Debugging837087
-Node: Debugging Concepts837528
-Node: Debugging Terms839381
-Node: Awk Debugging841953
-Node: Sample Debugging Session842847
-Node: Debugger Invocation843367
-Node: Finding The Bug844751
-Node: List of Debugger Commands851226
-Node: Breakpoint Control852559
-Node: Debugger Execution Control856255
-Node: Viewing And Changing Data859619
-Node: Execution Stack862997
-Node: Debugger Info864634
-Node: Miscellaneous Debugger Commands868651
-Node: Readline Support873680
-Node: Limitations874572
-Node: Debugging Summary876686
-Node: Arbitrary Precision Arithmetic877854
-Node: Computer Arithmetic879270
-Ref: table-numeric-ranges882868
-Ref: Computer Arithmetic-Footnote-1883727
-Node: Math Definitions883784
-Ref: table-ieee-formats887072
-Ref: Math Definitions-Footnote-1887676
-Node: MPFR features887781
-Node: FP Math Caution889452
-Ref: FP Math Caution-Footnote-1890502
-Node: Inexactness of computations890871
-Node: Inexact representation891830
-Node: Comparing FP Values893187
-Node: Errors accumulate894269
-Node: Getting Accuracy895702
-Node: Try To Round898364
-Node: Setting precision899263
-Ref: table-predefined-precision-strings899947
-Node: Setting the rounding mode901736
-Ref: table-gawk-rounding-modes902100
-Ref: Setting the rounding mode-Footnote-1905555
-Node: Arbitrary Precision Integers905734
-Ref: Arbitrary Precision Integers-Footnote-1910634
-Node: POSIX Floating Point Problems910783
-Ref: POSIX Floating Point Problems-Footnote-1914656
-Node: Floating point summary914694
-Node: Dynamic Extensions916888
-Node: Extension Intro918440
-Node: Plugin License919706
-Node: Extension Mechanism Outline920503
-Ref: figure-load-extension920931
-Ref: figure-register-new-function922411
-Ref: figure-call-new-function923415
-Node: Extension API Description925401
-Node: Extension API Functions Introduction926851
-Node: General Data Types931675
-Ref: General Data Types-Footnote-1937414
-Node: Memory Allocation Functions937713
-Ref: Memory Allocation Functions-Footnote-1940552
-Node: Constructor Functions940648
-Node: Registration Functions942382
-Node: Extension Functions943067
-Node: Exit Callback Functions945364
-Node: Extension Version String946612
-Node: Input Parsers947277
-Node: Output Wrappers957156
-Node: Two-way processors961671
-Node: Printing Messages963875
-Ref: Printing Messages-Footnote-1964951
-Node: Updating `ERRNO'965103
-Node: Requesting Values965843
-Ref: table-value-types-returned966571
-Node: Accessing Parameters967528
-Node: Symbol Table Access968759
-Node: Symbol table by name969273
-Node: Symbol table by cookie971254
-Ref: Symbol table by cookie-Footnote-1975398
-Node: Cached values975461
-Ref: Cached values-Footnote-1978960
-Node: Array Manipulation979051
-Ref: Array Manipulation-Footnote-1980149
-Node: Array Data Types980186
-Ref: Array Data Types-Footnote-1982841
-Node: Array Functions982933
-Node: Flattening Arrays986787
-Node: Creating Arrays993679
-Node: Extension API Variables998450
-Node: Extension Versioning999086
-Node: Extension API Informational Variables1000987
-Node: Extension API Boilerplate1002052
-Node: Finding Extensions1005861
-Node: Extension Example1006421
-Node: Internal File Description1007193
-Node: Internal File Ops1011260
-Ref: Internal File Ops-Footnote-11022930
-Node: Using Internal File Ops1023070
-Ref: Using Internal File Ops-Footnote-11025453
-Node: Extension Samples1025726
-Node: Extension Sample File Functions1027252
-Node: Extension Sample Fnmatch1034890
-Node: Extension Sample Fork1036381
-Node: Extension Sample Inplace1037596
-Node: Extension Sample Ord1039271
-Node: Extension Sample Readdir1040107
-Ref: table-readdir-file-types1040983
-Node: Extension Sample Revout1041794
-Node: Extension Sample Rev2way1042384
-Node: Extension Sample Read write array1043124
-Node: Extension Sample Readfile1045064
-Node: Extension Sample Time1046159
-Node: Extension Sample API Tests1047508
-Node: gawkextlib1047999
-Node: Extension summary1050657
-Node: Extension Exercises1054346
-Node: Language History1055068
-Node: V7/SVR3.11056724
-Node: SVR41058905
-Node: POSIX1060350
-Node: BTL1061739
-Node: POSIX/GNU1062473
-Node: Feature History1068097
-Node: Common Extensions1081195
-Node: Ranges and Locales1082519
-Ref: Ranges and Locales-Footnote-11087137
-Ref: Ranges and Locales-Footnote-21087164
-Ref: Ranges and Locales-Footnote-31087398
-Node: Contributors1087619
-Node: History summary1093160
-Node: Installation1094530
-Node: Gawk Distribution1095476
-Node: Getting1095960
-Node: Extracting1096783
-Node: Distribution contents1098418
-Node: Unix Installation1104483
-Node: Quick Installation1105166
-Node: Shell Startup Files1107577
-Node: Additional Configuration Options1108656
-Node: Configuration Philosophy1110395
-Node: Non-Unix Installation1112764
-Node: PC Installation1113222
-Node: PC Binary Installation1114541
-Node: PC Compiling1116389
-Ref: PC Compiling-Footnote-11119410
-Node: PC Testing1119519
-Node: PC Using1120695
-Node: Cygwin1124810
-Node: MSYS1125633
-Node: VMS Installation1126133
-Node: VMS Compilation1126925
-Ref: VMS Compilation-Footnote-11128147
-Node: VMS Dynamic Extensions1128205
-Node: VMS Installation Details1129889
-Node: VMS Running1132141
-Node: VMS GNV1134977
-Node: VMS Old Gawk1135711
-Node: Bugs1136181
-Node: Other Versions1140064
-Node: Installation summary1146488
-Node: Notes1147544
-Node: Compatibility Mode1148409
-Node: Additions1149191
-Node: Accessing The Source1150116
-Node: Adding Code1151551
-Node: New Ports1157708
-Node: Derived Files1162190
-Ref: Derived Files-Footnote-11167665
-Ref: Derived Files-Footnote-21167699
-Ref: Derived Files-Footnote-31168295
-Node: Future Extensions1168409
-Node: Implementation Limitations1169015
-Node: Extension Design1170263
-Node: Old Extension Problems1171417
-Ref: Old Extension Problems-Footnote-11172934
-Node: Extension New Mechanism Goals1172991
-Ref: Extension New Mechanism Goals-Footnote-11176351
-Node: Extension Other Design Decisions1176540
-Node: Extension Future Growth1178648
-Node: Old Extension Mechanism1179484
-Node: Notes summary1181246
-Node: Basic Concepts1182432
-Node: Basic High Level1183113
-Ref: figure-general-flow1183385
-Ref: figure-process-flow1183984
-Ref: Basic High Level-Footnote-11187213
-Node: Basic Data Typing1187398
-Node: Glossary1190726
-Node: Copying1222655
-Node: GNU Free Documentation License1260211
-Node: Index1285347
+Node: Egrep Program689633
+Ref: Egrep Program-Footnote-1697136
+Node: Id Program697246
+Node: Split Program700922
+Ref: Split Program-Footnote-1704376
+Node: Tee Program704504
+Node: Uniq Program707293
+Node: Wc Program714712
+Ref: Wc Program-Footnote-1718962
+Node: Miscellaneous Programs719056
+Node: Dupword Program720269
+Node: Alarm Program722300
+Node: Translate Program727105
+Ref: Translate Program-Footnote-1731668
+Node: Labels Program731938
+Ref: Labels Program-Footnote-1735289
+Node: Word Sorting735373
+Node: History Sorting739443
+Node: Extract Program741278
+Node: Simple Sed748802
+Node: Igawk Program751872
+Ref: Igawk Program-Footnote-1766198
+Ref: Igawk Program-Footnote-2766399
+Ref: Igawk Program-Footnote-3766521
+Node: Anagram Program766636
+Node: Signature Program769697
+Node: Programs Summary770944
+Node: Programs Exercises772164
+Ref: Programs Exercises-Footnote-1776295
+Node: Advanced Features776386
+Node: Nondecimal Data778334
+Node: Array Sorting779924
+Node: Controlling Array Traversal780621
+Ref: Controlling Array Traversal-Footnote-1788954
+Node: Array Sorting Functions789072
+Ref: Array Sorting Functions-Footnote-1792961
+Node: Two-way I/O793157
+Ref: Two-way I/O-Footnote-1798102
+Ref: Two-way I/O-Footnote-2798288
+Node: TCP/IP Networking798370
+Node: Profiling801243
+Node: Advanced Features Summary809520
+Node: Internationalization811453
+Node: I18N and L10N812933
+Node: Explaining gettext813619
+Ref: Explaining gettext-Footnote-1818644
+Ref: Explaining gettext-Footnote-2818828
+Node: Programmer i18n818993
+Ref: Programmer i18n-Footnote-1823859
+Node: Translator i18n823908
+Node: String Extraction824702
+Ref: String Extraction-Footnote-1825833
+Node: Printf Ordering825919
+Ref: Printf Ordering-Footnote-1828705
+Node: I18N Portability828769
+Ref: I18N Portability-Footnote-1831224
+Node: I18N Example831287
+Ref: I18N Example-Footnote-1834090
+Node: Gawk I18N834162
+Node: I18N Summary834800
+Node: Debugger836139
+Node: Debugging837161
+Node: Debugging Concepts837602
+Node: Debugging Terms839455
+Node: Awk Debugging842027
+Node: Sample Debugging Session842921
+Node: Debugger Invocation843441
+Node: Finding The Bug844825
+Node: List of Debugger Commands851300
+Node: Breakpoint Control852633
+Node: Debugger Execution Control856329
+Node: Viewing And Changing Data859693
+Node: Execution Stack863071
+Node: Debugger Info864708
+Node: Miscellaneous Debugger Commands868725
+Node: Readline Support873754
+Node: Limitations874646
+Node: Debugging Summary876760
+Node: Arbitrary Precision Arithmetic877928
+Node: Computer Arithmetic879344
+Ref: table-numeric-ranges882942
+Ref: Computer Arithmetic-Footnote-1883801
+Node: Math Definitions883858
+Ref: table-ieee-formats887146
+Ref: Math Definitions-Footnote-1887750
+Node: MPFR features887855
+Node: FP Math Caution889526
+Ref: FP Math Caution-Footnote-1890576
+Node: Inexactness of computations890945
+Node: Inexact representation891904
+Node: Comparing FP Values893261
+Node: Errors accumulate894343
+Node: Getting Accuracy895776
+Node: Try To Round898438
+Node: Setting precision899337
+Ref: table-predefined-precision-strings900021
+Node: Setting the rounding mode901810
+Ref: table-gawk-rounding-modes902174
+Ref: Setting the rounding mode-Footnote-1905629
+Node: Arbitrary Precision Integers905808
+Ref: Arbitrary Precision Integers-Footnote-1910708
+Node: POSIX Floating Point Problems910857
+Ref: POSIX Floating Point Problems-Footnote-1914730
+Node: Floating point summary914768
+Node: Dynamic Extensions916962
+Node: Extension Intro918514
+Node: Plugin License919780
+Node: Extension Mechanism Outline920577
+Ref: figure-load-extension921005
+Ref: figure-register-new-function922485
+Ref: figure-call-new-function923489
+Node: Extension API Description925475
+Node: Extension API Functions Introduction926925
+Node: General Data Types931749
+Ref: General Data Types-Footnote-1937488
+Node: Memory Allocation Functions937787
+Ref: Memory Allocation Functions-Footnote-1940626
+Node: Constructor Functions940722
+Node: Registration Functions942456
+Node: Extension Functions943141
+Node: Exit Callback Functions945438
+Node: Extension Version String946686
+Node: Input Parsers947351
+Node: Output Wrappers957230
+Node: Two-way processors961745
+Node: Printing Messages963949
+Ref: Printing Messages-Footnote-1965025
+Node: Updating `ERRNO'965177
+Node: Requesting Values965917
+Ref: table-value-types-returned966645
+Node: Accessing Parameters967602
+Node: Symbol Table Access968833
+Node: Symbol table by name969347
+Node: Symbol table by cookie971328
+Ref: Symbol table by cookie-Footnote-1975472
+Node: Cached values975535
+Ref: Cached values-Footnote-1979034
+Node: Array Manipulation979125
+Ref: Array Manipulation-Footnote-1980223
+Node: Array Data Types980260
+Ref: Array Data Types-Footnote-1982915
+Node: Array Functions983007
+Node: Flattening Arrays986861
+Node: Creating Arrays993753
+Node: Extension API Variables998524
+Node: Extension Versioning999160
+Node: Extension API Informational Variables1001061
+Node: Extension API Boilerplate1002126
+Node: Finding Extensions1005935
+Node: Extension Example1006495
+Node: Internal File Description1007267
+Node: Internal File Ops1011334
+Ref: Internal File Ops-Footnote-11023004
+Node: Using Internal File Ops1023144
+Ref: Using Internal File Ops-Footnote-11025527
+Node: Extension Samples1025800
+Node: Extension Sample File Functions1027326
+Node: Extension Sample Fnmatch1034964
+Node: Extension Sample Fork1036455
+Node: Extension Sample Inplace1037670
+Node: Extension Sample Ord1039345
+Node: Extension Sample Readdir1040181
+Ref: table-readdir-file-types1041057
+Node: Extension Sample Revout1041868
+Node: Extension Sample Rev2way1042458
+Node: Extension Sample Read write array1043198
+Node: Extension Sample Readfile1045138
+Node: Extension Sample Time1046233
+Node: Extension Sample API Tests1047582
+Node: gawkextlib1048073
+Node: Extension summary1050731
+Node: Extension Exercises1054420
+Node: Language History1055142
+Node: V7/SVR3.11056798
+Node: SVR41058979
+Node: POSIX1060424
+Node: BTL1061813
+Node: POSIX/GNU1062547
+Node: Feature History1068171
+Node: Common Extensions1081269
+Node: Ranges and Locales1082593
+Ref: Ranges and Locales-Footnote-11087211
+Ref: Ranges and Locales-Footnote-21087238
+Ref: Ranges and Locales-Footnote-31087472
+Node: Contributors1087693
+Node: History summary1093234
+Node: Installation1094604
+Node: Gawk Distribution1095550
+Node: Getting1096034
+Node: Extracting1096857
+Node: Distribution contents1098492
+Node: Unix Installation1104557
+Node: Quick Installation1105240
+Node: Shell Startup Files1107651
+Node: Additional Configuration Options1108730
+Node: Configuration Philosophy1110469
+Node: Non-Unix Installation1112838
+Node: PC Installation1113296
+Node: PC Binary Installation1114615
+Node: PC Compiling1116463
+Ref: PC Compiling-Footnote-11119484
+Node: PC Testing1119593
+Node: PC Using1120769
+Node: Cygwin1124884
+Node: MSYS1125707
+Node: VMS Installation1126207
+Node: VMS Compilation1126999
+Ref: VMS Compilation-Footnote-11128221
+Node: VMS Dynamic Extensions1128279
+Node: VMS Installation Details1129963
+Node: VMS Running1132215
+Node: VMS GNV1135051
+Node: VMS Old Gawk1135785
+Node: Bugs1136255
+Node: Other Versions1140138
+Node: Installation summary1146562
+Node: Notes1147618
+Node: Compatibility Mode1148483
+Node: Additions1149265
+Node: Accessing The Source1150190
+Node: Adding Code1151625
+Node: New Ports1157782
+Node: Derived Files1162264
+Ref: Derived Files-Footnote-11167739
+Ref: Derived Files-Footnote-21167773
+Ref: Derived Files-Footnote-31168369
+Node: Future Extensions1168483
+Node: Implementation Limitations1169089
+Node: Extension Design1170337
+Node: Old Extension Problems1171491
+Ref: Old Extension Problems-Footnote-11173008
+Node: Extension New Mechanism Goals1173065
+Ref: Extension New Mechanism Goals-Footnote-11176425
+Node: Extension Other Design Decisions1176614
+Node: Extension Future Growth1178722
+Node: Old Extension Mechanism1179558
+Node: Notes summary1181320
+Node: Basic Concepts1182506
+Node: Basic High Level1183187
+Ref: figure-general-flow1183459
+Ref: figure-process-flow1184058
+Ref: Basic High Level-Footnote-11187287
+Node: Basic Data Typing1187472
+Node: Glossary1190800
+Node: Copying1222729
+Node: GNU Free Documentation License1260285
+Node: Index1285421

End Tag Table