aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info830
1 files changed, 424 insertions, 406 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index fd3a5b8a..c39afa4f 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -8666,18 +8666,18 @@ Constant Regexps::, where this is discussed in more detail.

File: gawk.info, Node: POSIX String Comparison, Prev: Comparison Operators, Up: Typing and Comparison
-6.3.2.3 String Comparison with POSIX Rules
-..........................................
+6.3.2.3 String Comparison Based on Locale Collating Order
+.........................................................
-The POSIX standard says that string comparison is performed based on the
-locale's "collating order". This is the order in which characters sort,
-as defined by the locale (for more discussion, *note Locales::). This
-order is usually very different from the results obtained when doing
-straight character-by-character comparison.(1)
+The POSIX standard used to say that all string comparisons are performed
+based on the locale's "collating order". This is the order in which
+characters sort, as defined by the locale (for more discussion, *note
+Locales::). This order is usually very different from the results
+obtained when doing straight byte-by-byte comparison.(1)
Because this behavior differs considerably from existing practice,
-'gawk' only implements it when in POSIX mode (*note Options::). Here is
-an example to illustrate the difference, in an 'en_US.UTF-8' locale:
+'gawk' only implemented it when in POSIX mode (*note Options::). Here
+is an example to illustrate the difference, in an 'en_US.UTF-8' locale:
$ gawk 'BEGIN { printf("ABC < abc = %s\n",
> ("ABC" < "abc" ? "TRUE" : "FALSE")) }'
@@ -8686,11 +8686,28 @@ an example to illustrate the difference, in an 'en_US.UTF-8' locale:
> ("ABC" < "abc" ? "TRUE" : "FALSE")) }'
-| ABC < abc = FALSE
+ Fortunately, as of August 2016, comparison based on locale collating
+order is no longer required for the '==' and '!=' operators.(2)
+However, comparison based on locales is still required for '<', '<=',
+'>', and '>='. POSIX thus recommends as follows:
+
+ Since the '==' operator checks whether strings are identical, not
+ whether they collate equally, applications needing to check whether
+ strings collate equally can use:
+
+ a <= b && a >= b
+
+ As of version 4.2, 'gawk' continues to use locale collating order for
+'<', '<=', '>', and '>=' only in POSIX mode.
+
---------- Footnotes ----------
(1) Technically, string comparison is supposed to behave the same way
as if the strings were compared with the C 'strcoll()' function.
+ (2) See the Austin Group website
+(http://austingroupbugs.net/view.php?id=1070).
+

File: gawk.info, Node: Boolean Ops, Next: Conditional Exp, Prev: Typing and Comparison, Up: Truth Values and Conditions
@@ -27659,7 +27676,7 @@ ranges, such that outside the '"C"' and '"POSIX"' locales, the meaning
of range expressions was _undefined_.(3)
By using this lovely technical term, the standard gives license to
-implementors to implement ranges in whatever way they choose. The
+implementers to implement ranges in whatever way they choose. The
'gawk' maintainer chose to apply the pre-POSIX meaning both with the
default regexp matching and when '--traditional' or '--posix' are used.
In all cases 'gawk' remains POSIX-compliant.
@@ -35483,401 +35500,402 @@ Node: Variable Typing367063
Node: Comparison Operators370687
Ref: table-relational-ops371106
Node: POSIX String Comparison374601
-Ref: POSIX String Comparison-Footnote-1375675
-Node: Boolean Ops375814
-Ref: Boolean Ops-Footnote-1380296
-Node: Conditional Exp380388
-Node: Function Calls382124
-Node: Precedence386001
-Node: Locales389660
-Node: Expressions Summary391292
-Node: Patterns and Actions393865
-Node: Pattern Overview394985
-Node: Regexp Patterns396662
-Node: Expression Patterns397204
-Node: Ranges400985
-Node: BEGIN/END404093
-Node: Using BEGIN/END404854
-Ref: Using BEGIN/END-Footnote-1407590
-Node: I/O And BEGIN/END407696
-Node: BEGINFILE/ENDFILE410010
-Node: Empty412917
-Node: Using Shell Variables413234
-Node: Action Overview415508
-Node: Statements417833
-Node: If Statement419681
-Node: While Statement421176
-Node: Do Statement423204
-Node: For Statement424352
-Node: Switch Statement427510
-Node: Break Statement429896
-Node: Continue Statement431988
-Node: Next Statement433815
-Node: Nextfile Statement436198
-Node: Exit Statement438850
-Node: Built-in Variables441253
-Node: User-modified442386
-Node: Auto-set449972
-Ref: Auto-set-Footnote-1464625
-Ref: Auto-set-Footnote-2464831
-Node: ARGC and ARGV464887
-Node: Pattern Action Summary469100
-Node: Arrays471530
-Node: Array Basics472859
-Node: Array Intro473703
-Ref: figure-array-elements475678
-Ref: Array Intro-Footnote-1478382
-Node: Reference to Elements478510
-Node: Assigning Elements480974
-Node: Array Example481465
-Node: Scanning an Array483224
-Node: Controlling Scanning486246
-Ref: Controlling Scanning-Footnote-1491645
-Node: Numeric Array Subscripts491961
-Node: Uninitialized Subscripts494145
-Node: Delete495764
-Ref: Delete-Footnote-1498516
-Node: Multidimensional498573
-Node: Multiscanning501668
-Node: Arrays of Arrays503259
-Node: Arrays Summary508026
-Node: Functions510119
-Node: Built-in511157
-Node: Calling Built-in512238
-Node: Numeric Functions514234
-Ref: Numeric Functions-Footnote-1519067
-Ref: Numeric Functions-Footnote-2519424
-Ref: Numeric Functions-Footnote-3519472
-Node: String Functions519744
-Ref: String Functions-Footnote-1543248
-Ref: String Functions-Footnote-2543376
-Ref: String Functions-Footnote-3543624
-Node: Gory Details543711
-Ref: table-sub-escapes545502
-Ref: table-sub-proposed547021
-Ref: table-posix-sub548384
-Ref: table-gensub-escapes549925
-Ref: Gory Details-Footnote-1550748
-Node: I/O Functions550902
-Ref: table-system-return-values557484
-Ref: I/O Functions-Footnote-1559464
-Ref: I/O Functions-Footnote-2559612
-Node: Time Functions559732
-Ref: Time Functions-Footnote-1570237
-Ref: Time Functions-Footnote-2570305
-Ref: Time Functions-Footnote-3570463
-Ref: Time Functions-Footnote-4570574
-Ref: Time Functions-Footnote-5570686
-Ref: Time Functions-Footnote-6570913
-Node: Bitwise Functions571179
-Ref: table-bitwise-ops571773
-Ref: Bitwise Functions-Footnote-1576111
-Node: Type Functions576284
-Node: I18N Functions578945
-Node: User-defined580596
-Node: Definition Syntax581401
-Ref: Definition Syntax-Footnote-1587088
-Node: Function Example587159
-Ref: Function Example-Footnote-1590081
-Node: Function Caveats590103
-Node: Calling A Function590621
-Node: Variable Scope591579
-Node: Pass By Value/Reference594573
-Node: Return Statement598072
-Node: Dynamic Typing601051
-Node: Indirect Calls601981
-Ref: Indirect Calls-Footnote-1612232
-Node: Functions Summary612360
-Node: Library Functions615065
-Ref: Library Functions-Footnote-1618672
-Ref: Library Functions-Footnote-2618815
-Node: Library Names618986
-Ref: Library Names-Footnote-1622446
-Ref: Library Names-Footnote-2622669
-Node: General Functions622755
-Node: Strtonum Function623858
-Node: Assert Function626880
-Node: Round Function630206
-Node: Cliff Random Function631747
-Node: Ordinal Functions632763
-Ref: Ordinal Functions-Footnote-1635826
-Ref: Ordinal Functions-Footnote-2636078
-Node: Join Function636288
-Ref: Join Function-Footnote-1638058
-Node: Getlocaltime Function638258
-Node: Readfile Function642000
-Node: Shell Quoting643972
-Node: Data File Management645373
-Node: Filetrans Function646005
-Node: Rewind Function650101
-Node: File Checking652007
-Ref: File Checking-Footnote-1653341
-Node: Empty Files653542
-Node: Ignoring Assigns655521
-Node: Getopt Function657071
-Ref: Getopt Function-Footnote-1668540
-Node: Passwd Functions668740
-Ref: Passwd Functions-Footnote-1677579
-Node: Group Functions677667
-Ref: Group Functions-Footnote-1685564
-Node: Walking Arrays685771
-Node: Library Functions Summary688779
-Node: Library Exercises690185
-Node: Sample Programs690650
-Node: Running Examples691420
-Node: Clones692148
-Node: Cut Program693372
-Node: Egrep Program703301
-Ref: Egrep Program-Footnote-1710813
-Node: Id Program710923
-Node: Split Program714603
-Ref: Split Program-Footnote-1718062
-Node: Tee Program718191
-Node: Uniq Program720981
-Node: Wc Program728407
-Ref: Wc Program-Footnote-1732662
-Node: Miscellaneous Programs732756
-Node: Dupword Program733969
-Node: Alarm Program735999
-Node: Translate Program740854
-Ref: Translate Program-Footnote-1745419
-Node: Labels Program745689
-Ref: Labels Program-Footnote-1749040
-Node: Word Sorting749124
-Node: History Sorting753196
-Node: Extract Program755031
-Node: Simple Sed762560
-Node: Igawk Program765634
-Ref: Igawk Program-Footnote-1779965
-Ref: Igawk Program-Footnote-2780167
-Ref: Igawk Program-Footnote-3780289
-Node: Anagram Program780404
-Node: Signature Program783466
-Node: Programs Summary784713
-Node: Programs Exercises785927
-Ref: Programs Exercises-Footnote-1790056
-Node: Advanced Features790147
-Node: Nondecimal Data792137
-Node: Array Sorting793728
-Node: Controlling Array Traversal794428
-Ref: Controlling Array Traversal-Footnote-1802795
-Node: Array Sorting Functions802913
-Ref: Array Sorting Functions-Footnote-1808004
-Node: Two-way I/O808200
-Ref: Two-way I/O-Footnote-1814750
-Ref: Two-way I/O-Footnote-2814937
-Node: TCP/IP Networking815019
-Node: Profiling818137
-Ref: Profiling-Footnote-1826630
-Node: Advanced Features Summary826953
-Node: Internationalization828797
-Node: I18N and L10N830277
-Node: Explaining gettext830964
-Ref: Explaining gettext-Footnote-1836856
-Ref: Explaining gettext-Footnote-2837041
-Node: Programmer i18n837206
-Ref: Programmer i18n-Footnote-1842061
-Node: Translator i18n842110
-Node: String Extraction842904
-Ref: String Extraction-Footnote-1844036
-Node: Printf Ordering844122
-Ref: Printf Ordering-Footnote-1846908
-Node: I18N Portability846972
-Ref: I18N Portability-Footnote-1849428
-Node: I18N Example849491
-Ref: I18N Example-Footnote-1852297
-Node: Gawk I18N852370
-Node: I18N Summary853015
-Node: Debugger854356
-Node: Debugging855378
-Node: Debugging Concepts855819
-Node: Debugging Terms857628
-Node: Awk Debugging860203
-Node: Sample Debugging Session861109
-Node: Debugger Invocation861643
-Node: Finding The Bug863029
-Node: List of Debugger Commands869507
-Node: Breakpoint Control870840
-Node: Debugger Execution Control874534
-Node: Viewing And Changing Data877896
-Node: Execution Stack881270
-Node: Debugger Info882907
-Node: Miscellaneous Debugger Commands886978
-Node: Readline Support892066
-Node: Limitations892962
-Ref: Limitations-Footnote-1897193
-Node: Debugging Summary897244
-Node: Arbitrary Precision Arithmetic898523
-Node: Computer Arithmetic899939
-Ref: table-numeric-ranges903530
-Ref: Computer Arithmetic-Footnote-1904252
-Node: Math Definitions904309
-Ref: table-ieee-formats907623
-Ref: Math Definitions-Footnote-1908226
-Node: MPFR features908331
-Node: FP Math Caution910048
-Ref: FP Math Caution-Footnote-1911120
-Node: Inexactness of computations911489
-Node: Inexact representation912449
-Node: Comparing FP Values913809
-Node: Errors accumulate914891
-Node: Getting Accuracy916324
-Node: Try To Round919034
-Node: Setting precision919933
-Ref: table-predefined-precision-strings920630
-Node: Setting the rounding mode922460
-Ref: table-gawk-rounding-modes922834
-Ref: Setting the rounding mode-Footnote-1926242
-Node: Arbitrary Precision Integers926421
-Ref: Arbitrary Precision Integers-Footnote-1931338
-Node: POSIX Floating Point Problems931487
-Ref: POSIX Floating Point Problems-Footnote-1935369
-Node: Floating point summary935407
-Node: Dynamic Extensions937597
-Node: Extension Intro939150
-Node: Plugin License940416
-Node: Extension Mechanism Outline941213
-Ref: figure-load-extension941652
-Ref: figure-register-new-function943217
-Ref: figure-call-new-function944309
-Node: Extension API Description946371
-Node: Extension API Functions Introduction947903
-Node: General Data Types952762
-Ref: General Data Types-Footnote-1958717
-Node: Memory Allocation Functions959016
-Ref: Memory Allocation Functions-Footnote-1961861
-Node: Constructor Functions961960
-Node: Registration Functions963705
-Node: Extension Functions964390
-Node: Exit Callback Functions967013
-Node: Extension Version String968263
-Node: Input Parsers968926
-Node: Output Wrappers978808
-Node: Two-way processors983320
-Node: Printing Messages985585
-Ref: Printing Messages-Footnote-1986756
-Node: Updating ERRNO986909
-Node: Requesting Values987648
-Ref: table-value-types-returned988385
-Node: Accessing Parameters989268
-Node: Symbol Table Access990503
-Node: Symbol table by name991015
-Node: Symbol table by cookie993036
-Ref: Symbol table by cookie-Footnote-1997188
-Node: Cached values997252
-Ref: Cached values-Footnote-11000759
-Node: Array Manipulation1000850
-Ref: Array Manipulation-Footnote-11001941
-Node: Array Data Types1001978
-Ref: Array Data Types-Footnote-11004636
-Node: Array Functions1004728
-Node: Flattening Arrays1008586
-Node: Creating Arrays1015494
-Node: Redirection API1020263
-Node: Extension API Variables1023094
-Node: Extension Versioning1023727
-Ref: gawk-api-version1024164
-Node: Extension API Informational Variables1025920
-Node: Extension API Boilerplate1026984
-Node: Finding Extensions1030798
-Node: Extension Example1031357
-Node: Internal File Description1032155
-Node: Internal File Ops1036235
-Ref: Internal File Ops-Footnote-11047997
-Node: Using Internal File Ops1048137
-Ref: Using Internal File Ops-Footnote-11050520
-Node: Extension Samples1050794
-Node: Extension Sample File Functions1052323
-Node: Extension Sample Fnmatch1059972
-Node: Extension Sample Fork1061459
-Node: Extension Sample Inplace1062677
-Node: Extension Sample Ord1065887
-Node: Extension Sample Readdir1066723
-Ref: table-readdir-file-types1067612
-Node: Extension Sample Revout1068417
-Node: Extension Sample Rev2way1069006
-Node: Extension Sample Read write array1069746
-Node: Extension Sample Readfile1071688
-Node: Extension Sample Time1072783
-Node: Extension Sample API Tests1074131
-Node: gawkextlib1074623
-Node: Extension summary1077070
-Node: Extension Exercises1080772
-Node: Language History1082270
-Node: V7/SVR3.11083926
-Node: SVR41086078
-Node: POSIX1087512
-Node: BTL1088891
-Node: POSIX/GNU1089620
-Node: Feature History1095482
-Node: Common Extensions1109852
-Node: Ranges and Locales1111135
-Ref: Ranges and Locales-Footnote-11115751
-Ref: Ranges and Locales-Footnote-21115778
-Ref: Ranges and Locales-Footnote-31116013
-Node: Contributors1116234
-Node: History summary1121794
-Node: Installation1123174
-Node: Gawk Distribution1124118
-Node: Getting1124602
-Node: Extracting1125563
-Node: Distribution contents1127201
-Node: Unix Installation1133295
-Node: Quick Installation1133977
-Node: Shell Startup Files1136391
-Node: Additional Configuration Options1137469
-Node: Configuration Philosophy1139274
-Node: Non-Unix Installation1141643
-Node: PC Installation1142101
-Node: PC Binary Installation1143421
-Node: PC Compiling1145273
-Ref: PC Compiling-Footnote-11148067
-Node: PC Testing1148176
-Node: PC Using1149356
-Ref: PC Using-Footnote-11153509
-Node: Cygwin1153582
-Node: MSYS1154352
-Node: VMS Installation1154853
-Node: VMS Compilation1155644
-Ref: VMS Compilation-Footnote-11156873
-Node: VMS Dynamic Extensions1156931
-Node: VMS Installation Details1158616
-Node: VMS Running1160869
-Node: VMS GNV1165148
-Node: VMS Old Gawk1165883
-Node: Bugs1166354
-Node: Other Versions1170669
-Node: Installation summary1177253
-Node: Notes1178304
-Node: Compatibility Mode1179169
-Node: Additions1179951
-Node: Accessing The Source1180876
-Node: Adding Code1182311
-Node: New Ports1188530
-Node: Derived Files1193018
-Ref: Derived Files-Footnote-11198503
-Ref: Derived Files-Footnote-21198538
-Ref: Derived Files-Footnote-31199136
-Node: Future Extensions1199250
-Node: Implementation Limitations1199908
-Node: Extension Design1201091
-Node: Old Extension Problems1202245
-Ref: Old Extension Problems-Footnote-11203763
-Node: Extension New Mechanism Goals1203820
-Ref: Extension New Mechanism Goals-Footnote-11207184
-Node: Extension Other Design Decisions1207373
-Node: Extension Future Growth1209486
-Node: Old Extension Mechanism1210322
-Node: Notes summary1212085
-Node: Basic Concepts1213267
-Node: Basic High Level1213948
-Ref: figure-general-flow1214230
-Ref: figure-process-flow1214915
-Ref: Basic High Level-Footnote-11218216
-Node: Basic Data Typing1218401
-Node: Glossary1221729
-Node: Copying1253676
-Node: GNU Free Documentation License1291215
-Node: Index1316333
+Ref: POSIX String Comparison-Footnote-1376296
+Ref: POSIX String Comparison-Footnote-2376435
+Node: Boolean Ops376519
+Ref: Boolean Ops-Footnote-1381001
+Node: Conditional Exp381093
+Node: Function Calls382829
+Node: Precedence386706
+Node: Locales390365
+Node: Expressions Summary391997
+Node: Patterns and Actions394570
+Node: Pattern Overview395690
+Node: Regexp Patterns397367
+Node: Expression Patterns397909
+Node: Ranges401690
+Node: BEGIN/END404798
+Node: Using BEGIN/END405559
+Ref: Using BEGIN/END-Footnote-1408295
+Node: I/O And BEGIN/END408401
+Node: BEGINFILE/ENDFILE410715
+Node: Empty413622
+Node: Using Shell Variables413939
+Node: Action Overview416213
+Node: Statements418538
+Node: If Statement420386
+Node: While Statement421881
+Node: Do Statement423909
+Node: For Statement425057
+Node: Switch Statement428215
+Node: Break Statement430601
+Node: Continue Statement432693
+Node: Next Statement434520
+Node: Nextfile Statement436903
+Node: Exit Statement439555
+Node: Built-in Variables441958
+Node: User-modified443091
+Node: Auto-set450677
+Ref: Auto-set-Footnote-1465330
+Ref: Auto-set-Footnote-2465536
+Node: ARGC and ARGV465592
+Node: Pattern Action Summary469805
+Node: Arrays472235
+Node: Array Basics473564
+Node: Array Intro474408
+Ref: figure-array-elements476383
+Ref: Array Intro-Footnote-1479087
+Node: Reference to Elements479215
+Node: Assigning Elements481679
+Node: Array Example482170
+Node: Scanning an Array483929
+Node: Controlling Scanning486951
+Ref: Controlling Scanning-Footnote-1492350
+Node: Numeric Array Subscripts492666
+Node: Uninitialized Subscripts494850
+Node: Delete496469
+Ref: Delete-Footnote-1499221
+Node: Multidimensional499278
+Node: Multiscanning502373
+Node: Arrays of Arrays503964
+Node: Arrays Summary508731
+Node: Functions510824
+Node: Built-in511862
+Node: Calling Built-in512943
+Node: Numeric Functions514939
+Ref: Numeric Functions-Footnote-1519772
+Ref: Numeric Functions-Footnote-2520129
+Ref: Numeric Functions-Footnote-3520177
+Node: String Functions520449
+Ref: String Functions-Footnote-1543953
+Ref: String Functions-Footnote-2544081
+Ref: String Functions-Footnote-3544329
+Node: Gory Details544416
+Ref: table-sub-escapes546207
+Ref: table-sub-proposed547726
+Ref: table-posix-sub549089
+Ref: table-gensub-escapes550630
+Ref: Gory Details-Footnote-1551453
+Node: I/O Functions551607
+Ref: table-system-return-values558189
+Ref: I/O Functions-Footnote-1560169
+Ref: I/O Functions-Footnote-2560317
+Node: Time Functions560437
+Ref: Time Functions-Footnote-1570942
+Ref: Time Functions-Footnote-2571010
+Ref: Time Functions-Footnote-3571168
+Ref: Time Functions-Footnote-4571279
+Ref: Time Functions-Footnote-5571391
+Ref: Time Functions-Footnote-6571618
+Node: Bitwise Functions571884
+Ref: table-bitwise-ops572478
+Ref: Bitwise Functions-Footnote-1576816
+Node: Type Functions576989
+Node: I18N Functions579650
+Node: User-defined581301
+Node: Definition Syntax582106
+Ref: Definition Syntax-Footnote-1587793
+Node: Function Example587864
+Ref: Function Example-Footnote-1590786
+Node: Function Caveats590808
+Node: Calling A Function591326
+Node: Variable Scope592284
+Node: Pass By Value/Reference595278
+Node: Return Statement598777
+Node: Dynamic Typing601756
+Node: Indirect Calls602686
+Ref: Indirect Calls-Footnote-1612937
+Node: Functions Summary613065
+Node: Library Functions615770
+Ref: Library Functions-Footnote-1619377
+Ref: Library Functions-Footnote-2619520
+Node: Library Names619691
+Ref: Library Names-Footnote-1623151
+Ref: Library Names-Footnote-2623374
+Node: General Functions623460
+Node: Strtonum Function624563
+Node: Assert Function627585
+Node: Round Function630911
+Node: Cliff Random Function632452
+Node: Ordinal Functions633468
+Ref: Ordinal Functions-Footnote-1636531
+Ref: Ordinal Functions-Footnote-2636783
+Node: Join Function636993
+Ref: Join Function-Footnote-1638763
+Node: Getlocaltime Function638963
+Node: Readfile Function642705
+Node: Shell Quoting644677
+Node: Data File Management646078
+Node: Filetrans Function646710
+Node: Rewind Function650806
+Node: File Checking652712
+Ref: File Checking-Footnote-1654046
+Node: Empty Files654247
+Node: Ignoring Assigns656226
+Node: Getopt Function657776
+Ref: Getopt Function-Footnote-1669245
+Node: Passwd Functions669445
+Ref: Passwd Functions-Footnote-1678284
+Node: Group Functions678372
+Ref: Group Functions-Footnote-1686269
+Node: Walking Arrays686476
+Node: Library Functions Summary689484
+Node: Library Exercises690890
+Node: Sample Programs691355
+Node: Running Examples692125
+Node: Clones692853
+Node: Cut Program694077
+Node: Egrep Program704006
+Ref: Egrep Program-Footnote-1711518
+Node: Id Program711628
+Node: Split Program715308
+Ref: Split Program-Footnote-1718767
+Node: Tee Program718896
+Node: Uniq Program721686
+Node: Wc Program729112
+Ref: Wc Program-Footnote-1733367
+Node: Miscellaneous Programs733461
+Node: Dupword Program734674
+Node: Alarm Program736704
+Node: Translate Program741559
+Ref: Translate Program-Footnote-1746124
+Node: Labels Program746394
+Ref: Labels Program-Footnote-1749745
+Node: Word Sorting749829
+Node: History Sorting753901
+Node: Extract Program755736
+Node: Simple Sed763265
+Node: Igawk Program766339
+Ref: Igawk Program-Footnote-1780670
+Ref: Igawk Program-Footnote-2780872
+Ref: Igawk Program-Footnote-3780994
+Node: Anagram Program781109
+Node: Signature Program784171
+Node: Programs Summary785418
+Node: Programs Exercises786632
+Ref: Programs Exercises-Footnote-1790761
+Node: Advanced Features790852
+Node: Nondecimal Data792842
+Node: Array Sorting794433
+Node: Controlling Array Traversal795133
+Ref: Controlling Array Traversal-Footnote-1803500
+Node: Array Sorting Functions803618
+Ref: Array Sorting Functions-Footnote-1808709
+Node: Two-way I/O808905
+Ref: Two-way I/O-Footnote-1815455
+Ref: Two-way I/O-Footnote-2815642
+Node: TCP/IP Networking815724
+Node: Profiling818842
+Ref: Profiling-Footnote-1827335
+Node: Advanced Features Summary827658
+Node: Internationalization829502
+Node: I18N and L10N830982
+Node: Explaining gettext831669
+Ref: Explaining gettext-Footnote-1837561
+Ref: Explaining gettext-Footnote-2837746
+Node: Programmer i18n837911
+Ref: Programmer i18n-Footnote-1842766
+Node: Translator i18n842815
+Node: String Extraction843609
+Ref: String Extraction-Footnote-1844741
+Node: Printf Ordering844827
+Ref: Printf Ordering-Footnote-1847613
+Node: I18N Portability847677
+Ref: I18N Portability-Footnote-1850133
+Node: I18N Example850196
+Ref: I18N Example-Footnote-1853002
+Node: Gawk I18N853075
+Node: I18N Summary853720
+Node: Debugger855061
+Node: Debugging856083
+Node: Debugging Concepts856524
+Node: Debugging Terms858333
+Node: Awk Debugging860908
+Node: Sample Debugging Session861814
+Node: Debugger Invocation862348
+Node: Finding The Bug863734
+Node: List of Debugger Commands870212
+Node: Breakpoint Control871545
+Node: Debugger Execution Control875239
+Node: Viewing And Changing Data878601
+Node: Execution Stack881975
+Node: Debugger Info883612
+Node: Miscellaneous Debugger Commands887683
+Node: Readline Support892771
+Node: Limitations893667
+Ref: Limitations-Footnote-1897898
+Node: Debugging Summary897949
+Node: Arbitrary Precision Arithmetic899228
+Node: Computer Arithmetic900644
+Ref: table-numeric-ranges904235
+Ref: Computer Arithmetic-Footnote-1904957
+Node: Math Definitions905014
+Ref: table-ieee-formats908328
+Ref: Math Definitions-Footnote-1908931
+Node: MPFR features909036
+Node: FP Math Caution910753
+Ref: FP Math Caution-Footnote-1911825
+Node: Inexactness of computations912194
+Node: Inexact representation913154
+Node: Comparing FP Values914514
+Node: Errors accumulate915596
+Node: Getting Accuracy917029
+Node: Try To Round919739
+Node: Setting precision920638
+Ref: table-predefined-precision-strings921335
+Node: Setting the rounding mode923165
+Ref: table-gawk-rounding-modes923539
+Ref: Setting the rounding mode-Footnote-1926947
+Node: Arbitrary Precision Integers927126
+Ref: Arbitrary Precision Integers-Footnote-1932043
+Node: POSIX Floating Point Problems932192
+Ref: POSIX Floating Point Problems-Footnote-1936074
+Node: Floating point summary936112
+Node: Dynamic Extensions938302
+Node: Extension Intro939855
+Node: Plugin License941121
+Node: Extension Mechanism Outline941918
+Ref: figure-load-extension942357
+Ref: figure-register-new-function943922
+Ref: figure-call-new-function945014
+Node: Extension API Description947076
+Node: Extension API Functions Introduction948608
+Node: General Data Types953467
+Ref: General Data Types-Footnote-1959422
+Node: Memory Allocation Functions959721
+Ref: Memory Allocation Functions-Footnote-1962566
+Node: Constructor Functions962665
+Node: Registration Functions964410
+Node: Extension Functions965095
+Node: Exit Callback Functions967718
+Node: Extension Version String968968
+Node: Input Parsers969631
+Node: Output Wrappers979513
+Node: Two-way processors984025
+Node: Printing Messages986290
+Ref: Printing Messages-Footnote-1987461
+Node: Updating ERRNO987614
+Node: Requesting Values988353
+Ref: table-value-types-returned989090
+Node: Accessing Parameters989973
+Node: Symbol Table Access991208
+Node: Symbol table by name991720
+Node: Symbol table by cookie993741
+Ref: Symbol table by cookie-Footnote-1997893
+Node: Cached values997957
+Ref: Cached values-Footnote-11001464
+Node: Array Manipulation1001555
+Ref: Array Manipulation-Footnote-11002646
+Node: Array Data Types1002683
+Ref: Array Data Types-Footnote-11005341
+Node: Array Functions1005433
+Node: Flattening Arrays1009291
+Node: Creating Arrays1016199
+Node: Redirection API1020968
+Node: Extension API Variables1023799
+Node: Extension Versioning1024432
+Ref: gawk-api-version1024869
+Node: Extension API Informational Variables1026625
+Node: Extension API Boilerplate1027689
+Node: Finding Extensions1031503
+Node: Extension Example1032062
+Node: Internal File Description1032860
+Node: Internal File Ops1036940
+Ref: Internal File Ops-Footnote-11048702
+Node: Using Internal File Ops1048842
+Ref: Using Internal File Ops-Footnote-11051225
+Node: Extension Samples1051499
+Node: Extension Sample File Functions1053028
+Node: Extension Sample Fnmatch1060677
+Node: Extension Sample Fork1062164
+Node: Extension Sample Inplace1063382
+Node: Extension Sample Ord1066592
+Node: Extension Sample Readdir1067428
+Ref: table-readdir-file-types1068317
+Node: Extension Sample Revout1069122
+Node: Extension Sample Rev2way1069711
+Node: Extension Sample Read write array1070451
+Node: Extension Sample Readfile1072393
+Node: Extension Sample Time1073488
+Node: Extension Sample API Tests1074836
+Node: gawkextlib1075328
+Node: Extension summary1077775
+Node: Extension Exercises1081477
+Node: Language History1082975
+Node: V7/SVR3.11084631
+Node: SVR41086783
+Node: POSIX1088217
+Node: BTL1089596
+Node: POSIX/GNU1090325
+Node: Feature History1096187
+Node: Common Extensions1110557
+Node: Ranges and Locales1111840
+Ref: Ranges and Locales-Footnote-11116456
+Ref: Ranges and Locales-Footnote-21116483
+Ref: Ranges and Locales-Footnote-31116718
+Node: Contributors1116939
+Node: History summary1122499
+Node: Installation1123879
+Node: Gawk Distribution1124823
+Node: Getting1125307
+Node: Extracting1126268
+Node: Distribution contents1127906
+Node: Unix Installation1134000
+Node: Quick Installation1134682
+Node: Shell Startup Files1137096
+Node: Additional Configuration Options1138174
+Node: Configuration Philosophy1139979
+Node: Non-Unix Installation1142348
+Node: PC Installation1142806
+Node: PC Binary Installation1144126
+Node: PC Compiling1145978
+Ref: PC Compiling-Footnote-11148772
+Node: PC Testing1148881
+Node: PC Using1150061
+Ref: PC Using-Footnote-11154214
+Node: Cygwin1154287
+Node: MSYS1155057
+Node: VMS Installation1155558
+Node: VMS Compilation1156349
+Ref: VMS Compilation-Footnote-11157578
+Node: VMS Dynamic Extensions1157636
+Node: VMS Installation Details1159321
+Node: VMS Running1161574
+Node: VMS GNV1165853
+Node: VMS Old Gawk1166588
+Node: Bugs1167059
+Node: Other Versions1171374
+Node: Installation summary1177958
+Node: Notes1179009
+Node: Compatibility Mode1179874
+Node: Additions1180656
+Node: Accessing The Source1181581
+Node: Adding Code1183016
+Node: New Ports1189235
+Node: Derived Files1193723
+Ref: Derived Files-Footnote-11199208
+Ref: Derived Files-Footnote-21199243
+Ref: Derived Files-Footnote-31199841
+Node: Future Extensions1199955
+Node: Implementation Limitations1200613
+Node: Extension Design1201796
+Node: Old Extension Problems1202950
+Ref: Old Extension Problems-Footnote-11204468
+Node: Extension New Mechanism Goals1204525
+Ref: Extension New Mechanism Goals-Footnote-11207889
+Node: Extension Other Design Decisions1208078
+Node: Extension Future Growth1210191
+Node: Old Extension Mechanism1211027
+Node: Notes summary1212790
+Node: Basic Concepts1213972
+Node: Basic High Level1214653
+Ref: figure-general-flow1214935
+Ref: figure-process-flow1215620
+Ref: Basic High Level-Footnote-11218921
+Node: Basic Data Typing1219106
+Node: Glossary1222434
+Node: Copying1254381
+Node: GNU Free Documentation License1291920
+Node: Index1317038

End Tag Table