diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 830 |
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 |