diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1211 |
1 files changed, 606 insertions, 605 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 45c99146..59bafd46 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -779,14 +779,14 @@ rest of the file alone. Such jobs are often easy with `awk'. The makes it easy to handle simple data-reformatting jobs. The GNU implementation of `awk' is called `gawk'; if you invoke it -with the proper options or environment variables (*note Options::), it -is fully compatible with the POSIX(1) specification of the `awk' -language and with the Unix version of `awk' maintained by Brian -Kernighan. This means that all properly written `awk' programs should -work with `gawk'. So most of the time, we don't distinguish between -`gawk' and other `awk' implementations. +with the proper options or environment variables it is fully compatible +with the POSIX(1) specification of the `awk' language and with the Unix +version of `awk' maintained by Brian Kernighan. This means that all +properly written `awk' programs should work with `gawk'. So most of +the time, we don't distinguish between `gawk' and other `awk' +implementations. - Using `awk' allows you to: + Using `awk' you can: * Manage small, personal databases @@ -878,16 +878,16 @@ V Release 3.1 (1987). The version in System V Release 4 (1989) added some new features and cleaned up the behavior in some of the "dark corners" of the language. The specification for `awk' in the POSIX Command Language and Utilities standard further clarified the language. -Both the `gawk' designers and the original Bell Laboratories `awk' -designers provided feedback for the POSIX specification. +Both the `gawk' designers and the original `awk' designers at Bell +Laboratories provided feedback for the POSIX specification. - Paul Rubin wrote the GNU implementation, `gawk', in 1986. Jay -Fenlason completed it, with advice from Richard Stallman. John Woods -contributed parts of the code as well. In 1988 and 1989, David -Trueman, with help from me, thoroughly reworked `gawk' for compatibility -with the newer `awk'. Circa 1994, I became the primary maintainer. -Current development focuses on bug fixes, performance improvements, -standards compliance and, occasionally, new features. + Paul Rubin wrote `gawk' in 1986. Jay Fenlason completed it, with +advice from Richard Stallman. John Woods contributed parts of the code +as well. In 1988 and 1989, David Trueman, with help from me, +thoroughly reworked `gawk' for compatibility with the newer `awk'. +Circa 1994, I became the primary maintainer. Current development +focuses on bug fixes, performance improvements, standards compliance +and, occasionally, new features. In May of 1997, Ju"rgen Kahrs felt the need for network access from `awk', and with a little help from me, set about adding features to do @@ -900,8 +900,8 @@ the `gawk' distribution). His code finally became part of the main `awk'-level debugger. This version became available as `gawk' version 4.0, in 2011. - *Note Contributors::, for a complete list of those who made -important contributions to `gawk'. + *Note Contributors::, for a full list of those who made important +contributions to `gawk'. File: gawk.info, Node: Names, Next: This Manual, Prev: History, Up: Preface @@ -954,8 +954,8 @@ programming language. in the POSIX standard. It does so in the context of the `gawk' implementation. While doing so, it also attempts to describe important differences between `gawk' and other `awk' implementations.(1) Finally, -any `gawk' features that are not in the POSIX standard for `awk' are -noted. +it notes any `gawk' features that are not in the POSIX standard for +`awk'. There are sidebars scattered throughout the Info file. They add a more complete explanation of points that are relevant, but not likely @@ -1026,18 +1026,18 @@ problems. Part III focuses on features specific to `gawk'. It contains the following chapters: - *note Advanced Features::, describes a number of `gawk'-specific -advanced features. Of particular note are the abilities to have -two-way communications with another process, perform TCP/IP networking, -and profile your `awk' programs. + *note Advanced Features::, describes a number of advanced features. +Of particular note are the abilities to control the order of array +traversal, have two-way communications with another process, perform +TCP/IP networking, and profile your `awk' programs. - *note Internationalization::, describes special features in `gawk' -for translating program messages into different languages at runtime. + *note Internationalization::, describes special features for +translating program messages into different languages at runtime. - *note Debugger::, describes the `awk' debugger. + *note Debugger::, describes the `gawk' debugger. *note Arbitrary Precision Arithmetic::, describes advanced -arithmetic facilities provided by `gawk'. +arithmetic facilities. *note Dynamic Extensions::, describes how to add new variables and functions to `gawk' by writing extensions in C or C++. @@ -1124,8 +1124,8 @@ at all. Descriptions of such features (often called "dark corners") are noted in this Info file with "(d.c.)". They also appear in the index under the heading "dark corner." - As noted by the opening quote, though, any coverage of dark corners -is, by definition, incomplete. + But, as noted by the opening quote, any coverage of dark corners is +by definition incomplete. Extensions to the standard `awk' language that are supported by more than one `awk' implementation are marked "(c.e.)," and listed in the @@ -1165,7 +1165,7 @@ system for Intel, Power Architecture, Sun SPARC, IBM S/390, and other systems.(2) Many GNU/Linux distributions are available for download from the Internet. - The Info file itself has gone through a number of previous editions. + The Info file itself has gone through multiple previous editions. Paul Rubin wrote the very first draft of `The GAWK Manual'; it was around 40 pages in size. Diane Close and Richard Stallman improved it, yielding a version that was around 90 pages long and barely described @@ -1178,17 +1178,16 @@ published the first two editions under the title `The GNU Awk User's Guide'. This edition maintains the basic structure of the previous editions. -For FSF edition 4.0, the content has been thoroughly reviewed and -updated. All references to `gawk' versions prior to 4.0 have been -removed. Of significant note for this edition was *note Debugger::. +For FSF edition 4.0, the content was thoroughly reviewed and updated. +All references to `gawk' versions prior to 4.0 were removed. Of +significant note for that edition was *note Debugger::. For FSF edition 4.1, the content has been reorganized into parts, and the major new additions are *note Arbitrary Precision Arithmetic::, and *note Dynamic Extensions::. - This Info file will undoubtedly continue to evolve. An electronic -version comes with the `gawk' distribution from the FSF. If you find -an error in this Info file, please report it! *Note Bugs::, for + This Info file will undoubtedly continue to evolve. If you find an +error in this Info file, please report it! *Note Bugs::, for information on submitting problem reports electronically. ---------- Footnotes ---------- @@ -1293,12 +1292,14 @@ Michal Jaegermann, Ju"rgen Kahrs, Stepan Kasal, John Malmberg, Dave Pitts, Chet Ramey, Pat Rankin, Andrew Schorr, Corinna Vinschen, and Eli Zaretskii (in alphabetical order) make up the current `gawk' "crack portability team." Without their hard work and help, `gawk' would not -be nearly the fine program it is today. It has been and continues to -be a pleasure working with this team of fine people. +be nearly the robust, portable program it is today. It has been and +continues to be a pleasure working with this team of fine people. Notable code and documentation contributions were made by a number of people. *Note Contributors::, for the full list. + Thanks to Michael Brennan for the Foreword. + Thanks to Patrice Dumas for the new `makeinfo' program. Thanks to Karl Berry who continues to work to keep the Texinfo markup language sane. @@ -3556,7 +3557,7 @@ sequences and that are not listed in the following stand for themselves: To cause `*' to apply to a larger sub-expression, use parentheses: `(ph)*' matches `ph', `phph', `phphph' and so on. - Second, `*' finds as many repetititons as possible. If the text to + Second, `*' finds as many repetitions as possible. If the text to be matched is `phhhhhhhhhhhhhhooey', `ph*' matches all of the `h's. `+' @@ -18912,7 +18913,7 @@ File: gawk.info, Node: Programs Exercises, Prev: Programs Summary, Up: Sample ============== 1. Rewrite `cut.awk' (*note Cut Program::) using `split()' with `""' - as the seperator. + as the separator. 2. In *note Egrep Program::, we mentioned that `egrep -i' could be simulated in versions of `awk' without `IGNORECASE' by using @@ -18936,7 +18937,7 @@ File: gawk.info, Node: Programs Exercises, Prev: Programs Summary, Up: Sample that can be in one of a set number of stable conditions depending on its previous condition and on the present values of its inputs."(1) Brian Kernighan suggests that "an alternative approach - to state mechines is to just read the input into an array, then + to state machines is to just read the input into an array, then use indexing. It's almost always easier code, and for most inputs where you would use this, just as fast." Rewrite the logic to follow this suggestion. @@ -21731,7 +21732,7 @@ floating point values occupy 64 bits. Floating point values are always signed. The possible ranges of values are shown in *note table-numeric-ranges::. -Numeric representation Miniumum value Maximum value +Numeric representation Minimum value Maximum value --------------------------------------------------------------------------- 32-bit signed integer -2,147,483,648 2,147,483,647 32-bit unsigned integer 0 4,294,967,295 @@ -21856,8 +21857,8 @@ paraphrased, and for the examples. File: gawk.info, Node: MPFR features, Next: FP Math Caution, Prev: Math Definitions, Up: Arbitrary Precision Arithmetic -15.3 Arbitrary Precison Arithmetic Features In `gawk' -===================================================== +15.3 Arbitrary Precision Arithmetic Features In `gawk' +====================================================== By default, `gawk' uses the double precision floating-point values supplied by the hardware of the system it runs on. However, if it was @@ -28703,9 +28704,9 @@ steps: 6. Be willing to continue to maintain the port. Non-Unix operating systems are supported by volunteers who maintain the code needed - to compile and run `gawk' on their systems. If noone volunteers to - maintain a port, it becomes unsupported and it may be necessary to - remove it from the distribution. + to compile and run `gawk' on their systems. If no-one volunteers + to maintain a port, it becomes unsupported and it may be necessary + to remove it from the distribution. 7. Supply an appropriate `gawkmisc.???' file. Each port has its own `gawkmisc.???' that implements certain operating system specific @@ -31855,7 +31856,7 @@ Index * Brennan, Michael <1>: Other Versions. (line 6) * Brennan, Michael <2>: Simple Sed. (line 25) * Brennan, Michael <3>: Delete. (line 56) -* Brennan, Michael <4>: Acknowledgments. (line 76) +* Brennan, Michael <4>: Acknowledgments. (line 78) * Brennan, Michael: Foreword. (line 83) * Brian Kernighan's awk <1>: I/O Functions. (line 43) * Brian Kernighan's awk <2>: Gory Details. (line 19) @@ -32134,7 +32135,7 @@ Index (line 112) * Davies, Stephen <1>: Contributors. (line 74) * Davies, Stephen: Acknowledgments. (line 60) -* Day, Robert P.J.: Acknowledgments. (line 76) +* Day, Robert P.J.: Acknowledgments. (line 78) * dcgettext <1>: Programmer i18n. (line 19) * dcgettext: I18N Functions. (line 22) * dcgettext() function (gawk), portability and: I18N Portability. @@ -32740,7 +32741,7 @@ Index (line 47) * functions, user-defined, next/nextfile statements and: Next Statement. (line 44) -* G-d: Acknowledgments. (line 92) +* G-d: Acknowledgments. (line 94) * Garfinkle, Scott: Contributors. (line 34) * gawk program, dynamic profiling: Profiling. (line 179) * gawk version: Auto-set. (line 214) @@ -33066,7 +33067,7 @@ Index * Kernighan, Brian <6>: Library Functions. (line 12) * Kernighan, Brian <7>: Concatenation. (line 6) * Kernighan, Brian <8>: Getline/Pipe. (line 6) -* Kernighan, Brian <9>: Acknowledgments. (line 76) +* Kernighan, Brian <9>: Acknowledgments. (line 78) * Kernighan, Brian <10>: Conventions. (line 38) * Kernighan, Brian: History. (line 17) * kill command, dynamic profiling: Profiling. (line 188) @@ -33748,11 +33749,11 @@ Index * Robbins, Arnold: Command Line Field Separator. (line 71) * Robbins, Bill: Getline/Pipe. (line 39) -* Robbins, Harry: Acknowledgments. (line 92) -* Robbins, Jean: Acknowledgments. (line 92) +* Robbins, Harry: Acknowledgments. (line 94) +* Robbins, Jean: Acknowledgments. (line 94) * Robbins, Miriam <1>: Passwd Functions. (line 90) * Robbins, Miriam <2>: Getline/Pipe. (line 39) -* Robbins, Miriam: Acknowledgments. (line 92) +* Robbins, Miriam: Acknowledgments. (line 94) * Rommel, Kai Uwe: Contributors. (line 42) * round to nearest integer: Numeric Functions. (line 38) * round() user-defined function: Round Function. (line 16) @@ -34305,555 +34306,555 @@ Tag Table: Node: Top1204 Node: Foreword42103 Node: Preface46450 -Ref: Preface-Footnote-149345 -Ref: Preface-Footnote-249452 -Ref: Preface-Footnote-349685 -Node: History49827 -Node: Names52201 -Ref: Names-Footnote-153295 -Node: This Manual53441 -Ref: This Manual-Footnote-159278 -Node: Conventions59378 -Node: Manual History61723 -Ref: Manual History-Footnote-164799 -Ref: Manual History-Footnote-264840 -Node: How To Contribute64914 -Node: Acknowledgments66153 -Node: Getting Started70901 -Node: Running gawk73335 -Node: One-shot74525 -Node: Read Terminal75750 -Node: Long77777 -Node: Executable Scripts79293 -Ref: Executable Scripts-Footnote-182082 -Node: Comments82184 -Node: Quoting84657 -Node: DOS Quoting90167 -Node: Sample Data Files90842 -Node: Very Simple93435 -Node: Two Rules98326 -Node: More Complex100212 -Node: Statements/Lines103074 -Ref: Statements/Lines-Footnote-1107530 -Node: Other Features107795 -Node: When108726 -Ref: When-Footnote-1110482 -Node: Intro Summary110547 -Node: Invoking Gawk111430 -Node: Command Line112945 -Node: Options113736 -Ref: Options-Footnote-1129502 -Node: Other Arguments129527 -Node: Naming Standard Input132488 -Node: Environment Variables133581 -Node: AWKPATH Variable134139 -Ref: AWKPATH Variable-Footnote-1136991 -Ref: AWKPATH Variable-Footnote-2137036 -Node: AWKLIBPATH Variable137296 -Node: Other Environment Variables138055 -Node: Exit Status141528 -Node: Include Files142203 -Node: Loading Shared Libraries145781 -Node: Obsolete147208 -Node: Undocumented147905 -Node: Invoking Summary148172 -Node: Regexp149838 -Node: Regexp Usage151297 -Node: Escape Sequences153330 -Node: Regexp Operators159430 -Ref: Regexp Operators-Footnote-1166865 -Ref: Regexp Operators-Footnote-2167012 -Node: Bracket Expressions167110 -Ref: table-char-classes169127 -Node: Leftmost Longest172067 -Node: Computed Regexps173369 -Node: GNU Regexp Operators176766 -Node: Case-sensitivity180472 -Ref: Case-sensitivity-Footnote-1183362 -Ref: Case-sensitivity-Footnote-2183597 -Node: Regexp Summary183705 -Node: Reading Files185174 -Node: Records187268 -Node: awk split records188000 -Node: gawk split records192914 -Ref: gawk split records-Footnote-1197453 -Node: Fields197490 -Ref: Fields-Footnote-1200288 -Node: Nonconstant Fields200374 -Ref: Nonconstant Fields-Footnote-1202604 -Node: Changing Fields202806 -Node: Field Separators208738 -Node: Default Field Splitting211442 -Node: Regexp Field Splitting212559 -Node: Single Character Fields215909 -Node: Command Line Field Separator216968 -Node: Full Line Fields220180 -Ref: Full Line Fields-Footnote-1220688 -Node: Field Splitting Summary220734 -Ref: Field Splitting Summary-Footnote-1223865 -Node: Constant Size223966 -Node: Splitting By Content228572 -Ref: Splitting By Content-Footnote-1232645 -Node: Multiple Line232685 -Ref: Multiple Line-Footnote-1238574 -Node: Getline238753 -Node: Plain Getline240964 -Node: Getline/Variable243604 -Node: Getline/File244751 -Node: Getline/Variable/File246135 -Ref: Getline/Variable/File-Footnote-1247736 -Node: Getline/Pipe247823 -Node: Getline/Variable/Pipe250506 -Node: Getline/Coprocess251637 -Node: Getline/Variable/Coprocess252889 -Node: Getline Notes253628 -Node: Getline Summary256420 -Ref: table-getline-variants256832 -Node: Read Timeout257661 -Ref: Read Timeout-Footnote-1261475 -Node: Command-line directories261533 -Node: Input Summary262437 -Node: Input Exercises265689 -Node: Printing266417 -Node: Print268194 -Node: Print Examples269651 -Node: Output Separators272430 -Node: OFMT274448 -Node: Printf275802 -Node: Basic Printf276587 -Node: Control Letters278158 -Node: Format Modifiers282142 -Node: Printf Examples288149 -Node: Redirection290631 -Node: Special FD297470 -Ref: Special FD-Footnote-1300627 -Node: Special Files300701 -Node: Other Inherited Files301317 -Node: Special Network302317 -Node: Special Caveats303178 -Node: Close Files And Pipes304129 -Ref: Close Files And Pipes-Footnote-1311308 -Ref: Close Files And Pipes-Footnote-2311456 -Node: Output Summary311606 -Node: Output Exercises312602 -Node: Expressions313282 -Node: Values314467 -Node: Constants315143 -Node: Scalar Constants315823 -Ref: Scalar Constants-Footnote-1316682 -Node: Nondecimal-numbers316932 -Node: Regexp Constants319932 -Node: Using Constant Regexps320457 -Node: Variables323595 -Node: Using Variables324250 -Node: Assignment Options326160 -Node: Conversion328035 -Node: Strings And Numbers328559 -Ref: Strings And Numbers-Footnote-1331623 -Node: Locale influences conversions331732 -Ref: table-locale-affects334447 -Node: All Operators335035 -Node: Arithmetic Ops335665 -Node: Concatenation338170 -Ref: Concatenation-Footnote-1340989 -Node: Assignment Ops341095 -Ref: table-assign-ops346078 -Node: Increment Ops347356 -Node: Truth Values and Conditions350794 -Node: Truth Values351877 -Node: Typing and Comparison352926 -Node: Variable Typing353719 -Node: Comparison Operators357371 -Ref: table-relational-ops357781 -Node: POSIX String Comparison361296 -Ref: POSIX String Comparison-Footnote-1362368 -Node: Boolean Ops362506 -Ref: Boolean Ops-Footnote-1366985 -Node: Conditional Exp367076 -Node: Function Calls368803 -Node: Precedence372683 -Node: Locales376351 -Node: Expressions Summary377982 -Node: Patterns and Actions380556 -Node: Pattern Overview381676 -Node: Regexp Patterns383355 -Node: Expression Patterns383898 -Node: Ranges387678 -Node: BEGIN/END390784 -Node: Using BEGIN/END391546 -Ref: Using BEGIN/END-Footnote-1394283 -Node: I/O And BEGIN/END394389 -Node: BEGINFILE/ENDFILE396703 -Node: Empty399604 -Node: Using Shell Variables399921 -Node: Action Overview402197 -Node: Statements404524 -Node: If Statement406372 -Node: While Statement407870 -Node: Do Statement409898 -Node: For Statement411040 -Node: Switch Statement414195 -Node: Break Statement416583 -Node: Continue Statement418624 -Node: Next Statement420449 -Node: Nextfile Statement422829 -Node: Exit Statement425459 -Node: Built-in Variables427862 -Node: User-modified428995 -Ref: User-modified-Footnote-1436675 -Node: Auto-set436737 -Ref: Auto-set-Footnote-1449931 -Ref: Auto-set-Footnote-2450136 -Node: ARGC and ARGV450192 -Node: Pattern Action Summary454396 -Node: Arrays456823 -Node: Array Basics458152 -Node: Array Intro458996 -Ref: figure-array-elements460969 -Ref: Array Intro-Footnote-1463493 -Node: Reference to Elements463621 -Node: Assigning Elements466071 -Node: Array Example466562 -Node: Scanning an Array468320 -Node: Controlling Scanning471336 -Ref: Controlling Scanning-Footnote-1476525 -Node: Numeric Array Subscripts476841 -Node: Uninitialized Subscripts479026 -Node: Delete480643 -Ref: Delete-Footnote-1483387 -Node: Multidimensional483444 -Node: Multiscanning486539 -Node: Arrays of Arrays488128 -Node: Arrays Summary492889 -Node: Functions494994 -Node: Built-in495867 -Node: Calling Built-in496945 -Node: Numeric Functions498933 -Ref: Numeric Functions-Footnote-1503757 -Ref: Numeric Functions-Footnote-2504114 -Ref: Numeric Functions-Footnote-3504162 -Node: String Functions504431 -Ref: String Functions-Footnote-1527895 -Ref: String Functions-Footnote-2528024 -Ref: String Functions-Footnote-3528272 -Node: Gory Details528359 -Ref: table-sub-escapes530140 -Ref: table-sub-proposed531660 -Ref: table-posix-sub533024 -Ref: table-gensub-escapes534564 -Ref: Gory Details-Footnote-1535396 -Node: I/O Functions535547 -Ref: I/O Functions-Footnote-1542648 -Node: Time Functions542795 -Ref: Time Functions-Footnote-1553264 -Ref: Time Functions-Footnote-2553332 -Ref: Time Functions-Footnote-3553490 -Ref: Time Functions-Footnote-4553601 -Ref: Time Functions-Footnote-5553713 -Ref: Time Functions-Footnote-6553940 -Node: Bitwise Functions554206 -Ref: table-bitwise-ops554768 -Ref: Bitwise Functions-Footnote-1559076 -Node: Type Functions559245 -Node: I18N Functions560394 -Node: User-defined562039 -Node: Definition Syntax562843 -Ref: Definition Syntax-Footnote-1568249 -Node: Function Example568318 -Ref: Function Example-Footnote-1571235 -Node: Function Caveats571257 -Node: Calling A Function571775 -Node: Variable Scope572730 -Node: Pass By Value/Reference575718 -Node: Return Statement579228 -Node: Dynamic Typing582212 -Node: Indirect Calls583141 -Ref: Indirect Calls-Footnote-1594445 -Node: Functions Summary594573 -Node: Library Functions597272 -Ref: Library Functions-Footnote-1600890 -Ref: Library Functions-Footnote-2601033 -Node: Library Names601204 -Ref: Library Names-Footnote-1604664 -Ref: Library Names-Footnote-2604884 -Node: General Functions604970 -Node: Strtonum Function606073 -Node: Assert Function609093 -Node: Round Function612417 -Node: Cliff Random Function613958 -Node: Ordinal Functions614974 -Ref: Ordinal Functions-Footnote-1618039 -Ref: Ordinal Functions-Footnote-2618291 -Node: Join Function618502 -Ref: Join Function-Footnote-1620273 -Node: Getlocaltime Function620473 -Node: Readfile Function624214 -Node: Shell Quoting626184 -Node: Data File Management627585 -Node: Filetrans Function628217 -Node: Rewind Function632276 -Node: File Checking633661 -Ref: File Checking-Footnote-1634989 -Node: Empty Files635190 -Node: Ignoring Assigns637169 -Node: Getopt Function638720 -Ref: Getopt Function-Footnote-1650180 -Node: Passwd Functions650383 -Ref: Passwd Functions-Footnote-1659234 -Node: Group Functions659322 -Ref: Group Functions-Footnote-1667225 -Node: Walking Arrays667438 -Node: Library Functions Summary669041 -Node: Library Exercises670442 -Node: Sample Programs671722 -Node: Running Examples672492 -Node: Clones673220 -Node: Cut Program674444 -Node: Egrep Program684174 -Ref: Egrep Program-Footnote-1691678 -Node: Id Program691788 -Node: Split Program695432 -Ref: Split Program-Footnote-1698878 -Node: Tee Program699006 -Node: Uniq Program701793 -Node: Wc Program709214 -Ref: Wc Program-Footnote-1713462 -Node: Miscellaneous Programs713554 -Node: Dupword Program714767 -Node: Alarm Program716798 -Node: Translate Program721602 -Ref: Translate Program-Footnote-1726166 -Node: Labels Program726436 -Ref: Labels Program-Footnote-1729785 -Node: Word Sorting729869 -Node: History Sorting733939 -Node: Extract Program735775 -Node: Simple Sed743307 -Node: Igawk Program746369 -Ref: Igawk Program-Footnote-1760695 -Ref: Igawk Program-Footnote-2760896 -Ref: Igawk Program-Footnote-3761018 -Node: Anagram Program761133 -Node: Signature Program764195 -Node: Programs Summary765442 -Node: Programs Exercises766635 -Ref: Programs Exercises-Footnote-1770766 -Node: Advanced Features770857 -Node: Nondecimal Data772805 -Node: Array Sorting774395 -Node: Controlling Array Traversal775092 -Ref: Controlling Array Traversal-Footnote-1783423 -Node: Array Sorting Functions783541 -Ref: Array Sorting Functions-Footnote-1787433 -Node: Two-way I/O787627 -Ref: Two-way I/O-Footnote-1792571 -Ref: Two-way I/O-Footnote-2792757 -Node: TCP/IP Networking792839 -Node: Profiling795716 -Node: Advanced Features Summary803269 -Node: Internationalization805202 -Node: I18N and L10N806682 -Node: Explaining gettext807368 -Ref: Explaining gettext-Footnote-1812397 -Ref: Explaining gettext-Footnote-2812581 -Node: Programmer i18n812746 -Ref: Programmer i18n-Footnote-1817612 -Node: Translator i18n817661 -Node: String Extraction818455 -Ref: String Extraction-Footnote-1819586 -Node: Printf Ordering819672 -Ref: Printf Ordering-Footnote-1822458 -Node: I18N Portability822522 -Ref: I18N Portability-Footnote-1824971 -Node: I18N Example825034 -Ref: I18N Example-Footnote-1827834 -Node: Gawk I18N827906 -Node: I18N Summary828544 -Node: Debugger829883 -Node: Debugging830905 -Node: Debugging Concepts831346 -Node: Debugging Terms833203 -Node: Awk Debugging835778 -Node: Sample Debugging Session836670 -Node: Debugger Invocation837190 -Node: Finding The Bug838574 -Node: List of Debugger Commands845049 -Node: Breakpoint Control846381 -Node: Debugger Execution Control850073 -Node: Viewing And Changing Data853437 -Node: Execution Stack856802 -Node: Debugger Info858440 -Node: Miscellaneous Debugger Commands862457 -Node: Readline Support867649 -Node: Limitations868541 -Node: Debugging Summary870638 -Node: Arbitrary Precision Arithmetic871806 -Node: Computer Arithmetic873222 -Ref: table-numeric-ranges876823 -Ref: Computer Arithmetic-Footnote-1877682 -Node: Math Definitions877739 -Ref: table-ieee-formats881026 -Ref: Math Definitions-Footnote-1881630 -Node: MPFR features881735 -Node: FP Math Caution883404 -Ref: FP Math Caution-Footnote-1884454 -Node: Inexactness of computations884823 -Node: Inexact representation885771 -Node: Comparing FP Values887126 -Node: Errors accumulate888199 -Node: Getting Accuracy889632 -Node: Try To Round892291 -Node: Setting precision893190 -Ref: table-predefined-precision-strings893874 -Node: Setting the rounding mode895668 -Ref: table-gawk-rounding-modes896032 -Ref: Setting the rounding mode-Footnote-1899486 -Node: Arbitrary Precision Integers899665 -Ref: Arbitrary Precision Integers-Footnote-1904569 -Node: POSIX Floating Point Problems904718 -Ref: POSIX Floating Point Problems-Footnote-1908594 -Node: Floating point summary908632 -Node: Dynamic Extensions910824 -Node: Extension Intro912376 -Node: Plugin License913642 -Node: Extension Mechanism Outline914439 -Ref: figure-load-extension914867 -Ref: figure-register-new-function916347 -Ref: figure-call-new-function917351 -Node: Extension API Description919337 -Node: Extension API Functions Introduction920787 -Node: General Data Types925623 -Ref: General Data Types-Footnote-1931310 -Node: Memory Allocation Functions931609 -Ref: Memory Allocation Functions-Footnote-1934439 -Node: Constructor Functions934535 -Node: Registration Functions936269 -Node: Extension Functions936954 -Node: Exit Callback Functions939250 -Node: Extension Version String940498 -Node: Input Parsers941148 -Node: Output Wrappers950963 -Node: Two-way processors955479 -Node: Printing Messages957683 -Ref: Printing Messages-Footnote-1958760 -Node: Updating `ERRNO'958912 -Node: Requesting Values959652 -Ref: table-value-types-returned960380 -Node: Accessing Parameters961338 -Node: Symbol Table Access962569 -Node: Symbol table by name963083 -Node: Symbol table by cookie965063 -Ref: Symbol table by cookie-Footnote-1969202 -Node: Cached values969265 -Ref: Cached values-Footnote-1972769 -Node: Array Manipulation972860 -Ref: Array Manipulation-Footnote-1973958 -Node: Array Data Types973997 -Ref: Array Data Types-Footnote-1976654 -Node: Array Functions976746 -Node: Flattening Arrays980600 -Node: Creating Arrays987487 -Node: Extension API Variables992254 -Node: Extension Versioning992890 -Node: Extension API Informational Variables994791 -Node: Extension API Boilerplate995879 -Node: Finding Extensions999695 -Node: Extension Example1000255 -Node: Internal File Description1001027 -Node: Internal File Ops1005094 -Ref: Internal File Ops-Footnote-11016752 -Node: Using Internal File Ops1016892 -Ref: Using Internal File Ops-Footnote-11019275 -Node: Extension Samples1019548 -Node: Extension Sample File Functions1021072 -Node: Extension Sample Fnmatch1028674 -Node: Extension Sample Fork1030156 -Node: Extension Sample Inplace1031369 -Node: Extension Sample Ord1033044 -Node: Extension Sample Readdir1033880 -Ref: table-readdir-file-types1034736 -Node: Extension Sample Revout1035547 -Node: Extension Sample Rev2way1036138 -Node: Extension Sample Read write array1036879 -Node: Extension Sample Readfile1038818 -Node: Extension Sample Time1039913 -Node: Extension Sample API Tests1041262 -Node: gawkextlib1041753 -Node: Extension summary1044403 -Node: Extension Exercises1048085 -Node: Language History1048807 -Node: V7/SVR3.11050464 -Node: SVR41052645 -Node: POSIX1054090 -Node: BTL1055479 -Node: POSIX/GNU1056213 -Node: Feature History1061842 -Node: Common Extensions1074933 -Node: Ranges and Locales1076257 -Ref: Ranges and Locales-Footnote-11080896 -Ref: Ranges and Locales-Footnote-21080923 -Ref: Ranges and Locales-Footnote-31081157 -Node: Contributors1081378 -Node: History summary1086918 -Node: Installation1088287 -Node: Gawk Distribution1089243 -Node: Getting1089727 -Node: Extracting1090551 -Node: Distribution contents1092193 -Node: Unix Installation1097963 -Node: Quick Installation1098580 -Node: Additional Configuration Options1101011 -Node: Configuration Philosophy1102751 -Node: Non-Unix Installation1105102 -Node: PC Installation1105560 -Node: PC Binary Installation1106886 -Node: PC Compiling1108734 -Ref: PC Compiling-Footnote-11111755 -Node: PC Testing1111860 -Node: PC Using1113036 -Node: Cygwin1117151 -Node: MSYS1117974 -Node: VMS Installation1118472 -Node: VMS Compilation1119264 -Ref: VMS Compilation-Footnote-11120486 -Node: VMS Dynamic Extensions1120544 -Node: VMS Installation Details1122228 -Node: VMS Running1124480 -Node: VMS GNV1127321 -Node: VMS Old Gawk1128050 -Node: Bugs1128520 -Node: Other Versions1132490 -Node: Installation summary1138703 -Node: Notes1139759 -Node: Compatibility Mode1140624 -Node: Additions1141406 -Node: Accessing The Source1142331 -Node: Adding Code1143767 -Node: New Ports1149939 -Node: Derived Files1154420 -Ref: Derived Files-Footnote-11159895 -Ref: Derived Files-Footnote-21159929 -Ref: Derived Files-Footnote-31160525 -Node: Future Extensions1160639 -Node: Implementation Limitations1161245 -Node: Extension Design1162493 -Node: Old Extension Problems1163647 -Ref: Old Extension Problems-Footnote-11165164 -Node: Extension New Mechanism Goals1165221 -Ref: Extension New Mechanism Goals-Footnote-11168581 -Node: Extension Other Design Decisions1168770 -Node: Extension Future Growth1170878 -Node: Old Extension Mechanism1171714 -Node: Notes summary1173476 -Node: Basic Concepts1174662 -Node: Basic High Level1175343 -Ref: figure-general-flow1175615 -Ref: figure-process-flow1176214 -Ref: Basic High Level-Footnote-11179443 -Node: Basic Data Typing1179628 -Node: Glossary1182956 -Node: Copying1208114 -Node: GNU Free Documentation License1245670 -Node: Index1270806 +Ref: Preface-Footnote-149320 +Ref: Preface-Footnote-249427 +Ref: Preface-Footnote-349660 +Node: History49802 +Node: Names52150 +Ref: Names-Footnote-153244 +Node: This Manual53390 +Ref: This Manual-Footnote-159219 +Node: Conventions59319 +Node: Manual History61659 +Ref: Manual History-Footnote-164650 +Ref: Manual History-Footnote-264691 +Node: How To Contribute64765 +Node: Acknowledgments66004 +Node: Getting Started70812 +Node: Running gawk73246 +Node: One-shot74436 +Node: Read Terminal75661 +Node: Long77688 +Node: Executable Scripts79204 +Ref: Executable Scripts-Footnote-181993 +Node: Comments82095 +Node: Quoting84568 +Node: DOS Quoting90078 +Node: Sample Data Files90753 +Node: Very Simple93346 +Node: Two Rules98237 +Node: More Complex100123 +Node: Statements/Lines102985 +Ref: Statements/Lines-Footnote-1107441 +Node: Other Features107706 +Node: When108637 +Ref: When-Footnote-1110393 +Node: Intro Summary110458 +Node: Invoking Gawk111341 +Node: Command Line112856 +Node: Options113647 +Ref: Options-Footnote-1129413 +Node: Other Arguments129438 +Node: Naming Standard Input132399 +Node: Environment Variables133492 +Node: AWKPATH Variable134050 +Ref: AWKPATH Variable-Footnote-1136902 +Ref: AWKPATH Variable-Footnote-2136947 +Node: AWKLIBPATH Variable137207 +Node: Other Environment Variables137966 +Node: Exit Status141439 +Node: Include Files142114 +Node: Loading Shared Libraries145692 +Node: Obsolete147119 +Node: Undocumented147816 +Node: Invoking Summary148083 +Node: Regexp149749 +Node: Regexp Usage151208 +Node: Escape Sequences153241 +Node: Regexp Operators159341 +Ref: Regexp Operators-Footnote-1166775 +Ref: Regexp Operators-Footnote-2166922 +Node: Bracket Expressions167020 +Ref: table-char-classes169037 +Node: Leftmost Longest171977 +Node: Computed Regexps173279 +Node: GNU Regexp Operators176676 +Node: Case-sensitivity180382 +Ref: Case-sensitivity-Footnote-1183272 +Ref: Case-sensitivity-Footnote-2183507 +Node: Regexp Summary183615 +Node: Reading Files185084 +Node: Records187178 +Node: awk split records187910 +Node: gawk split records192824 +Ref: gawk split records-Footnote-1197363 +Node: Fields197400 +Ref: Fields-Footnote-1200198 +Node: Nonconstant Fields200284 +Ref: Nonconstant Fields-Footnote-1202514 +Node: Changing Fields202716 +Node: Field Separators208648 +Node: Default Field Splitting211352 +Node: Regexp Field Splitting212469 +Node: Single Character Fields215819 +Node: Command Line Field Separator216878 +Node: Full Line Fields220090 +Ref: Full Line Fields-Footnote-1220598 +Node: Field Splitting Summary220644 +Ref: Field Splitting Summary-Footnote-1223775 +Node: Constant Size223876 +Node: Splitting By Content228482 +Ref: Splitting By Content-Footnote-1232555 +Node: Multiple Line232595 +Ref: Multiple Line-Footnote-1238484 +Node: Getline238663 +Node: Plain Getline240874 +Node: Getline/Variable243514 +Node: Getline/File244661 +Node: Getline/Variable/File246045 +Ref: Getline/Variable/File-Footnote-1247646 +Node: Getline/Pipe247733 +Node: Getline/Variable/Pipe250416 +Node: Getline/Coprocess251547 +Node: Getline/Variable/Coprocess252799 +Node: Getline Notes253538 +Node: Getline Summary256330 +Ref: table-getline-variants256742 +Node: Read Timeout257571 +Ref: Read Timeout-Footnote-1261385 +Node: Command-line directories261443 +Node: Input Summary262347 +Node: Input Exercises265599 +Node: Printing266327 +Node: Print268104 +Node: Print Examples269561 +Node: Output Separators272340 +Node: OFMT274358 +Node: Printf275712 +Node: Basic Printf276497 +Node: Control Letters278068 +Node: Format Modifiers282052 +Node: Printf Examples288059 +Node: Redirection290541 +Node: Special FD297380 +Ref: Special FD-Footnote-1300537 +Node: Special Files300611 +Node: Other Inherited Files301227 +Node: Special Network302227 +Node: Special Caveats303088 +Node: Close Files And Pipes304039 +Ref: Close Files And Pipes-Footnote-1311218 +Ref: Close Files And Pipes-Footnote-2311366 +Node: Output Summary311516 +Node: Output Exercises312512 +Node: Expressions313192 +Node: Values314377 +Node: Constants315053 +Node: Scalar Constants315733 +Ref: Scalar Constants-Footnote-1316592 +Node: Nondecimal-numbers316842 +Node: Regexp Constants319842 +Node: Using Constant Regexps320367 +Node: Variables323505 +Node: Using Variables324160 +Node: Assignment Options326070 +Node: Conversion327945 +Node: Strings And Numbers328469 +Ref: Strings And Numbers-Footnote-1331533 +Node: Locale influences conversions331642 +Ref: table-locale-affects334357 +Node: All Operators334945 +Node: Arithmetic Ops335575 +Node: Concatenation338080 +Ref: Concatenation-Footnote-1340899 +Node: Assignment Ops341005 +Ref: table-assign-ops345988 +Node: Increment Ops347266 +Node: Truth Values and Conditions350704 +Node: Truth Values351787 +Node: Typing and Comparison352836 +Node: Variable Typing353629 +Node: Comparison Operators357281 +Ref: table-relational-ops357691 +Node: POSIX String Comparison361206 +Ref: POSIX String Comparison-Footnote-1362278 +Node: Boolean Ops362416 +Ref: Boolean Ops-Footnote-1366895 +Node: Conditional Exp366986 +Node: Function Calls368713 +Node: Precedence372593 +Node: Locales376261 +Node: Expressions Summary377892 +Node: Patterns and Actions380466 +Node: Pattern Overview381586 +Node: Regexp Patterns383265 +Node: Expression Patterns383808 +Node: Ranges387588 +Node: BEGIN/END390694 +Node: Using BEGIN/END391456 +Ref: Using BEGIN/END-Footnote-1394193 +Node: I/O And BEGIN/END394299 +Node: BEGINFILE/ENDFILE396613 +Node: Empty399514 +Node: Using Shell Variables399831 +Node: Action Overview402107 +Node: Statements404434 +Node: If Statement406282 +Node: While Statement407780 +Node: Do Statement409808 +Node: For Statement410950 +Node: Switch Statement414105 +Node: Break Statement416493 +Node: Continue Statement418534 +Node: Next Statement420359 +Node: Nextfile Statement422739 +Node: Exit Statement425369 +Node: Built-in Variables427772 +Node: User-modified428905 +Ref: User-modified-Footnote-1436585 +Node: Auto-set436647 +Ref: Auto-set-Footnote-1449841 +Ref: Auto-set-Footnote-2450046 +Node: ARGC and ARGV450102 +Node: Pattern Action Summary454306 +Node: Arrays456733 +Node: Array Basics458062 +Node: Array Intro458906 +Ref: figure-array-elements460879 +Ref: Array Intro-Footnote-1463403 +Node: Reference to Elements463531 +Node: Assigning Elements465981 +Node: Array Example466472 +Node: Scanning an Array468230 +Node: Controlling Scanning471246 +Ref: Controlling Scanning-Footnote-1476435 +Node: Numeric Array Subscripts476751 +Node: Uninitialized Subscripts478936 +Node: Delete480553 +Ref: Delete-Footnote-1483297 +Node: Multidimensional483354 +Node: Multiscanning486449 +Node: Arrays of Arrays488038 +Node: Arrays Summary492799 +Node: Functions494904 +Node: Built-in495777 +Node: Calling Built-in496855 +Node: Numeric Functions498843 +Ref: Numeric Functions-Footnote-1503667 +Ref: Numeric Functions-Footnote-2504024 +Ref: Numeric Functions-Footnote-3504072 +Node: String Functions504341 +Ref: String Functions-Footnote-1527805 +Ref: String Functions-Footnote-2527934 +Ref: String Functions-Footnote-3528182 +Node: Gory Details528269 +Ref: table-sub-escapes530050 +Ref: table-sub-proposed531570 +Ref: table-posix-sub532934 +Ref: table-gensub-escapes534474 +Ref: Gory Details-Footnote-1535306 +Node: I/O Functions535457 +Ref: I/O Functions-Footnote-1542558 +Node: Time Functions542705 +Ref: Time Functions-Footnote-1553174 +Ref: Time Functions-Footnote-2553242 +Ref: Time Functions-Footnote-3553400 +Ref: Time Functions-Footnote-4553511 +Ref: Time Functions-Footnote-5553623 +Ref: Time Functions-Footnote-6553850 +Node: Bitwise Functions554116 +Ref: table-bitwise-ops554678 +Ref: Bitwise Functions-Footnote-1558986 +Node: Type Functions559155 +Node: I18N Functions560304 +Node: User-defined561949 +Node: Definition Syntax562753 +Ref: Definition Syntax-Footnote-1568159 +Node: Function Example568228 +Ref: Function Example-Footnote-1571145 +Node: Function Caveats571167 +Node: Calling A Function571685 +Node: Variable Scope572640 +Node: Pass By Value/Reference575628 +Node: Return Statement579138 +Node: Dynamic Typing582122 +Node: Indirect Calls583051 +Ref: Indirect Calls-Footnote-1594355 +Node: Functions Summary594483 +Node: Library Functions597182 +Ref: Library Functions-Footnote-1600800 +Ref: Library Functions-Footnote-2600943 +Node: Library Names601114 +Ref: Library Names-Footnote-1604574 +Ref: Library Names-Footnote-2604794 +Node: General Functions604880 +Node: Strtonum Function605983 +Node: Assert Function609003 +Node: Round Function612327 +Node: Cliff Random Function613868 +Node: Ordinal Functions614884 +Ref: Ordinal Functions-Footnote-1617949 +Ref: Ordinal Functions-Footnote-2618201 +Node: Join Function618412 +Ref: Join Function-Footnote-1620183 +Node: Getlocaltime Function620383 +Node: Readfile Function624124 +Node: Shell Quoting626094 +Node: Data File Management627495 +Node: Filetrans Function628127 +Node: Rewind Function632186 +Node: File Checking633571 +Ref: File Checking-Footnote-1634899 +Node: Empty Files635100 +Node: Ignoring Assigns637079 +Node: Getopt Function638630 +Ref: Getopt Function-Footnote-1650090 +Node: Passwd Functions650293 +Ref: Passwd Functions-Footnote-1659144 +Node: Group Functions659232 +Ref: Group Functions-Footnote-1667135 +Node: Walking Arrays667348 +Node: Library Functions Summary668951 +Node: Library Exercises670352 +Node: Sample Programs671632 +Node: Running Examples672402 +Node: Clones673130 +Node: Cut Program674354 +Node: Egrep Program684084 +Ref: Egrep Program-Footnote-1691588 +Node: Id Program691698 +Node: Split Program695342 +Ref: Split Program-Footnote-1698788 +Node: Tee Program698916 +Node: Uniq Program701703 +Node: Wc Program709124 +Ref: Wc Program-Footnote-1713372 +Node: Miscellaneous Programs713464 +Node: Dupword Program714677 +Node: Alarm Program716708 +Node: Translate Program721512 +Ref: Translate Program-Footnote-1726076 +Node: Labels Program726346 +Ref: Labels Program-Footnote-1729695 +Node: Word Sorting729779 +Node: History Sorting733849 +Node: Extract Program735685 +Node: Simple Sed743217 +Node: Igawk Program746279 +Ref: Igawk Program-Footnote-1760605 +Ref: Igawk Program-Footnote-2760806 +Ref: Igawk Program-Footnote-3760928 +Node: Anagram Program761043 +Node: Signature Program764105 +Node: Programs Summary765352 +Node: Programs Exercises766545 +Ref: Programs Exercises-Footnote-1770676 +Node: Advanced Features770767 +Node: Nondecimal Data772715 +Node: Array Sorting774305 +Node: Controlling Array Traversal775002 +Ref: Controlling Array Traversal-Footnote-1783333 +Node: Array Sorting Functions783451 +Ref: Array Sorting Functions-Footnote-1787343 +Node: Two-way I/O787537 +Ref: Two-way I/O-Footnote-1792481 +Ref: Two-way I/O-Footnote-2792667 +Node: TCP/IP Networking792749 +Node: Profiling795626 +Node: Advanced Features Summary803179 +Node: Internationalization805112 +Node: I18N and L10N806592 +Node: Explaining gettext807278 +Ref: Explaining gettext-Footnote-1812307 +Ref: Explaining gettext-Footnote-2812491 +Node: Programmer i18n812656 +Ref: Programmer i18n-Footnote-1817522 +Node: Translator i18n817571 +Node: String Extraction818365 +Ref: String Extraction-Footnote-1819496 +Node: Printf Ordering819582 +Ref: Printf Ordering-Footnote-1822368 +Node: I18N Portability822432 +Ref: I18N Portability-Footnote-1824881 +Node: I18N Example824944 +Ref: I18N Example-Footnote-1827744 +Node: Gawk I18N827816 +Node: I18N Summary828454 +Node: Debugger829793 +Node: Debugging830815 +Node: Debugging Concepts831256 +Node: Debugging Terms833113 +Node: Awk Debugging835688 +Node: Sample Debugging Session836580 +Node: Debugger Invocation837100 +Node: Finding The Bug838484 +Node: List of Debugger Commands844959 +Node: Breakpoint Control846291 +Node: Debugger Execution Control849983 +Node: Viewing And Changing Data853347 +Node: Execution Stack856712 +Node: Debugger Info858350 +Node: Miscellaneous Debugger Commands862367 +Node: Readline Support867559 +Node: Limitations868451 +Node: Debugging Summary870548 +Node: Arbitrary Precision Arithmetic871716 +Node: Computer Arithmetic873132 +Ref: table-numeric-ranges876733 +Ref: Computer Arithmetic-Footnote-1877592 +Node: Math Definitions877649 +Ref: table-ieee-formats880936 +Ref: Math Definitions-Footnote-1881540 +Node: MPFR features881645 +Node: FP Math Caution883316 +Ref: FP Math Caution-Footnote-1884366 +Node: Inexactness of computations884735 +Node: Inexact representation885683 +Node: Comparing FP Values887038 +Node: Errors accumulate888111 +Node: Getting Accuracy889544 +Node: Try To Round892203 +Node: Setting precision893102 +Ref: table-predefined-precision-strings893786 +Node: Setting the rounding mode895580 +Ref: table-gawk-rounding-modes895944 +Ref: Setting the rounding mode-Footnote-1899398 +Node: Arbitrary Precision Integers899577 +Ref: Arbitrary Precision Integers-Footnote-1904481 +Node: POSIX Floating Point Problems904630 +Ref: POSIX Floating Point Problems-Footnote-1908506 +Node: Floating point summary908544 +Node: Dynamic Extensions910736 +Node: Extension Intro912288 +Node: Plugin License913554 +Node: Extension Mechanism Outline914351 +Ref: figure-load-extension914779 +Ref: figure-register-new-function916259 +Ref: figure-call-new-function917263 +Node: Extension API Description919249 +Node: Extension API Functions Introduction920699 +Node: General Data Types925535 +Ref: General Data Types-Footnote-1931222 +Node: Memory Allocation Functions931521 +Ref: Memory Allocation Functions-Footnote-1934351 +Node: Constructor Functions934447 +Node: Registration Functions936181 +Node: Extension Functions936866 +Node: Exit Callback Functions939162 +Node: Extension Version String940410 +Node: Input Parsers941060 +Node: Output Wrappers950875 +Node: Two-way processors955391 +Node: Printing Messages957595 +Ref: Printing Messages-Footnote-1958672 +Node: Updating `ERRNO'958824 +Node: Requesting Values959564 +Ref: table-value-types-returned960292 +Node: Accessing Parameters961250 +Node: Symbol Table Access962481 +Node: Symbol table by name962995 +Node: Symbol table by cookie964975 +Ref: Symbol table by cookie-Footnote-1969114 +Node: Cached values969177 +Ref: Cached values-Footnote-1972681 +Node: Array Manipulation972772 +Ref: Array Manipulation-Footnote-1973870 +Node: Array Data Types973909 +Ref: Array Data Types-Footnote-1976566 +Node: Array Functions976658 +Node: Flattening Arrays980512 +Node: Creating Arrays987399 +Node: Extension API Variables992166 +Node: Extension Versioning992802 +Node: Extension API Informational Variables994703 +Node: Extension API Boilerplate995791 +Node: Finding Extensions999607 +Node: Extension Example1000167 +Node: Internal File Description1000939 +Node: Internal File Ops1005006 +Ref: Internal File Ops-Footnote-11016664 +Node: Using Internal File Ops1016804 +Ref: Using Internal File Ops-Footnote-11019187 +Node: Extension Samples1019460 +Node: Extension Sample File Functions1020984 +Node: Extension Sample Fnmatch1028586 +Node: Extension Sample Fork1030068 +Node: Extension Sample Inplace1031281 +Node: Extension Sample Ord1032956 +Node: Extension Sample Readdir1033792 +Ref: table-readdir-file-types1034648 +Node: Extension Sample Revout1035459 +Node: Extension Sample Rev2way1036050 +Node: Extension Sample Read write array1036791 +Node: Extension Sample Readfile1038730 +Node: Extension Sample Time1039825 +Node: Extension Sample API Tests1041174 +Node: gawkextlib1041665 +Node: Extension summary1044315 +Node: Extension Exercises1047997 +Node: Language History1048719 +Node: V7/SVR3.11050376 +Node: SVR41052557 +Node: POSIX1054002 +Node: BTL1055391 +Node: POSIX/GNU1056125 +Node: Feature History1061754 +Node: Common Extensions1074845 +Node: Ranges and Locales1076169 +Ref: Ranges and Locales-Footnote-11080808 +Ref: Ranges and Locales-Footnote-21080835 +Ref: Ranges and Locales-Footnote-31081069 +Node: Contributors1081290 +Node: History summary1086830 +Node: Installation1088199 +Node: Gawk Distribution1089155 +Node: Getting1089639 +Node: Extracting1090463 +Node: Distribution contents1092105 +Node: Unix Installation1097875 +Node: Quick Installation1098492 +Node: Additional Configuration Options1100923 +Node: Configuration Philosophy1102663 +Node: Non-Unix Installation1105014 +Node: PC Installation1105472 +Node: PC Binary Installation1106798 +Node: PC Compiling1108646 +Ref: PC Compiling-Footnote-11111667 +Node: PC Testing1111772 +Node: PC Using1112948 +Node: Cygwin1117063 +Node: MSYS1117886 +Node: VMS Installation1118384 +Node: VMS Compilation1119176 +Ref: VMS Compilation-Footnote-11120398 +Node: VMS Dynamic Extensions1120456 +Node: VMS Installation Details1122140 +Node: VMS Running1124392 +Node: VMS GNV1127233 +Node: VMS Old Gawk1127962 +Node: Bugs1128432 +Node: Other Versions1132402 +Node: Installation summary1138615 +Node: Notes1139671 +Node: Compatibility Mode1140536 +Node: Additions1141318 +Node: Accessing The Source1142243 +Node: Adding Code1143679 +Node: New Ports1149851 +Node: Derived Files1154333 +Ref: Derived Files-Footnote-11159808 +Ref: Derived Files-Footnote-21159842 +Ref: Derived Files-Footnote-31160438 +Node: Future Extensions1160552 +Node: Implementation Limitations1161158 +Node: Extension Design1162406 +Node: Old Extension Problems1163560 +Ref: Old Extension Problems-Footnote-11165077 +Node: Extension New Mechanism Goals1165134 +Ref: Extension New Mechanism Goals-Footnote-11168494 +Node: Extension Other Design Decisions1168683 +Node: Extension Future Growth1170791 +Node: Old Extension Mechanism1171627 +Node: Notes summary1173389 +Node: Basic Concepts1174575 +Node: Basic High Level1175256 +Ref: figure-general-flow1175528 +Ref: figure-process-flow1176127 +Ref: Basic High Level-Footnote-11179356 +Node: Basic Data Typing1179541 +Node: Glossary1182869 +Node: Copying1208027 +Node: GNU Free Documentation License1245583 +Node: Index1270719 End Tag Table |