aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info1349
1 files changed, 716 insertions, 633 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index f5f417a6..853014fc 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -381,6 +381,8 @@ in (a) below. A copy of the license is included in the section entitled
* Arrays Summary:: Summary of arrays.
* Built-in:: Summarizes the built-in functions.
* Calling Built-in:: How to call built-in functions.
+* Boolean Functions:: A function that returns Boolean
+ values.
* Numeric Functions:: Functions that work with numbers,
including 'int()', 'sin()'
and 'rand()'.
@@ -488,6 +490,7 @@ in (a) below. A copy of the license is included in the section entitled
* Programs Summary:: Summary of programs.
* Programs Exercises:: Exercises.
* Nondecimal Data:: Allowing nondecimal input data.
+* Boolean Typed Values:: Values with 'bool' type.
* Array Sorting:: Facilities for controlling array
traversal and sorting arrays.
* Controlling Array Traversal:: How to use PROCINFO["sorted_in"].
@@ -12148,9 +12151,11 @@ available:
'"@val_type_asc"'
Order by element values in ascending order (rather than by
indices). Ordering is by the type assigned to the element (*note
- Typing and Comparison::). All numeric values come before all
- string values, which in turn come before all subarrays. (Subarrays
- have not been described yet; *note Arrays of Arrays::.)
+ Typing and Comparison::). All Boolean values come before all
+ numeric values (*note Boolean Typed Values::), and all numeric
+ values come before all string values, which in turn come before all
+ subarrays. (Subarrays have not been described yet; *note Arrays of
+ Arrays::.)
If you choose to use this feature in traversing 'FUNCTAB' (*note
Auto-set::), then the order is built-in functions first (*note
@@ -12782,6 +12787,7 @@ your convenience.
* Menu:
* Calling Built-in:: How to call built-in functions.
+* Boolean Functions:: A function that returns Boolean values.
* Numeric Functions:: Functions that work with numbers, including
'int()', 'sin()' and 'rand()'.
* String Functions:: Functions for string manipulation, such as
@@ -12794,7 +12800,7 @@ your convenience.
* I18N Functions:: Functions for string translation.

-File: gawk.info, Node: Calling Built-in, Next: Numeric Functions, Up: Built-in
+File: gawk.info, Node: Calling Built-in, Next: Boolean Functions, Up: Built-in
9.1.1 Calling Built-in Functions
--------------------------------
@@ -12838,9 +12844,25 @@ six, and then 12, and 'atan2()' is called with the two arguments six and
10, then 11, and 'atan2()' is called with the two arguments 11 and 10.

-File: gawk.info, Node: Numeric Functions, Next: String Functions, Prev: Calling Built-in, Up: Built-in
+File: gawk.info, Node: Boolean Functions, Next: Numeric Functions, Prev: Calling Built-in, Up: Built-in
-9.1.2 Numeric Functions
+9.1.2 Generating Boolean Values
+-------------------------------
+
+This function is specific to 'gawk'. It is not available in
+compatibility mode (*note Options::):
+
+'bool(EXPRESSION)'
+ Return a Boolean-typed value based on the regular Boolean value of
+ EXPRESSION. Boolean "true" values have numeric value one and
+ string value '"TRUE"'. Boolean "false" values have numeric zero
+ and string value '"FALSE"'. This is discussed in more detail in
+ *note Boolean Typed Values::.
+
+
+File: gawk.info, Node: Numeric Functions, Next: String Functions, Prev: Boolean Functions, Up: Built-in
+
+9.1.3 Numeric Functions
-----------------------
The following list describes all of the built-in functions that work
@@ -12964,7 +12986,7 @@ the same sequence of random numbers over and over again.

File: gawk.info, Node: String Functions, Next: I/O Functions, Prev: Numeric Functions, Up: Built-in
-9.1.3 String-Manipulation Functions
+9.1.4 String-Manipulation Functions
-----------------------------------
The functions in this minor node look at or change the text of one or
@@ -13532,7 +13554,7 @@ number zero.

File: gawk.info, Node: Gory Details, Up: String Functions
-9.1.3.1 More about '\' and '&' with 'sub()', 'gsub()', and 'gensub()'
+9.1.4.1 More about '\' and '&' with 'sub()', 'gsub()', and 'gensub()'
.....................................................................
CAUTION: This subsubsection has been reported to cause headaches.
@@ -13678,7 +13700,7 @@ POSIX rules.

File: gawk.info, Node: I/O Functions, Next: Time Functions, Prev: String Functions, Up: Built-in
-9.1.4 Input/Output Functions
+9.1.5 Input/Output Functions
----------------------------
The following functions relate to input/output (I/O). Optional
@@ -13895,7 +13917,7 @@ the way this was done was probably a mistake.

File: gawk.info, Node: Time Functions, Next: Bitwise Functions, Prev: I/O Functions, Up: Built-in
-9.1.5 Time Functions
+9.1.6 Time Functions
--------------------
'awk' programs are commonly used to process log files containing
@@ -14212,7 +14234,7 @@ does not appear in the returned string or appears literally.

File: gawk.info, Node: Bitwise Functions, Next: Type Functions, Prev: Time Functions, Up: Built-in
-9.1.6 Bit-Manipulation Functions
+9.1.7 Bit-Manipulation Functions
--------------------------------
I can explain it for you, but I can't understand it for you.
@@ -14394,7 +14416,7 @@ that range are reduced to fit within the range.

File: gawk.info, Node: Type Functions, Next: I18N Functions, Prev: Bitwise Functions, Up: Built-in
-9.1.7 Getting Type Information
+9.1.8 Getting Type Information
------------------------------
'gawk' provides two functions that let you distinguish the type of a
@@ -14411,6 +14433,9 @@ contexts.
'"array"'
X is an array.
+ '"bool"'
+ X is a Boolean typed value (*note Boolean Typed Values::).
+
'"regexp"'
X is a strongly typed regexp (*note Strong Regexp
Constants::).
@@ -14479,7 +14504,7 @@ arguments from untyped to unassigned.

File: gawk.info, Node: I18N Functions, Prev: Type Functions, Up: Built-in
-9.1.8 String-Translation Functions
+9.1.9 String-Translation Functions
----------------------------------
'gawk' provides facilities for internationalizing 'awk' programs. These
@@ -15158,7 +15183,7 @@ File: gawk.info, Node: Indirect Calls, Next: Functions Summary, Prev: User-de
9.3 Indirect Function Calls
===========================
-This section describes an advanced, 'gawk'-specific extension.
+This minor node describes an advanced, 'gawk'-specific extension.
Often, you may wish to defer the choice of function to call until
runtime. For example, you may have different kinds of records, each of
@@ -20873,6 +20898,7 @@ their own:
* Menu:
* Nondecimal Data:: Allowing nondecimal input data.
+* Boolean Typed Values:: Values with 'bool' type.
* Array Sorting:: Facilities for controlling array traversal and
sorting arrays.
* Two-way I/O:: Two-way communications with another process.
@@ -20882,7 +20908,7 @@ their own:
* Advanced Features Summary:: Summary of advanced features.

-File: gawk.info, Node: Nondecimal Data, Next: Array Sorting, Up: Advanced Features
+File: gawk.info, Node: Nondecimal Data, Next: Boolean Typed Values, Up: Advanced Features
12.1 Allowing Nondecimal Input Data
===================================
@@ -20925,9 +20951,53 @@ request it.
This option may disappear in a future version of 'gawk'.

-File: gawk.info, Node: Array Sorting, Next: Two-way I/O, Prev: Nondecimal Data, Up: Advanced Features
+File: gawk.info, Node: Boolean Typed Values, Next: Array Sorting, Prev: Nondecimal Data, Up: Advanced Features
+
+12.2 Boolean Typed Values
+=========================
+
+Scalar values in 'awk' are either numbers or strings. 'gawk' also
+supports values of type 'regexp' (*note Strong Regexp Constants::).
+
+ As described in *note Truth Values::, Boolean values in 'awk' don't
+have a separate type: a value counts as "true" if it is nonzero or
+non-null, and as "false" otherwise.
-12.2 Controlling Array Traversal and Array Sorting
+ When interchanging data with languages that do have a real Boolean
+type, using a standard format such as JSON or XML, the lack of a true
+Boolean type in 'awk' is problematic. (See, for example, the 'json'
+extension provided by the 'gawkextlib' project
+(https://sourceforge.net/projects/gawkextlib).)
+
+ It's easy to import Boolean data into 'awk', but then the fact that
+it was originally Boolean is lost. Exporting data is even harder;
+there's no way to indicate that a value is really Boolean.
+
+ To solve this problem, 'gawk' provides a function named 'bool()'. It
+takes one argument, which is any 'awk' expression, and it returns a
+value of Boolean type.
+
+ The returned values are different than normal 'awk' values. When
+treated as numbers, they are either one or zero, depending upon the
+truth value of the original expression passed in the call to 'bool()'.
+When treated as strings, they are either '"TRUE"' or '"FALSE"', again
+depending upon the truth value of the expression passed in the call to
+'bool()'. The value for "false" is thus unusual; it is zero
+numerically, but not empty when treated as a string.
+
+ The 'typeof()' function (*note Type Functions::) returns '"bool"' for
+these values.
+
+ While it would have been possible to add two new built-in variables
+of Boolean type named 'TRUE' and 'FALSE', doing so would undoubtedly
+have broken many existing 'awk' programs. Instead, having a "generator"
+function that creates Boolean values gives flexibility, without breaking
+any existing code.
+
+
+File: gawk.info, Node: Array Sorting, Next: Two-way I/O, Prev: Boolean Typed Values, Up: Advanced Features
+
+12.3 Controlling Array Traversal and Array Sorting
==================================================
'gawk' lets you control the order in which a 'for (INDX in ARRAY)' loop
@@ -20946,7 +21016,7 @@ to order the elements during sorting.

File: gawk.info, Node: Controlling Array Traversal, Next: Array Sorting Functions, Up: Array Sorting
-12.2.1 Controlling Array Traversal
+12.3.1 Controlling Array Traversal
----------------------------------
By default, the order in which a 'for (INDX in ARRAY)' loop scans an
@@ -21185,7 +21255,7 @@ character, which cannot be part of an identifier.

File: gawk.info, Node: Array Sorting Functions, Prev: Controlling Array Traversal, Up: Array Sorting
-12.2.2 Sorting Array Values and Indices with 'gawk'
+12.3.2 Sorting Array Values and Indices with 'gawk'
---------------------------------------------------
In most 'awk' implementations, sorting an array requires writing a
@@ -21325,7 +21395,7 @@ POSIX-compatibility mode, and because 'asort()' and 'asorti()' are

File: gawk.info, Node: Two-way I/O, Next: TCP/IP Networking, Prev: Array Sorting, Up: Advanced Features
-12.3 Two-Way Communications with Another Process
+12.4 Two-Way Communications with Another Process
================================================
It is often useful to be able to send data to a separate program for
@@ -21520,7 +21590,7 @@ in Bash.

File: gawk.info, Node: TCP/IP Networking, Next: Profiling, Prev: Two-way I/O, Up: Advanced Features
-12.4 Using 'gawk' for Network Programming
+12.5 Using 'gawk' for Network Programming
=========================================
'EMRED':
@@ -21600,7 +21670,7 @@ complete introduction and discussion, as well as extensive examples.

File: gawk.info, Node: Profiling, Next: Extension Philosophy, Prev: TCP/IP Networking, Up: Advanced Features
-12.5 Profiling Your 'awk' Programs
+12.6 Profiling Your 'awk' Programs
==================================
You may produce execution traces of your 'awk' programs. This is done
@@ -21862,7 +21932,7 @@ source code, it will appear that way in the output.

File: gawk.info, Node: Extension Philosophy, Next: Advanced Features Summary, Prev: Profiling, Up: Advanced Features
-12.6 Builtin Features versus Extensions
+12.7 Builtin Features versus Extensions
=======================================
As this and subsequent major nodes show, 'gawk' has a large number of
@@ -21898,7 +21968,7 @@ or need.

File: gawk.info, Node: Advanced Features Summary, Prev: Extension Philosophy, Up: Advanced Features
-12.7 Summary
+12.8 Summary
============
* The '--non-decimal-data' option causes 'gawk' to treat octal- and
@@ -25520,7 +25590,8 @@ use them.
' AWK_STRNUM,'
' AWK_ARRAY,'
' AWK_SCALAR, /* opaque access to a variable */'
-' AWK_VALUE_COOKIE /* for updating a previously created value */'
+' AWK_VALUE_COOKIE, /* for updating a previously created value */'
+' AWK_BOOL'
'} awk_valtype_t;'
This 'enum' indicates the type of a value. It is used in the
following 'struct'.
@@ -25533,6 +25604,7 @@ use them.
' awk_array_t a;'
' awk_scalar_t scl;'
' awk_value_cookie_t vc;'
+' awk_bool_t b;'
' } u;'
'} awk_value_t;'
An "'awk' value." The 'val_type' member indicates what kind of
@@ -25548,6 +25620,7 @@ use them.
'#define array_cookie u.a'
'#define scalar_cookie u.scl'
'#define value_cookie u.vc'
+'#define bool_value u.b'
Using these macros makes accessing the fields of the 'awk_value_t'
more readable.
@@ -25858,6 +25931,11 @@ code would use them:
a 'char *' value pointing to data previously obtained from
'gawk_malloc()', 'gawk_calloc()', or 'gawk_realloc()'.
+'static inline awk_value_t *'
+'make_bool(awk_bool_t boolval, awk_value_t *result);'
+ This function creates a boolean value in the 'awk_value_t' variable
+ pointed to by 'result'.
+

File: gawk.info, Node: API Ownership of MPFR and GMP Values, Next: Registration Functions, Prev: Constructor Functions, Up: Extension API Description
@@ -26583,16 +26661,17 @@ summarized in *note Table 17.2: table-value-types-returned.
Type of Actual Value
--------------------------------------------------------------------------
- String Strnum Number Regex Array Undefined
--------------------------------------------------------------------------------
- String String String String String false false
- Strnum false Strnum Strnum false false false
- Number Number Number Number false false false
-Type Regex false false false Regex false false
-Requested Array false false false false Array false
- Scalar Scalar Scalar Scalar Scalar false false
- Undefined String Strnum Number Regex Array Undefined
- Value false false false false false false
+ String Strnum Number Regex Bool Array Undefined
+----------------------------------------------------------------------------------------
+ String String String String String String false false
+ Strnum false Strnum Strnum false false false false
+ Number Number Number Number false Number false false
+Type Regex false false false Regex false false false
+Requested Bool false false false false Bool false false
+ Array false false false false false Array false
+ Scalar Scalar Scalar Scalar Scalar Scalar false false
+ Undefined String Strnum Number Regex Bool Array Undefined
+ Value false false false false false false false
cookie
Table 17.2: API value types returned
@@ -35308,8 +35387,10 @@ Index
* bitwise, XOR: Bitwise Functions. (line 57)
* body, in actions: Statements. (line 10)
* body, in loops: While Statement. (line 14)
+* bool: Boolean Functions. (line 10)
* Boolean expressions: Boolean Ops. (line 6)
* Boolean expressions, as patterns: Expression Patterns. (line 39)
+* boolean function: Boolean Functions. (line 6)
* Bourne shell, quoting rules for: Quoting. (line 18)
* braces ({}), regexp operator: Regexp Operator Details.
(line 118)
@@ -38116,604 +38197,606 @@ Index

Tag Table:
Node: Top1200
-Node: Foreword344859
-Node: Foreword449301
-Node: Preface50833
-Ref: Preface-Footnote-153692
-Ref: Preface-Footnote-253801
-Ref: Preface-Footnote-354035
-Node: History54177
-Node: Names56529
-Ref: Names-Footnote-157633
-Node: This Manual57780
-Ref: This Manual-Footnote-164419
-Node: Conventions64519
-Node: Manual History66888
-Ref: Manual History-Footnote-169885
-Ref: Manual History-Footnote-269926
-Node: How To Contribute70000
-Node: Acknowledgments70926
-Node: Getting Started75863
-Node: Running gawk78302
-Node: One-shot79492
-Node: Read Terminal80755
-Node: Long82748
-Node: Executable Scripts84261
-Ref: Executable Scripts-Footnote-186894
-Node: Comments86997
-Node: Quoting89481
-Node: DOS Quoting95007
-Node: Sample Data Files97063
-Node: Very Simple99658
-Node: Two Rules105760
-Node: More Complex107645
-Node: Statements/Lines109977
-Ref: Statements/Lines-Footnote-1114461
-Node: Other Features114726
-Node: When115662
-Ref: When-Footnote-1117416
-Node: Intro Summary117481
-Node: Invoking Gawk118365
-Node: Command Line119879
-Node: Options120677
-Ref: Options-Footnote-1138591
-Ref: Options-Footnote-2138822
-Node: Other Arguments138847
-Node: Naming Standard Input142858
-Node: Environment Variables144068
-Node: AWKPATH Variable144626
-Ref: AWKPATH Variable-Footnote-1148038
-Ref: AWKPATH Variable-Footnote-2148072
-Node: AWKLIBPATH Variable148443
-Ref: AWKLIBPATH Variable-Footnote-1150140
-Node: Other Environment Variables150515
-Node: Exit Status154467
-Node: Include Files155144
-Node: Loading Shared Libraries158834
-Node: Obsolete160262
-Node: Undocumented160954
-Node: Invoking Summary161251
-Node: Regexp164092
-Node: Regexp Usage165546
-Node: Escape Sequences167583
-Node: Regexp Operators173824
-Node: Regexp Operator Details174309
-Ref: Regexp Operator Details-Footnote-1181673
-Node: Interval Expressions181820
-Ref: Interval Expressions-Footnote-1183241
-Node: Bracket Expressions183339
-Ref: table-char-classes185815
-Node: Leftmost Longest189141
-Node: Computed Regexps190444
-Node: GNU Regexp Operators193871
-Node: Case-sensitivity197608
-Ref: Case-sensitivity-Footnote-1200474
-Ref: Case-sensitivity-Footnote-2200709
-Node: Regexp Summary200817
-Node: Reading Files202283
-Node: Records204552
-Node: awk split records205627
-Node: gawk split records210327
-Ref: gawk split records-Footnote-1215401
-Node: Fields215438
-Node: Nonconstant Fields218179
-Ref: Nonconstant Fields-Footnote-1220415
-Node: Changing Fields220619
-Node: Field Separators226650
-Node: Default Field Splitting229348
-Node: Regexp Field Splitting230466
-Node: Single Character Fields234143
-Node: Command Line Field Separator235203
-Node: Full Line Fields238421
-Ref: Full Line Fields-Footnote-1239943
-Ref: Full Line Fields-Footnote-2239989
-Node: Field Splitting Summary240090
-Node: Constant Size242164
-Node: Fixed width data242896
-Node: Skipping intervening246363
-Node: Allowing trailing data247161
-Node: Fields with fixed data248198
-Node: Splitting By Content249716
-Ref: Splitting By Content-Footnote-1253499
-Node: More CSV253662
-Node: Testing field creation255254
-Node: Multiple Line256879
-Node: Getline263156
-Node: Plain Getline265625
-Node: Getline/Variable268198
-Node: Getline/File269349
-Node: Getline/Variable/File270737
-Ref: Getline/Variable/File-Footnote-1272342
-Node: Getline/Pipe272430
-Node: Getline/Variable/Pipe275134
-Node: Getline/Coprocess276269
-Node: Getline/Variable/Coprocess277536
-Node: Getline Notes278278
-Node: Getline Summary281075
-Ref: table-getline-variants281499
-Node: Read Timeout282247
-Ref: Read Timeout-Footnote-1286153
-Node: Retrying Input286211
-Node: Command-line directories287410
-Node: Input Summary288316
-Node: Input Exercises291488
-Node: Printing291922
-Node: Print293756
-Node: Print Examples295213
-Node: Output Separators297993
-Node: OFMT300010
-Node: Printf301366
-Node: Basic Printf302151
-Node: Control Letters303725
-Node: Format Modifiers308887
-Node: Printf Examples314902
-Node: Redirection317388
-Node: Special FD324229
-Ref: Special FD-Footnote-1327397
-Node: Special Files327471
-Node: Other Inherited Files328088
-Node: Special Network329089
-Node: Special Caveats329949
-Node: Close Files And Pipes330898
-Ref: table-close-pipe-return-values337805
-Ref: Close Files And Pipes-Footnote-1338618
-Ref: Close Files And Pipes-Footnote-2338766
-Node: Nonfatal338918
-Node: Output Summary341256
-Node: Output Exercises342478
-Node: Expressions343157
-Node: Values344345
-Node: Constants345023
-Node: Scalar Constants345714
-Ref: Scalar Constants-Footnote-1348224
-Node: Nondecimal-numbers348474
-Node: Regexp Constants351475
-Node: Using Constant Regexps352001
-Node: Standard Regexp Constants352623
-Node: Strong Regexp Constants355811
-Node: Variables358823
-Node: Using Variables359480
-Node: Assignment Options361390
-Node: Conversion363861
-Node: Strings And Numbers364385
-Ref: Strings And Numbers-Footnote-1367448
-Node: Locale influences conversions367557
-Ref: table-locale-affects370315
-Node: All Operators370933
-Node: Arithmetic Ops371562
-Node: Concatenation374278
-Ref: Concatenation-Footnote-1377125
-Node: Assignment Ops377232
-Ref: table-assign-ops382223
-Node: Increment Ops383536
-Node: Truth Values and Conditions386996
-Node: Truth Values388070
-Node: Typing and Comparison389118
-Node: Variable Typing389938
-Ref: Variable Typing-Footnote-1396401
-Ref: Variable Typing-Footnote-2396473
-Node: Comparison Operators396550
-Ref: table-relational-ops396969
-Node: POSIX String Comparison400464
-Ref: POSIX String Comparison-Footnote-1402159
-Ref: POSIX String Comparison-Footnote-2402298
-Node: Boolean Ops402382
-Ref: Boolean Ops-Footnote-1406864
-Node: Conditional Exp406956
-Node: Function Calls408692
-Node: Precedence412569
-Node: Locales416228
-Node: Expressions Summary417860
-Node: Patterns and Actions420433
-Node: Pattern Overview421553
-Node: Regexp Patterns423230
-Node: Expression Patterns423772
-Node: Ranges427553
-Node: BEGIN/END430661
-Node: Using BEGIN/END431422
-Ref: Using BEGIN/END-Footnote-1434176
-Node: I/O And BEGIN/END434282
-Node: BEGINFILE/ENDFILE436595
-Node: Empty439826
-Node: Using Shell Variables440143
-Node: Action Overview442417
-Node: Statements444742
-Node: If Statement446590
-Node: While Statement448085
-Node: Do Statement450113
-Node: For Statement451261
-Node: Switch Statement454432
-Node: Break Statement456873
-Node: Continue Statement458965
-Node: Next Statement460792
-Node: Nextfile Statement463175
-Node: Exit Statement465864
-Node: Built-in Variables468267
-Node: User-modified469400
-Node: Auto-set477167
-Ref: Auto-set-Footnote-1493974
-Ref: Auto-set-Footnote-2494180
-Node: ARGC and ARGV494236
-Node: Pattern Action Summary498449
-Node: Arrays500879
-Node: Array Basics502208
-Node: Array Intro503052
-Ref: figure-array-elements505027
-Ref: Array Intro-Footnote-1507731
-Node: Reference to Elements507859
-Node: Assigning Elements510323
-Node: Array Example510814
-Node: Scanning an Array512573
-Node: Controlling Scanning515595
-Ref: Controlling Scanning-Footnote-1522051
-Node: Numeric Array Subscripts522367
-Node: Uninitialized Subscripts524551
-Node: Delete526170
-Ref: Delete-Footnote-1528922
-Node: Multidimensional528979
-Node: Multiscanning532074
-Node: Arrays of Arrays533665
-Node: Arrays Summary538433
-Node: Functions540526
-Node: Built-in541564
-Node: Calling Built-in542645
-Node: Numeric Functions544641
-Ref: Numeric Functions-Footnote-1548667
-Ref: Numeric Functions-Footnote-2549315
-Ref: Numeric Functions-Footnote-3549363
-Node: String Functions549635
-Ref: String Functions-Footnote-1573776
-Ref: String Functions-Footnote-2573904
-Ref: String Functions-Footnote-3574152
-Node: Gory Details574239
-Ref: table-sub-escapes576030
-Ref: table-sub-proposed577549
-Ref: table-posix-sub578912
-Ref: table-gensub-escapes580453
-Ref: Gory Details-Footnote-1581276
-Node: I/O Functions581430
-Ref: table-system-return-values587884
-Ref: I/O Functions-Footnote-1589964
-Ref: I/O Functions-Footnote-2590112
-Node: Time Functions590232
-Ref: Time Functions-Footnote-1600903
-Ref: Time Functions-Footnote-2600971
-Ref: Time Functions-Footnote-3601129
-Ref: Time Functions-Footnote-4601240
-Ref: Time Functions-Footnote-5601352
-Ref: Time Functions-Footnote-6601579
-Node: Bitwise Functions601845
-Ref: table-bitwise-ops602439
-Ref: Bitwise Functions-Footnote-1608502
-Ref: Bitwise Functions-Footnote-2608675
-Node: Type Functions608866
-Node: I18N Functions611729
-Node: User-defined613380
-Node: Definition Syntax614192
-Ref: Definition Syntax-Footnote-1619886
-Node: Function Example619957
-Ref: Function Example-Footnote-1622879
-Node: Function Calling622901
-Node: Calling A Function623489
-Node: Variable Scope624447
-Node: Pass By Value/Reference627441
-Node: Function Caveats630085
-Ref: Function Caveats-Footnote-1632132
-Node: Return Statement632252
-Node: Dynamic Typing635231
-Node: Indirect Calls636161
-Ref: Indirect Calls-Footnote-1646413
-Node: Functions Summary646541
-Node: Library Functions649246
-Ref: Library Functions-Footnote-1652853
-Ref: Library Functions-Footnote-2652996
-Node: Library Names653167
-Ref: Library Names-Footnote-1656834
-Ref: Library Names-Footnote-2657057
-Node: General Functions657143
-Node: Strtonum Function658246
-Node: Assert Function661268
-Node: Round Function664594
-Node: Cliff Random Function666134
-Node: Ordinal Functions667150
-Ref: Ordinal Functions-Footnote-1670213
-Ref: Ordinal Functions-Footnote-2670465
-Node: Join Function670675
-Ref: Join Function-Footnote-1672445
-Node: Getlocaltime Function672645
-Node: Readfile Function676387
-Node: Shell Quoting678364
-Node: Data File Management679765
-Node: Filetrans Function680397
-Node: Rewind Function684493
-Node: File Checking686402
-Ref: File Checking-Footnote-1687736
-Node: Empty Files687937
-Node: Ignoring Assigns689916
-Node: Getopt Function691466
-Ref: Getopt Function-Footnote-1706677
-Node: Passwd Functions706877
-Ref: Passwd Functions-Footnote-1715716
-Node: Group Functions715804
-Ref: Group Functions-Footnote-1723702
-Node: Walking Arrays723909
-Node: Library Functions Summary726917
-Node: Library Exercises728323
-Node: Sample Programs728788
-Node: Running Examples729558
-Node: Clones730286
-Node: Cut Program731510
-Node: Egrep Program741650
-Node: Id Program750651
-Node: Split Program760598
-Ref: Split Program-Footnote-1770488
-Node: Tee Program770661
-Node: Uniq Program773451
-Node: Wc Program781039
-Node: Bytes vs. Characters781426
-Node: Using extensions782974
-Node: wc program783728
-Node: Miscellaneous Programs788593
-Node: Dupword Program789806
-Node: Alarm Program791836
-Node: Translate Program796691
-Ref: Translate Program-Footnote-1801256
-Node: Labels Program801526
-Ref: Labels Program-Footnote-1804877
-Node: Word Sorting804961
-Node: History Sorting809033
-Node: Extract Program811258
-Node: Simple Sed819312
-Node: Igawk Program822386
-Ref: Igawk Program-Footnote-1836717
-Ref: Igawk Program-Footnote-2836919
-Ref: Igawk Program-Footnote-3837041
-Node: Anagram Program837156
-Node: Signature Program840218
-Node: Programs Summary841465
-Node: Programs Exercises842679
-Ref: Programs Exercises-Footnote-1846809
-Node: Advanced Features846895
-Node: Nondecimal Data848962
-Node: Array Sorting850553
-Node: Controlling Array Traversal851253
-Ref: Controlling Array Traversal-Footnote-1859621
-Node: Array Sorting Functions859739
-Ref: Array Sorting Functions-Footnote-1864830
-Node: Two-way I/O865026
-Ref: Two-way I/O-Footnote-1872747
-Ref: Two-way I/O-Footnote-2872934
-Node: TCP/IP Networking873016
-Node: Profiling876134
-Node: Extension Philosophy885443
-Node: Advanced Features Summary886922
-Node: Internationalization888937
-Node: I18N and L10N890417
-Node: Explaining gettext891104
-Ref: Explaining gettext-Footnote-1896996
-Ref: Explaining gettext-Footnote-2897181
-Node: Programmer i18n897346
-Ref: Programmer i18n-Footnote-1902295
-Node: Translator i18n902344
-Node: String Extraction903138
-Ref: String Extraction-Footnote-1904270
-Node: Printf Ordering904356
-Ref: Printf Ordering-Footnote-1907142
-Node: I18N Portability907206
-Ref: I18N Portability-Footnote-1909662
-Node: I18N Example909725
-Ref: I18N Example-Footnote-1913000
-Ref: I18N Example-Footnote-2913073
-Node: Gawk I18N913182
-Node: I18N Summary913831
-Node: Debugger915172
-Node: Debugging916172
-Node: Debugging Concepts916613
-Node: Debugging Terms918422
-Node: Awk Debugging920997
-Ref: Awk Debugging-Footnote-1921942
-Node: Sample Debugging Session922074
-Node: Debugger Invocation922608
-Node: Finding The Bug923994
-Node: List of Debugger Commands930468
-Node: Breakpoint Control931801
-Node: Debugger Execution Control935495
-Node: Viewing And Changing Data938857
-Node: Execution Stack942398
-Node: Debugger Info944035
-Node: Miscellaneous Debugger Commands948106
-Node: Readline Support953168
-Node: Limitations954064
-Node: Debugging Summary956618
-Node: Namespaces957897
-Node: Global Namespace959008
-Node: Qualified Names960406
-Node: Default Namespace961405
-Node: Changing The Namespace962146
-Node: Naming Rules963760
-Node: Internal Name Management965608
-Node: Namespace Example966650
-Node: Namespace And Features969212
-Node: Namespace Summary970647
-Node: Arbitrary Precision Arithmetic972124
-Node: Computer Arithmetic973611
-Ref: table-numeric-ranges977377
-Ref: table-floating-point-ranges977870
-Ref: Computer Arithmetic-Footnote-1978528
-Node: Math Definitions978585
-Ref: table-ieee-formats981561
-Node: MPFR features982128
-Node: FP Math Caution983846
-Ref: FP Math Caution-Footnote-1984918
-Node: Inexactness of computations985287
-Node: Inexact representation986318
-Node: Comparing FP Values987678
-Node: Errors accumulate988919
-Node: Strange values990375
-Ref: Strange values-Footnote-1992963
-Node: Getting Accuracy993068
-Node: Try To Round995778
-Node: Setting precision996677
-Ref: table-predefined-precision-strings997374
-Node: Setting the rounding mode999204
-Ref: table-gawk-rounding-modes999578
-Ref: Setting the rounding mode-Footnote-11003509
-Node: Arbitrary Precision Integers1003688
-Ref: Arbitrary Precision Integers-Footnote-11006863
-Node: Checking for MPFR1007012
-Node: POSIX Floating Point Problems1008486
-Ref: POSIX Floating Point Problems-Footnote-11012771
-Node: Floating point summary1012809
-Node: Dynamic Extensions1014999
-Node: Extension Intro1016552
-Node: Plugin License1017818
-Node: Extension Mechanism Outline1018615
-Ref: figure-load-extension1019054
-Ref: figure-register-new-function1020619
-Ref: figure-call-new-function1021711
-Node: Extension API Description1023773
-Node: Extension API Functions Introduction1025486
-Ref: table-api-std-headers1027322
-Node: General Data Types1031571
-Ref: General Data Types-Footnote-11040201
-Node: Memory Allocation Functions1040500
-Ref: Memory Allocation Functions-Footnote-11045001
-Node: Constructor Functions1045100
-Node: API Ownership of MPFR and GMP Values1048566
-Node: Registration Functions1049879
-Node: Extension Functions1050579
-Node: Exit Callback Functions1055901
-Node: Extension Version String1057151
-Node: Input Parsers1057814
-Node: Output Wrappers1070535
-Node: Two-way processors1075047
-Node: Printing Messages1077312
-Ref: Printing Messages-Footnote-11078483
-Node: Updating ERRNO1078636
-Node: Requesting Values1079375
-Ref: table-value-types-returned1080112
-Node: Accessing Parameters1081048
-Node: Symbol Table Access1082285
-Node: Symbol table by name1082797
-Ref: Symbol table by name-Footnote-11085821
-Node: Symbol table by cookie1085949
-Ref: Symbol table by cookie-Footnote-11090134
-Node: Cached values1090198
-Ref: Cached values-Footnote-11093734
-Node: Array Manipulation1093887
-Ref: Array Manipulation-Footnote-11094978
-Node: Array Data Types1095015
-Ref: Array Data Types-Footnote-11097673
-Node: Array Functions1097765
-Node: Flattening Arrays1102263
-Node: Creating Arrays1109239
-Node: Redirection API1114006
-Node: Extension API Variables1116839
-Node: Extension Versioning1117550
-Ref: gawk-api-version1117979
-Node: Extension GMP/MPFR Versioning1119710
-Node: Extension API Informational Variables1121338
-Node: Extension API Boilerplate1122411
-Node: Changes from API V11126385
-Node: Finding Extensions1127957
-Node: Extension Example1128516
-Node: Internal File Description1129314
-Node: Internal File Ops1133394
-Ref: Internal File Ops-Footnote-11144744
-Node: Using Internal File Ops1144884
-Ref: Using Internal File Ops-Footnote-11147267
-Node: Extension Samples1147541
-Node: Extension Sample File Functions1149070
-Node: Extension Sample Fnmatch1156719
-Node: Extension Sample Fork1158206
-Node: Extension Sample Inplace1159424
-Node: Extension Sample Ord1163050
-Node: Extension Sample Readdir1163886
-Ref: table-readdir-file-types1164775
-Node: Extension Sample Revout1165842
-Node: Extension Sample Rev2way1166431
-Node: Extension Sample Read write array1167171
-Node: Extension Sample Readfile1169113
-Node: Extension Sample Time1170208
-Node: Extension Sample API Tests1171960
-Node: gawkextlib1172452
-Node: Extension summary1175370
-Node: Extension Exercises1179072
-Node: Language History1180314
-Node: V7/SVR3.11181970
-Node: SVR41184122
-Node: POSIX1185556
-Node: BTL1186937
-Node: POSIX/GNU1187666
-Node: Feature History1193444
-Node: Common Extensions1209763
-Node: Ranges and Locales1211046
-Ref: Ranges and Locales-Footnote-11215662
-Ref: Ranges and Locales-Footnote-21215689
-Ref: Ranges and Locales-Footnote-31215924
-Node: Contributors1216147
-Node: History summary1222144
-Node: Installation1223524
-Node: Gawk Distribution1224468
-Node: Getting1224952
-Node: Extracting1225915
-Node: Distribution contents1227553
-Node: Unix Installation1234033
-Node: Quick Installation1234715
-Node: Shell Startup Files1237129
-Node: Additional Configuration Options1238218
-Node: Configuration Philosophy1240533
-Node: Non-Unix Installation1242902
-Node: PC Installation1243362
-Node: PC Binary Installation1244200
-Node: PC Compiling1244635
-Node: PC Using1245752
-Node: Cygwin1249305
-Node: MSYS1250529
-Node: VMS Installation1251131
-Node: VMS Compilation1251922
-Ref: VMS Compilation-Footnote-11253151
-Node: VMS Dynamic Extensions1253209
-Node: VMS Installation Details1254894
-Node: VMS Running1257147
-Node: VMS GNV1261426
-Node: VMS Old Gawk1262161
-Node: Bugs1262632
-Node: Bug address1263295
-Node: Usenet1266277
-Node: Maintainers1267281
-Node: Other Versions1268466
-Node: Installation summary1276331
-Node: Notes1277540
-Node: Compatibility Mode1278334
-Node: Additions1279116
-Node: Accessing The Source1280041
-Node: Adding Code1281478
-Node: New Ports1287697
-Node: Derived Files1292072
-Ref: Derived Files-Footnote-11297732
-Ref: Derived Files-Footnote-21297767
-Ref: Derived Files-Footnote-31298365
-Node: Future Extensions1298479
-Node: Implementation Limitations1299137
-Node: Extension Design1300347
-Node: Old Extension Problems1301491
-Ref: Old Extension Problems-Footnote-11303009
-Node: Extension New Mechanism Goals1303066
-Ref: Extension New Mechanism Goals-Footnote-11306430
-Node: Extension Other Design Decisions1306619
-Node: Extension Future Growth1308732
-Node: Notes summary1309338
-Node: Basic Concepts1310496
-Node: Basic High Level1311177
-Ref: figure-general-flow1311459
-Ref: figure-process-flow1312144
-Ref: Basic High Level-Footnote-11315445
-Node: Basic Data Typing1315630
-Node: Glossary1318958
-Node: Copying1350843
-Node: GNU Free Documentation License1388386
-Node: Index1413506
+Node: Foreword345044
+Node: Foreword449486
+Node: Preface51018
+Ref: Preface-Footnote-153877
+Ref: Preface-Footnote-253986
+Ref: Preface-Footnote-354220
+Node: History54362
+Node: Names56714
+Ref: Names-Footnote-157818
+Node: This Manual57965
+Ref: This Manual-Footnote-164604
+Node: Conventions64704
+Node: Manual History67073
+Ref: Manual History-Footnote-170070
+Ref: Manual History-Footnote-270111
+Node: How To Contribute70185
+Node: Acknowledgments71111
+Node: Getting Started76048
+Node: Running gawk78487
+Node: One-shot79677
+Node: Read Terminal80940
+Node: Long82933
+Node: Executable Scripts84446
+Ref: Executable Scripts-Footnote-187079
+Node: Comments87182
+Node: Quoting89666
+Node: DOS Quoting95192
+Node: Sample Data Files97248
+Node: Very Simple99843
+Node: Two Rules105945
+Node: More Complex107830
+Node: Statements/Lines110162
+Ref: Statements/Lines-Footnote-1114646
+Node: Other Features114911
+Node: When115847
+Ref: When-Footnote-1117601
+Node: Intro Summary117666
+Node: Invoking Gawk118550
+Node: Command Line120064
+Node: Options120862
+Ref: Options-Footnote-1138776
+Ref: Options-Footnote-2139007
+Node: Other Arguments139032
+Node: Naming Standard Input143043
+Node: Environment Variables144253
+Node: AWKPATH Variable144811
+Ref: AWKPATH Variable-Footnote-1148223
+Ref: AWKPATH Variable-Footnote-2148257
+Node: AWKLIBPATH Variable148628
+Ref: AWKLIBPATH Variable-Footnote-1150325
+Node: Other Environment Variables150700
+Node: Exit Status154652
+Node: Include Files155329
+Node: Loading Shared Libraries159019
+Node: Obsolete160447
+Node: Undocumented161139
+Node: Invoking Summary161436
+Node: Regexp164277
+Node: Regexp Usage165731
+Node: Escape Sequences167768
+Node: Regexp Operators174009
+Node: Regexp Operator Details174494
+Ref: Regexp Operator Details-Footnote-1181858
+Node: Interval Expressions182005
+Ref: Interval Expressions-Footnote-1183426
+Node: Bracket Expressions183524
+Ref: table-char-classes186000
+Node: Leftmost Longest189326
+Node: Computed Regexps190629
+Node: GNU Regexp Operators194056
+Node: Case-sensitivity197793
+Ref: Case-sensitivity-Footnote-1200659
+Ref: Case-sensitivity-Footnote-2200894
+Node: Regexp Summary201002
+Node: Reading Files202468
+Node: Records204737
+Node: awk split records205812
+Node: gawk split records210512
+Ref: gawk split records-Footnote-1215586
+Node: Fields215623
+Node: Nonconstant Fields218364
+Ref: Nonconstant Fields-Footnote-1220600
+Node: Changing Fields220804
+Node: Field Separators226835
+Node: Default Field Splitting229533
+Node: Regexp Field Splitting230651
+Node: Single Character Fields234328
+Node: Command Line Field Separator235388
+Node: Full Line Fields238606
+Ref: Full Line Fields-Footnote-1240128
+Ref: Full Line Fields-Footnote-2240174
+Node: Field Splitting Summary240275
+Node: Constant Size242349
+Node: Fixed width data243081
+Node: Skipping intervening246548
+Node: Allowing trailing data247346
+Node: Fields with fixed data248383
+Node: Splitting By Content249901
+Ref: Splitting By Content-Footnote-1253684
+Node: More CSV253847
+Node: Testing field creation255439
+Node: Multiple Line257064
+Node: Getline263341
+Node: Plain Getline265810
+Node: Getline/Variable268383
+Node: Getline/File269534
+Node: Getline/Variable/File270922
+Ref: Getline/Variable/File-Footnote-1272527
+Node: Getline/Pipe272615
+Node: Getline/Variable/Pipe275319
+Node: Getline/Coprocess276454
+Node: Getline/Variable/Coprocess277721
+Node: Getline Notes278463
+Node: Getline Summary281260
+Ref: table-getline-variants281684
+Node: Read Timeout282432
+Ref: Read Timeout-Footnote-1286338
+Node: Retrying Input286396
+Node: Command-line directories287595
+Node: Input Summary288501
+Node: Input Exercises291673
+Node: Printing292107
+Node: Print293941
+Node: Print Examples295398
+Node: Output Separators298178
+Node: OFMT300195
+Node: Printf301551
+Node: Basic Printf302336
+Node: Control Letters303910
+Node: Format Modifiers309072
+Node: Printf Examples315087
+Node: Redirection317573
+Node: Special FD324414
+Ref: Special FD-Footnote-1327582
+Node: Special Files327656
+Node: Other Inherited Files328273
+Node: Special Network329274
+Node: Special Caveats330134
+Node: Close Files And Pipes331083
+Ref: table-close-pipe-return-values337990
+Ref: Close Files And Pipes-Footnote-1338803
+Ref: Close Files And Pipes-Footnote-2338951
+Node: Nonfatal339103
+Node: Output Summary341441
+Node: Output Exercises342663
+Node: Expressions343342
+Node: Values344530
+Node: Constants345208
+Node: Scalar Constants345899
+Ref: Scalar Constants-Footnote-1348409
+Node: Nondecimal-numbers348659
+Node: Regexp Constants351660
+Node: Using Constant Regexps352186
+Node: Standard Regexp Constants352808
+Node: Strong Regexp Constants355996
+Node: Variables359008
+Node: Using Variables359665
+Node: Assignment Options361575
+Node: Conversion364046
+Node: Strings And Numbers364570
+Ref: Strings And Numbers-Footnote-1367633
+Node: Locale influences conversions367742
+Ref: table-locale-affects370500
+Node: All Operators371118
+Node: Arithmetic Ops371747
+Node: Concatenation374463
+Ref: Concatenation-Footnote-1377310
+Node: Assignment Ops377417
+Ref: table-assign-ops382408
+Node: Increment Ops383721
+Node: Truth Values and Conditions387181
+Node: Truth Values388255
+Node: Typing and Comparison389303
+Node: Variable Typing390123
+Ref: Variable Typing-Footnote-1396586
+Ref: Variable Typing-Footnote-2396658
+Node: Comparison Operators396735
+Ref: table-relational-ops397154
+Node: POSIX String Comparison400649
+Ref: POSIX String Comparison-Footnote-1402344
+Ref: POSIX String Comparison-Footnote-2402483
+Node: Boolean Ops402567
+Ref: Boolean Ops-Footnote-1407049
+Node: Conditional Exp407141
+Node: Function Calls408877
+Node: Precedence412754
+Node: Locales416413
+Node: Expressions Summary418045
+Node: Patterns and Actions420618
+Node: Pattern Overview421738
+Node: Regexp Patterns423415
+Node: Expression Patterns423957
+Node: Ranges427738
+Node: BEGIN/END430846
+Node: Using BEGIN/END431607
+Ref: Using BEGIN/END-Footnote-1434361
+Node: I/O And BEGIN/END434467
+Node: BEGINFILE/ENDFILE436780
+Node: Empty440011
+Node: Using Shell Variables440328
+Node: Action Overview442602
+Node: Statements444927
+Node: If Statement446775
+Node: While Statement448270
+Node: Do Statement450298
+Node: For Statement451446
+Node: Switch Statement454617
+Node: Break Statement457058
+Node: Continue Statement459150
+Node: Next Statement460977
+Node: Nextfile Statement463360
+Node: Exit Statement466049
+Node: Built-in Variables468452
+Node: User-modified469585
+Node: Auto-set477352
+Ref: Auto-set-Footnote-1494159
+Ref: Auto-set-Footnote-2494365
+Node: ARGC and ARGV494421
+Node: Pattern Action Summary498634
+Node: Arrays501064
+Node: Array Basics502393
+Node: Array Intro503237
+Ref: figure-array-elements505212
+Ref: Array Intro-Footnote-1507916
+Node: Reference to Elements508044
+Node: Assigning Elements510508
+Node: Array Example510999
+Node: Scanning an Array512758
+Node: Controlling Scanning515780
+Ref: Controlling Scanning-Footnote-1522332
+Node: Numeric Array Subscripts522648
+Node: Uninitialized Subscripts524832
+Node: Delete526451
+Ref: Delete-Footnote-1529203
+Node: Multidimensional529260
+Node: Multiscanning532355
+Node: Arrays of Arrays533946
+Node: Arrays Summary538714
+Node: Functions540807
+Node: Built-in541845
+Node: Calling Built-in542998
+Node: Boolean Functions544994
+Node: Numeric Functions545604
+Ref: Numeric Functions-Footnote-1549631
+Ref: Numeric Functions-Footnote-2550279
+Ref: Numeric Functions-Footnote-3550327
+Node: String Functions550599
+Ref: String Functions-Footnote-1574740
+Ref: String Functions-Footnote-2574868
+Ref: String Functions-Footnote-3575116
+Node: Gory Details575203
+Ref: table-sub-escapes576994
+Ref: table-sub-proposed578513
+Ref: table-posix-sub579876
+Ref: table-gensub-escapes581417
+Ref: Gory Details-Footnote-1582240
+Node: I/O Functions582394
+Ref: table-system-return-values588848
+Ref: I/O Functions-Footnote-1590928
+Ref: I/O Functions-Footnote-2591076
+Node: Time Functions591196
+Ref: Time Functions-Footnote-1601867
+Ref: Time Functions-Footnote-2601935
+Ref: Time Functions-Footnote-3602093
+Ref: Time Functions-Footnote-4602204
+Ref: Time Functions-Footnote-5602316
+Ref: Time Functions-Footnote-6602543
+Node: Bitwise Functions602809
+Ref: table-bitwise-ops603403
+Ref: Bitwise Functions-Footnote-1609466
+Ref: Bitwise Functions-Footnote-2609639
+Node: Type Functions609830
+Node: I18N Functions612777
+Node: User-defined614428
+Node: Definition Syntax615240
+Ref: Definition Syntax-Footnote-1620934
+Node: Function Example621005
+Ref: Function Example-Footnote-1623927
+Node: Function Calling623949
+Node: Calling A Function624537
+Node: Variable Scope625495
+Node: Pass By Value/Reference628489
+Node: Function Caveats631133
+Ref: Function Caveats-Footnote-1633180
+Node: Return Statement633300
+Node: Dynamic Typing636279
+Node: Indirect Calls637209
+Ref: Indirect Calls-Footnote-1647464
+Node: Functions Summary647592
+Node: Library Functions650297
+Ref: Library Functions-Footnote-1653904
+Ref: Library Functions-Footnote-2654047
+Node: Library Names654218
+Ref: Library Names-Footnote-1657885
+Ref: Library Names-Footnote-2658108
+Node: General Functions658194
+Node: Strtonum Function659297
+Node: Assert Function662319
+Node: Round Function665645
+Node: Cliff Random Function667185
+Node: Ordinal Functions668201
+Ref: Ordinal Functions-Footnote-1671264
+Ref: Ordinal Functions-Footnote-2671516
+Node: Join Function671726
+Ref: Join Function-Footnote-1673496
+Node: Getlocaltime Function673696
+Node: Readfile Function677438
+Node: Shell Quoting679415
+Node: Data File Management680816
+Node: Filetrans Function681448
+Node: Rewind Function685544
+Node: File Checking687453
+Ref: File Checking-Footnote-1688787
+Node: Empty Files688988
+Node: Ignoring Assigns690967
+Node: Getopt Function692517
+Ref: Getopt Function-Footnote-1707728
+Node: Passwd Functions707928
+Ref: Passwd Functions-Footnote-1716767
+Node: Group Functions716855
+Ref: Group Functions-Footnote-1724753
+Node: Walking Arrays724960
+Node: Library Functions Summary727968
+Node: Library Exercises729374
+Node: Sample Programs729839
+Node: Running Examples730609
+Node: Clones731337
+Node: Cut Program732561
+Node: Egrep Program742701
+Node: Id Program751702
+Node: Split Program761649
+Ref: Split Program-Footnote-1771539
+Node: Tee Program771712
+Node: Uniq Program774502
+Node: Wc Program782090
+Node: Bytes vs. Characters782477
+Node: Using extensions784025
+Node: wc program784779
+Node: Miscellaneous Programs789644
+Node: Dupword Program790857
+Node: Alarm Program792887
+Node: Translate Program797742
+Ref: Translate Program-Footnote-1802307
+Node: Labels Program802577
+Ref: Labels Program-Footnote-1805928
+Node: Word Sorting806012
+Node: History Sorting810084
+Node: Extract Program812309
+Node: Simple Sed820363
+Node: Igawk Program823437
+Ref: Igawk Program-Footnote-1837768
+Ref: Igawk Program-Footnote-2837970
+Ref: Igawk Program-Footnote-3838092
+Node: Anagram Program838207
+Node: Signature Program841269
+Node: Programs Summary842516
+Node: Programs Exercises843730
+Ref: Programs Exercises-Footnote-1847860
+Node: Advanced Features847946
+Node: Nondecimal Data850070
+Node: Boolean Typed Values851668
+Node: Array Sorting853676
+Node: Controlling Array Traversal854381
+Ref: Controlling Array Traversal-Footnote-1862749
+Node: Array Sorting Functions862867
+Ref: Array Sorting Functions-Footnote-1867958
+Node: Two-way I/O868154
+Ref: Two-way I/O-Footnote-1875875
+Ref: Two-way I/O-Footnote-2876062
+Node: TCP/IP Networking876144
+Node: Profiling879262
+Node: Extension Philosophy888571
+Node: Advanced Features Summary890050
+Node: Internationalization892065
+Node: I18N and L10N893545
+Node: Explaining gettext894232
+Ref: Explaining gettext-Footnote-1900124
+Ref: Explaining gettext-Footnote-2900309
+Node: Programmer i18n900474
+Ref: Programmer i18n-Footnote-1905423
+Node: Translator i18n905472
+Node: String Extraction906266
+Ref: String Extraction-Footnote-1907398
+Node: Printf Ordering907484
+Ref: Printf Ordering-Footnote-1910270
+Node: I18N Portability910334
+Ref: I18N Portability-Footnote-1912790
+Node: I18N Example912853
+Ref: I18N Example-Footnote-1916128
+Ref: I18N Example-Footnote-2916201
+Node: Gawk I18N916310
+Node: I18N Summary916959
+Node: Debugger918300
+Node: Debugging919300
+Node: Debugging Concepts919741
+Node: Debugging Terms921550
+Node: Awk Debugging924125
+Ref: Awk Debugging-Footnote-1925070
+Node: Sample Debugging Session925202
+Node: Debugger Invocation925736
+Node: Finding The Bug927122
+Node: List of Debugger Commands933596
+Node: Breakpoint Control934929
+Node: Debugger Execution Control938623
+Node: Viewing And Changing Data941985
+Node: Execution Stack945526
+Node: Debugger Info947163
+Node: Miscellaneous Debugger Commands951234
+Node: Readline Support956296
+Node: Limitations957192
+Node: Debugging Summary959746
+Node: Namespaces961025
+Node: Global Namespace962136
+Node: Qualified Names963534
+Node: Default Namespace964533
+Node: Changing The Namespace965274
+Node: Naming Rules966888
+Node: Internal Name Management968736
+Node: Namespace Example969778
+Node: Namespace And Features972340
+Node: Namespace Summary973775
+Node: Arbitrary Precision Arithmetic975252
+Node: Computer Arithmetic976739
+Ref: table-numeric-ranges980505
+Ref: table-floating-point-ranges980998
+Ref: Computer Arithmetic-Footnote-1981656
+Node: Math Definitions981713
+Ref: table-ieee-formats984689
+Node: MPFR features985256
+Node: FP Math Caution986974
+Ref: FP Math Caution-Footnote-1988046
+Node: Inexactness of computations988415
+Node: Inexact representation989446
+Node: Comparing FP Values990806
+Node: Errors accumulate992047
+Node: Strange values993503
+Ref: Strange values-Footnote-1996091
+Node: Getting Accuracy996196
+Node: Try To Round998906
+Node: Setting precision999805
+Ref: table-predefined-precision-strings1000502
+Node: Setting the rounding mode1002332
+Ref: table-gawk-rounding-modes1002706
+Ref: Setting the rounding mode-Footnote-11006637
+Node: Arbitrary Precision Integers1006816
+Ref: Arbitrary Precision Integers-Footnote-11009991
+Node: Checking for MPFR1010140
+Node: POSIX Floating Point Problems1011614
+Ref: POSIX Floating Point Problems-Footnote-11015899
+Node: Floating point summary1015937
+Node: Dynamic Extensions1018127
+Node: Extension Intro1019680
+Node: Plugin License1020946
+Node: Extension Mechanism Outline1021743
+Ref: figure-load-extension1022182
+Ref: figure-register-new-function1023747
+Ref: figure-call-new-function1024839
+Node: Extension API Description1026901
+Node: Extension API Functions Introduction1028614
+Ref: table-api-std-headers1030450
+Node: General Data Types1034699
+Ref: General Data Types-Footnote-11043405
+Node: Memory Allocation Functions1043704
+Ref: Memory Allocation Functions-Footnote-11048205
+Node: Constructor Functions1048304
+Node: API Ownership of MPFR and GMP Values1051957
+Node: Registration Functions1053270
+Node: Extension Functions1053970
+Node: Exit Callback Functions1059292
+Node: Extension Version String1060542
+Node: Input Parsers1061205
+Node: Output Wrappers1073926
+Node: Two-way processors1078438
+Node: Printing Messages1080703
+Ref: Printing Messages-Footnote-11081874
+Node: Updating ERRNO1082027
+Node: Requesting Values1082766
+Ref: table-value-types-returned1083503
+Node: Accessing Parameters1084611
+Node: Symbol Table Access1085848
+Node: Symbol table by name1086360
+Ref: Symbol table by name-Footnote-11089384
+Node: Symbol table by cookie1089512
+Ref: Symbol table by cookie-Footnote-11093697
+Node: Cached values1093761
+Ref: Cached values-Footnote-11097297
+Node: Array Manipulation1097450
+Ref: Array Manipulation-Footnote-11098541
+Node: Array Data Types1098578
+Ref: Array Data Types-Footnote-11101236
+Node: Array Functions1101328
+Node: Flattening Arrays1105826
+Node: Creating Arrays1112802
+Node: Redirection API1117569
+Node: Extension API Variables1120402
+Node: Extension Versioning1121113
+Ref: gawk-api-version1121542
+Node: Extension GMP/MPFR Versioning1123273
+Node: Extension API Informational Variables1124901
+Node: Extension API Boilerplate1125974
+Node: Changes from API V11129948
+Node: Finding Extensions1131520
+Node: Extension Example1132079
+Node: Internal File Description1132877
+Node: Internal File Ops1136957
+Ref: Internal File Ops-Footnote-11148307
+Node: Using Internal File Ops1148447
+Ref: Using Internal File Ops-Footnote-11150830
+Node: Extension Samples1151104
+Node: Extension Sample File Functions1152633
+Node: Extension Sample Fnmatch1160282
+Node: Extension Sample Fork1161769
+Node: Extension Sample Inplace1162987
+Node: Extension Sample Ord1166613
+Node: Extension Sample Readdir1167449
+Ref: table-readdir-file-types1168338
+Node: Extension Sample Revout1169405
+Node: Extension Sample Rev2way1169994
+Node: Extension Sample Read write array1170734
+Node: Extension Sample Readfile1172676
+Node: Extension Sample Time1173771
+Node: Extension Sample API Tests1175523
+Node: gawkextlib1176015
+Node: Extension summary1178933
+Node: Extension Exercises1182635
+Node: Language History1183877
+Node: V7/SVR3.11185533
+Node: SVR41187685
+Node: POSIX1189119
+Node: BTL1190500
+Node: POSIX/GNU1191229
+Node: Feature History1197007
+Node: Common Extensions1213326
+Node: Ranges and Locales1214609
+Ref: Ranges and Locales-Footnote-11219225
+Ref: Ranges and Locales-Footnote-21219252
+Ref: Ranges and Locales-Footnote-31219487
+Node: Contributors1219710
+Node: History summary1225707
+Node: Installation1227087
+Node: Gawk Distribution1228031
+Node: Getting1228515
+Node: Extracting1229478
+Node: Distribution contents1231116
+Node: Unix Installation1237596
+Node: Quick Installation1238278
+Node: Shell Startup Files1240692
+Node: Additional Configuration Options1241781
+Node: Configuration Philosophy1244096
+Node: Non-Unix Installation1246465
+Node: PC Installation1246925
+Node: PC Binary Installation1247763
+Node: PC Compiling1248198
+Node: PC Using1249315
+Node: Cygwin1252868
+Node: MSYS1254092
+Node: VMS Installation1254694
+Node: VMS Compilation1255485
+Ref: VMS Compilation-Footnote-11256714
+Node: VMS Dynamic Extensions1256772
+Node: VMS Installation Details1258457
+Node: VMS Running1260710
+Node: VMS GNV1264989
+Node: VMS Old Gawk1265724
+Node: Bugs1266195
+Node: Bug address1266858
+Node: Usenet1269840
+Node: Maintainers1270844
+Node: Other Versions1272029
+Node: Installation summary1279894
+Node: Notes1281103
+Node: Compatibility Mode1281897
+Node: Additions1282679
+Node: Accessing The Source1283604
+Node: Adding Code1285041
+Node: New Ports1291260
+Node: Derived Files1295635
+Ref: Derived Files-Footnote-11301295
+Ref: Derived Files-Footnote-21301330
+Ref: Derived Files-Footnote-31301928
+Node: Future Extensions1302042
+Node: Implementation Limitations1302700
+Node: Extension Design1303910
+Node: Old Extension Problems1305054
+Ref: Old Extension Problems-Footnote-11306572
+Node: Extension New Mechanism Goals1306629
+Ref: Extension New Mechanism Goals-Footnote-11309993
+Node: Extension Other Design Decisions1310182
+Node: Extension Future Growth1312295
+Node: Notes summary1312901
+Node: Basic Concepts1314059
+Node: Basic High Level1314740
+Ref: figure-general-flow1315022
+Ref: figure-process-flow1315707
+Ref: Basic High Level-Footnote-11319008
+Node: Basic Data Typing1319193
+Node: Glossary1322521
+Node: Copying1354406
+Node: GNU Free Documentation License1391949
+Node: Index1417069

End Tag Table