diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2015-01-21 08:49:49 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2015-01-21 08:49:49 +0200 |
commit | 902fcb22d611b7f9e99369ecab223c00c877b82c (patch) | |
tree | 5846d6638beb88a7f5d0ee6f69fd62c3ccafb953 /doc/gawk.info | |
parent | 4c01db1833a02173c910d463eaed77ad6ed66195 (diff) | |
parent | 8e0e08c84626633e1d4b7b431576d4ec7d8f10c4 (diff) | |
download | egawk-902fcb22d611b7f9e99369ecab223c00c877b82c.tar.gz egawk-902fcb22d611b7f9e99369ecab223c00c877b82c.tar.bz2 egawk-902fcb22d611b7f9e99369ecab223c00c877b82c.zip |
Merge branch 'gawk-4.1-stable'
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1159 |
1 files changed, 580 insertions, 579 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index fe51de53..cf827935 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -2278,9 +2278,10 @@ built-in functions for working with timestamps, performing bit manipulation, for runtime string translation (internationalization), determining the type of a variable, and array sorting. - As we develop our presentation of the `awk' language, we introduce -most of the variables and many of the functions. They are described -systematically in *note Built-in Variables::, and in *note Built-in::. + As we develop our presentation of the `awk' language, we will +introduce most of the variables and many of the functions. They are +described systematically in *note Built-in Variables::, and in *note +Built-in::. File: gawk.info, Node: When, Next: Intro Summary, Prev: Other Features, Up: Getting Started @@ -2345,7 +2346,7 @@ File: gawk.info, Node: Intro Summary, Prev: When, Up: Getting Started * You may use backslash continuation to continue a source line. Lines are automatically continued after a comma, open brace, - question mark, colon, `||', `&&', `do' and `else'. + question mark, colon, `||', `&&', `do', and `else'. File: gawk.info, Node: Invoking Gawk, Next: Regexp, Prev: Getting Started, Up: Top @@ -2412,8 +2413,8 @@ File: gawk.info, Node: Options, Next: Other Arguments, Prev: Command Line, U Options begin with a dash and consist of a single character. GNU-style long options consist of two dashes and a keyword. The keyword can be abbreviated, as long as the abbreviation allows the option to be -uniquely identified. If the option takes an argument, then the keyword -is either immediately followed by an equals sign (`=') and the +uniquely identified. If the option takes an argument, either the +keyword is immediately followed by an equals sign (`=') and the argument's value, or the keyword and the argument's value are separated by whitespace. If a particular option with a value is given more than once, it is the last value that counts. @@ -2428,10 +2429,10 @@ The following list describes options mandated by the POSIX standard: `-f SOURCE-FILE' `--file SOURCE-FILE' - Read `awk' program source from SOURCE-FILE instead of in the first - nonoption argument. This option may be given multiple times; the - `awk' program consists of the concatenation of the contents of - each specified SOURCE-FILE. + Read the `awk' program source from SOURCE-FILE instead of in the + first nonoption argument. This option may be given multiple + times; the `awk' program consists of the concatenation of the + contents of each specified SOURCE-FILE. `-v VAR=VAL' `--assign VAR=VAL' @@ -2472,7 +2473,7 @@ The following list describes options mandated by the POSIX standard: `-b' `--characters-as-bytes' Cause `gawk' to treat all input data as single-byte characters. - In addition, all output written with `print' or `printf' are + In addition, all output written with `print' or `printf' is treated as single-byte characters. Normally, `gawk' follows the POSIX standard and attempts to process @@ -2480,7 +2481,7 @@ The following list describes options mandated by the POSIX standard: This can often involve converting multibyte characters into wide characters (internally), and can lead to problems or confusion if the input data does not contain valid multibyte characters. This - option is an easy way to tell `gawk': "hands off my data!". + option is an easy way to tell `gawk', "Hands off my data!" `-c' `--traditional' @@ -2515,7 +2516,7 @@ The following list describes options mandated by the POSIX standard: default, the debugger reads commands interactively from the keyboard (standard input). The optional FILE argument allows you to specify a file with a list of commands for the debugger to - execute non-interactively. No space is allowed between the `-D' + execute noninteractively. No space is allowed between the `-D' and FILE, if FILE is supplied. `-e' PROGRAM-TEXT @@ -2550,23 +2551,23 @@ The following list describes options mandated by the POSIX standard: `-g' `--gen-pot' - Analyze the source program and generate a GNU `gettext' Portable - Object Template file on standard output for all string constants + Analyze the source program and generate a GNU `gettext' portable + object template file on standard output for all string constants that have been marked for translation. *Note Internationalization::, for information about this option. `-h' `--help' - Print a "usage" message summarizing the short and long style + Print a "usage" message summarizing the short- and long-style options that `gawk' accepts and then exit. `-i' SOURCE-FILE `--include' SOURCE-FILE Read an `awk' source library from SOURCE-FILE. This option is completely equivalent to using the `@include' directive inside - your program. This option is very similar to the `-f' option, but - there are two important differences. First, when `-i' is used, - the program source is not loaded if it has been previously loaded, + your program. It is very similar to the `-f' option, but there + are two important differences. First, when `-i' is used, the + program source is not loaded if it has been previously loaded, whereas with `-f', `gawk' always loads the file. Second, because this option is intended to be used with code libraries, `gawk' does not recognize such files as constituting main program input. @@ -2628,7 +2629,7 @@ The following list describes options mandated by the POSIX standard: `-o'[FILE] `--pretty-print'[`='FILE] - Enable pretty-printing of `awk' programs. By default, output + Enable pretty-printing of `awk' programs. By default, the output program is created in a file named `awkprof.out' (*note Profiling::). The optional FILE argument allows you to specify a different file name for the output. No space is allowed between @@ -2734,7 +2735,7 @@ input as a source of data.) Because it is clumsy using the standard `awk' mechanisms to mix source file and command-line `awk' programs, `gawk' provides the `-e' -option. This does not require you to pre-empt the standard input for +option. This does not require you to preempt the standard input for your source code; it allows you to easily mix command-line and library source code (*note AWKPATH Variable::). As with `-f', the `-e' and `-i' options may also be used multiple times on the command line. @@ -2893,7 +2894,7 @@ implementations, you must supply a precise pathname for each program file, unless the file is in the current directory. But with `gawk', if the file name supplied to the `-f' or `-i' options does not contain a directory separator `/', then `gawk' searches a list of directories -(called the "search path"), one by one, looking for a file with the +(called the "search path") one by one, looking for a file with the specified name. The search path is a string consisting of directory names separated by @@ -2926,9 +2927,9 @@ or by placing two colons next to each other [`::'].) Different past versions of `gawk' would also look explicitly in the current directory, either before or after the path search. As - of version 4.1.2, this no longer happens, and if you wish to look - in the current directory, you must include `.' either as a separate - entry, or as a null entry in the search path. + of version 4.1.2, this no longer happens; if you wish to look in + the current directory, you must include `.' either as a separate + entry or as a null entry in the search path. The default value for `AWKPATH' is `.:/usr/local/share/awk'.(2) Since `.' is included at the beginning, `gawk' searches first in the @@ -3040,7 +3041,7 @@ change. The variables are: If this variable exists, `gawk' includes the file name and line number within the `gawk' source code from which warning and/or fatal messages are generated. Its purpose is to help isolate the - source of a message, as there are multiple places which produce the + source of a message, as there are multiple places that produce the same warning or error message. `GAWK_NO_DFA' @@ -3056,16 +3057,16 @@ change. The variables are: evaluation stack, when needed. `INT_CHAIN_MAX' - The intended maximum number of items `gawk' will maintain on a - hash chain for managing arrays indexed by integers. + This specifies intended maximum number of items `gawk' will + maintain on a hash chain for managing arrays indexed by integers. `STR_CHAIN_MAX' - The intended maximum number of items `gawk' will maintain on a - hash chain for managing arrays indexed by strings. + This specifies intended maximum number of items `gawk' will + maintain on a hash chain for managing arrays indexed by strings. `TIDYMEM' If this variable exists, `gawk' uses the `mtrace()' library calls - from GNU LIBC to help track down possible memory leaks. + from the GNU C library to help track down possible memory leaks. File: gawk.info, Node: Exit Status, Next: Include Files, Prev: Environment Variables, Up: Invoking Gawk @@ -3097,11 +3098,11 @@ This minor node describes a feature that is specific to `gawk'. files. This gives you the ability to split large `awk' source files into smaller, more manageable pieces, and also lets you reuse common `awk' code from various `awk' scripts. In other words, you can group -together `awk' functions, used to carry out specific tasks, into -external files. These files can be used just like function libraries, -using the `@include' keyword in conjunction with the `AWKPATH' -environment variable. Note that source files may also be included -using the `-i' option. +together `awk' functions used to carry out specific tasks into external +files. These files can be used just like function libraries, using the +`@include' keyword in conjunction with the `AWKPATH' environment +variable. Note that source files may also be included using the `-i' +option. Let's see an example. We'll start with two (trivial) `awk' scripts, namely `test1' and `test2'. Here is the `test1' script: @@ -3163,11 +3164,11 @@ Variable::) apply to `@include' also. This is very helpful in constructing `gawk' function libraries. If you have a large script with useful, general-purpose `awk' functions, you can break it down into library files and put those files in a -special directory. You can then include those "libraries," using -either the full pathnames of the files, or by setting the `AWKPATH' +special directory. You can then include those "libraries," either by +using the full pathnames of the files, or by setting the `AWKPATH' environment variable accordingly and then using `@include' with just -the file part of the full pathname. Of course, you can have more than -one directory to keep library files; the more complex the working +the file part of the full pathname. Of course, you can keep library +files in more than one directory; the more complex the working environment is, the more directories you may need to organize the files to be included. @@ -3179,8 +3180,8 @@ particular, `@include' is very useful for writing CGI scripts to be run from web pages. As mentioned in *note AWKPATH Variable::, the current directory is -always searched first for source files, before searching in `AWKPATH', -and this also applies to files named with `@include'. +always searched first for source files, before searching in `AWKPATH'; +this also applies to files named with `@include'. File: gawk.info, Node: Loading Shared Libraries, Next: Obsolete, Prev: Include Files, Up: Invoking Gawk @@ -3225,8 +3226,8 @@ File: gawk.info, Node: Obsolete, Next: Undocumented, Prev: Loading Shared Lib ==================================== This minor node describes features and/or command-line options from -previous releases of `gawk' that are either not available in the -current version or that are still supported but deprecated (meaning that +previous releases of `gawk' that either are not available in the +current version or are still supported but deprecated (meaning that they will _not_ be in the next release). The process-related special files `/dev/pid', `/dev/ppid', @@ -3254,7 +3255,7 @@ File: gawk.info, Node: Invoking Summary, Prev: Undocumented, Up: Invoking Gaw run `awk'. * The three standard options for all versions of `awk' are `-f', - `-F' and `-v'. `gawk' supplies these and many others, as well as + `-F', and `-v'. `gawk' supplies these and many others, as well as corresponding GNU-style long options. * Nonoption command-line arguments are usually treated as file names, @@ -3284,7 +3285,7 @@ File: gawk.info, Node: Invoking Summary, Prev: Undocumented, Up: Invoking Gaw * `gawk' allows you to load additional functions written in C or C++ using the `@load' statement and/or the `-l' option. (This - advanced feature is described later on in *note Dynamic + advanced feature is described later, in *note Dynamic Extensions::.) @@ -3433,7 +3434,7 @@ sequences apply to both string constants and regexp constants: Horizontal TAB, `Ctrl-i', ASCII code 9 (HT). `\v' - Vertical tab, `Ctrl-k', ASCII code 11 (VT). + Vertical TAB, `Ctrl-k', ASCII code 11 (VT). `\NNN' The octal value NNN, where NNN stands for 1 to 3 digits between @@ -3483,7 +3484,7 @@ normally be a regexp operator. For example, `/a\+b/' matches the three characters `a+b'. For complete portability, do not use a backslash before any -character not shown in the previous list and that is not an operator. +character not shown in the previous list or that is not an operator. Backslash Before Regular Characters @@ -3545,7 +3546,7 @@ and converted into corresponding real characters as the very first step in processing regexps. Here is a list of metacharacters. All characters that are not escape -sequences and that are not listed in the following stand for themselves: +sequences and that are not listed here stand for themselves: `\' This suppresses the special meaning of a character when matching. @@ -3628,7 +3629,7 @@ sequences and that are not listed in the following stand for themselves: There are two subtle points to understand about how `*' works. First, the `*' applies only to the single preceding regular expression component (e.g., in `ph*', it applies just to the `h'). - To cause `*' to apply to a larger sub-expression, use parentheses: + To cause `*' to apply to a larger subexpression, use parentheses: `(ph)*' matches `ph', `phph', `phphph', and so on. Second, `*' finds as many repetitions as possible. If the text to @@ -3659,10 +3660,10 @@ sequences and that are not listed in the following stand for themselves: Matches `whhhy', but not `why' or `whhhhy'. `wh{3,5}y' - Matches `whhhy', `whhhhy', or `whhhhhy', only. + Matches `whhhy', `whhhhy', or `whhhhhy' only. `wh{2,}y' - Matches `whhy' or `whhhy', and so on. + Matches `whhy', `whhhy', and so on. Interval expressions were not traditionally available in `awk'. They were added as part of the POSIX standard to make `awk' and @@ -3764,7 +3765,7 @@ Class Meaning `[:print:]' Printable characters (characters that are not control characters) `[:punct:]' Punctuation characters (characters that are not letters, - digits control characters, or space characters) + digits, control characters, or space characters) `[:space:]' Space characters (such as space, TAB, and formfeed, to name a few) `[:upper:]' Uppercase alphabetic characters @@ -20609,8 +20610,8 @@ File: gawk.info, Node: Gawk I18N, Next: I18N Summary, Prev: I18N Example, Up `gawk' itself has been internationalized using the GNU `gettext' package. (GNU `gettext' is described in complete detail in *note (GNU `gettext' utilities)Top:: gettext, GNU gettext tools.) As of this -writing, the latest version of GNU `gettext' is version 0.19.3 -(ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.3.tar.gz). +writing, the latest version of GNU `gettext' is version 0.19.4 +(ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.4.tar.gz). If a translation of `gawk''s messages exists, then `gawk' produces usage messages, warnings, and fatal errors in the local language. @@ -21967,7 +21968,7 @@ so: $ gawk --version -| GNU Awk 4.1.2, API: 1.1 (GNU MPFR 3.1.0-p3, GNU MP 5.0.2) - -| Copyright (C) 1989, 1991-2014 Free Software Foundation. + -| Copyright (C) 1989, 1991-2015 Free Software Foundation. ... (You may see different version numbers than what's shown here. That's @@ -28416,7 +28417,7 @@ Unix `awk' git clone git://github.com/onetrueawk/awk bwkawk - This command creates a copy of the Git (http://www.git-scm.com) + This command creates a copy of the Git (http://git-scm.com) repository in a directory named `bwkawk'. If you leave that argument off the `git' command line, the repository copy is created in a directory named `awk'. @@ -28648,7 +28649,7 @@ released versions of `gawk'. changes, you will probably wish to work with the development version. To do so, you will need to access the `gawk' source code repository. The code is maintained using the Git distributed version control system -(http://git-scm.com/). You will need to install it if your system +(http://git-scm.com). You will need to install it if your system doesn't have it. Once you have done so, use the command: git clone git://git.savannah.gnu.org/gawk.git @@ -34486,526 +34487,526 @@ Node: More Complex102518 Node: Statements/Lines105380 Ref: Statements/Lines-Footnote-1109835 Node: Other Features110100 -Node: When111031 -Ref: When-Footnote-1112785 -Node: Intro Summary112850 -Node: Invoking Gawk113733 -Node: Command Line115247 -Node: Options116045 -Ref: Options-Footnote-1131849 -Ref: Options-Footnote-2132078 -Node: Other Arguments132103 -Node: Naming Standard Input135051 -Node: Environment Variables136144 -Node: AWKPATH Variable136702 -Ref: AWKPATH Variable-Footnote-1140115 -Ref: AWKPATH Variable-Footnote-2140160 -Node: AWKLIBPATH Variable140420 -Node: Other Environment Variables141676 -Node: Exit Status145164 -Node: Include Files145840 -Node: Loading Shared Libraries149437 -Node: Obsolete150864 -Node: Undocumented151561 -Node: Invoking Summary151828 -Node: Regexp153492 -Node: Regexp Usage154946 -Node: Escape Sequences156983 -Node: Regexp Operators163224 -Ref: Regexp Operators-Footnote-1170650 -Ref: Regexp Operators-Footnote-2170797 -Node: Bracket Expressions170895 -Ref: table-char-classes172910 -Node: Leftmost Longest175834 -Node: Computed Regexps177136 -Node: GNU Regexp Operators180533 -Node: Case-sensitivity184206 -Ref: Case-sensitivity-Footnote-1187091 -Ref: Case-sensitivity-Footnote-2187326 -Node: Regexp Summary187434 -Node: Reading Files188901 -Node: Records190995 -Node: awk split records191728 -Node: gawk split records196643 -Ref: gawk split records-Footnote-1201187 -Node: Fields201224 -Ref: Fields-Footnote-1204000 -Node: Nonconstant Fields204086 -Ref: Nonconstant Fields-Footnote-1206329 -Node: Changing Fields206533 -Node: Field Separators212462 -Node: Default Field Splitting215167 -Node: Regexp Field Splitting216284 -Node: Single Character Fields219634 -Node: Command Line Field Separator220693 -Node: Full Line Fields223905 -Ref: Full Line Fields-Footnote-1225422 -Ref: Full Line Fields-Footnote-2225468 -Node: Field Splitting Summary225569 -Node: Constant Size227643 -Node: Splitting By Content232232 -Ref: Splitting By Content-Footnote-1236226 -Node: Multiple Line236389 -Ref: Multiple Line-Footnote-1242275 -Node: Getline242454 -Node: Plain Getline244666 -Node: Getline/Variable247306 -Node: Getline/File248454 -Node: Getline/Variable/File249838 -Ref: Getline/Variable/File-Footnote-1251441 -Node: Getline/Pipe251528 -Node: Getline/Variable/Pipe254211 -Node: Getline/Coprocess255342 -Node: Getline/Variable/Coprocess256594 -Node: Getline Notes257333 -Node: Getline Summary260125 -Ref: table-getline-variants260537 -Node: Read Timeout261366 -Ref: Read Timeout-Footnote-1265190 -Node: Command-line directories265248 -Node: Input Summary266153 -Node: Input Exercises269454 -Node: Printing270182 -Node: Print271959 -Node: Print Examples273416 -Node: Output Separators276195 -Node: OFMT278213 -Node: Printf279567 -Node: Basic Printf280352 -Node: Control Letters281922 -Node: Format Modifiers285905 -Node: Printf Examples291914 -Node: Redirection294400 -Node: Special FD301241 -Ref: Special FD-Footnote-1304401 -Node: Special Files304475 -Node: Other Inherited Files305092 -Node: Special Network306092 -Node: Special Caveats306954 -Node: Close Files And Pipes307905 -Ref: Close Files And Pipes-Footnote-1315087 -Ref: Close Files And Pipes-Footnote-2315235 -Node: Output Summary315385 -Node: Output Exercises316383 -Node: Expressions317063 -Node: Values318248 -Node: Constants318926 -Node: Scalar Constants319617 -Ref: Scalar Constants-Footnote-1320476 -Node: Nondecimal-numbers320726 -Node: Regexp Constants323744 -Node: Using Constant Regexps324269 -Node: Variables327412 -Node: Using Variables328067 -Node: Assignment Options329978 -Node: Conversion331853 -Node: Strings And Numbers332377 -Ref: Strings And Numbers-Footnote-1335442 -Node: Locale influences conversions335551 -Ref: table-locale-affects338298 -Node: All Operators338886 -Node: Arithmetic Ops339516 -Node: Concatenation342021 -Ref: Concatenation-Footnote-1344840 -Node: Assignment Ops344946 -Ref: table-assign-ops349925 -Node: Increment Ops351197 -Node: Truth Values and Conditions354635 -Node: Truth Values355720 -Node: Typing and Comparison356769 -Node: Variable Typing357579 -Node: Comparison Operators361232 -Ref: table-relational-ops361642 -Node: POSIX String Comparison365137 -Ref: POSIX String Comparison-Footnote-1366209 -Node: Boolean Ops366347 -Ref: Boolean Ops-Footnote-1370826 -Node: Conditional Exp370917 -Node: Function Calls372644 -Node: Precedence376524 -Node: Locales380185 -Node: Expressions Summary381817 -Node: Patterns and Actions384377 -Node: Pattern Overview385497 -Node: Regexp Patterns387176 -Node: Expression Patterns387719 -Node: Ranges391429 -Node: BEGIN/END394535 -Node: Using BEGIN/END395296 -Ref: Using BEGIN/END-Footnote-1398030 -Node: I/O And BEGIN/END398136 -Node: BEGINFILE/ENDFILE400450 -Node: Empty403351 -Node: Using Shell Variables403668 -Node: Action Overview405941 -Node: Statements408267 -Node: If Statement410115 -Node: While Statement411610 -Node: Do Statement413639 -Node: For Statement414783 -Node: Switch Statement417940 -Node: Break Statement420322 -Node: Continue Statement422363 -Node: Next Statement424190 -Node: Nextfile Statement426571 -Node: Exit Statement429201 -Node: Built-in Variables431604 -Node: User-modified432737 -Ref: User-modified-Footnote-1440418 -Node: Auto-set440480 -Ref: Auto-set-Footnote-1454172 -Ref: Auto-set-Footnote-2454377 -Node: ARGC and ARGV454433 -Node: Pattern Action Summary458651 -Node: Arrays461078 -Node: Array Basics462407 -Node: Array Intro463251 -Ref: figure-array-elements465215 -Ref: Array Intro-Footnote-1467741 -Node: Reference to Elements467869 -Node: Assigning Elements470321 -Node: Array Example470812 -Node: Scanning an Array472570 -Node: Controlling Scanning475586 -Ref: Controlling Scanning-Footnote-1480782 -Node: Numeric Array Subscripts481098 -Node: Uninitialized Subscripts483283 -Node: Delete484900 -Ref: Delete-Footnote-1487643 -Node: Multidimensional487700 -Node: Multiscanning490797 -Node: Arrays of Arrays492386 -Node: Arrays Summary497145 -Node: Functions499237 -Node: Built-in500136 -Node: Calling Built-in501214 -Node: Numeric Functions503205 -Ref: Numeric Functions-Footnote-1508024 -Ref: Numeric Functions-Footnote-2508381 -Ref: Numeric Functions-Footnote-3508429 -Node: String Functions508701 -Ref: String Functions-Footnote-1532176 -Ref: String Functions-Footnote-2532305 -Ref: String Functions-Footnote-3532553 -Node: Gory Details532640 -Ref: table-sub-escapes534421 -Ref: table-sub-proposed535941 -Ref: table-posix-sub537305 -Ref: table-gensub-escapes538841 -Ref: Gory Details-Footnote-1539673 -Node: I/O Functions539824 -Ref: I/O Functions-Footnote-1547042 -Node: Time Functions547189 -Ref: Time Functions-Footnote-1557677 -Ref: Time Functions-Footnote-2557745 -Ref: Time Functions-Footnote-3557903 -Ref: Time Functions-Footnote-4558014 -Ref: Time Functions-Footnote-5558126 -Ref: Time Functions-Footnote-6558353 -Node: Bitwise Functions558619 -Ref: table-bitwise-ops559181 -Ref: Bitwise Functions-Footnote-1563490 -Node: Type Functions563659 -Node: I18N Functions564810 -Node: User-defined566455 -Node: Definition Syntax567260 -Ref: Definition Syntax-Footnote-1572667 -Node: Function Example572738 -Ref: Function Example-Footnote-1575657 -Node: Function Caveats575679 -Node: Calling A Function576197 -Node: Variable Scope577155 -Node: Pass By Value/Reference580143 -Node: Return Statement583638 -Node: Dynamic Typing586619 -Node: Indirect Calls587548 -Ref: Indirect Calls-Footnote-1598850 -Node: Functions Summary598978 -Node: Library Functions601680 -Ref: Library Functions-Footnote-1605289 -Ref: Library Functions-Footnote-2605432 -Node: Library Names605603 -Ref: Library Names-Footnote-1609057 -Ref: Library Names-Footnote-2609280 -Node: General Functions609366 -Node: Strtonum Function610469 -Node: Assert Function613491 -Node: Round Function616815 -Node: Cliff Random Function618356 -Node: Ordinal Functions619372 -Ref: Ordinal Functions-Footnote-1622435 -Ref: Ordinal Functions-Footnote-2622687 -Node: Join Function622898 -Ref: Join Function-Footnote-1624667 -Node: Getlocaltime Function624867 -Node: Readfile Function628611 -Node: Shell Quoting630581 -Node: Data File Management631982 -Node: Filetrans Function632614 -Node: Rewind Function636670 -Node: File Checking638057 -Ref: File Checking-Footnote-1639389 -Node: Empty Files639590 -Node: Ignoring Assigns641569 -Node: Getopt Function643120 -Ref: Getopt Function-Footnote-1654582 -Node: Passwd Functions654782 -Ref: Passwd Functions-Footnote-1663619 -Node: Group Functions663707 -Ref: Group Functions-Footnote-1671601 -Node: Walking Arrays671814 -Node: Library Functions Summary673417 -Node: Library Exercises674818 -Node: Sample Programs676098 -Node: Running Examples676868 -Node: Clones677596 -Node: Cut Program678820 -Node: Egrep Program688539 -Ref: Egrep Program-Footnote-1696037 -Node: Id Program696147 -Node: Split Program699792 -Ref: Split Program-Footnote-1703240 -Node: Tee Program703368 -Node: Uniq Program706157 -Node: Wc Program713576 -Ref: Wc Program-Footnote-1717826 -Node: Miscellaneous Programs717920 -Node: Dupword Program719133 -Node: Alarm Program721164 -Node: Translate Program725968 -Ref: Translate Program-Footnote-1730533 -Node: Labels Program730803 -Ref: Labels Program-Footnote-1734154 -Node: Word Sorting734238 -Node: History Sorting738309 -Node: Extract Program740145 -Node: Simple Sed747670 -Node: Igawk Program750738 -Ref: Igawk Program-Footnote-1765062 -Ref: Igawk Program-Footnote-2765263 -Ref: Igawk Program-Footnote-3765385 -Node: Anagram Program765500 -Node: Signature Program768557 -Node: Programs Summary769804 -Node: Programs Exercises770997 -Ref: Programs Exercises-Footnote-1775128 -Node: Advanced Features775219 -Node: Nondecimal Data777167 -Node: Array Sorting778757 -Node: Controlling Array Traversal779454 -Ref: Controlling Array Traversal-Footnote-1787787 -Node: Array Sorting Functions787905 -Ref: Array Sorting Functions-Footnote-1791794 -Node: Two-way I/O791990 -Ref: Two-way I/O-Footnote-1796935 -Ref: Two-way I/O-Footnote-2797121 -Node: TCP/IP Networking797203 -Node: Profiling800076 -Node: Advanced Features Summary808353 -Node: Internationalization810286 -Node: I18N and L10N811766 -Node: Explaining gettext812452 -Ref: Explaining gettext-Footnote-1817477 -Ref: Explaining gettext-Footnote-2817661 -Node: Programmer i18n817826 -Ref: Programmer i18n-Footnote-1822692 -Node: Translator i18n822741 -Node: String Extraction823535 -Ref: String Extraction-Footnote-1824666 -Node: Printf Ordering824752 -Ref: Printf Ordering-Footnote-1827538 -Node: I18N Portability827602 -Ref: I18N Portability-Footnote-1830057 -Node: I18N Example830120 -Ref: I18N Example-Footnote-1832923 -Node: Gawk I18N832995 -Node: I18N Summary833633 -Node: Debugger834972 -Node: Debugging835994 -Node: Debugging Concepts836435 -Node: Debugging Terms838288 -Node: Awk Debugging840860 -Node: Sample Debugging Session841754 -Node: Debugger Invocation842274 -Node: Finding The Bug843658 -Node: List of Debugger Commands850133 -Node: Breakpoint Control851466 -Node: Debugger Execution Control855162 -Node: Viewing And Changing Data858526 -Node: Execution Stack861904 -Node: Debugger Info863541 -Node: Miscellaneous Debugger Commands867558 -Node: Readline Support872587 -Node: Limitations873479 -Node: Debugging Summary875593 -Node: Arbitrary Precision Arithmetic876761 -Node: Computer Arithmetic878177 -Ref: table-numeric-ranges881775 -Ref: Computer Arithmetic-Footnote-1882634 -Node: Math Definitions882691 -Ref: table-ieee-formats885979 -Ref: Math Definitions-Footnote-1886583 -Node: MPFR features886688 -Node: FP Math Caution888359 -Ref: FP Math Caution-Footnote-1889409 -Node: Inexactness of computations889778 -Node: Inexact representation890737 -Node: Comparing FP Values892094 -Node: Errors accumulate893176 -Node: Getting Accuracy894609 -Node: Try To Round897271 -Node: Setting precision898170 -Ref: table-predefined-precision-strings898854 -Node: Setting the rounding mode900643 -Ref: table-gawk-rounding-modes901007 -Ref: Setting the rounding mode-Footnote-1904462 -Node: Arbitrary Precision Integers904641 -Ref: Arbitrary Precision Integers-Footnote-1909540 -Node: POSIX Floating Point Problems909689 -Ref: POSIX Floating Point Problems-Footnote-1913562 -Node: Floating point summary913600 -Node: Dynamic Extensions915794 -Node: Extension Intro917346 -Node: Plugin License918612 -Node: Extension Mechanism Outline919409 -Ref: figure-load-extension919837 -Ref: figure-register-new-function921317 -Ref: figure-call-new-function922321 -Node: Extension API Description924307 -Node: Extension API Functions Introduction925757 -Node: General Data Types930581 -Ref: General Data Types-Footnote-1936320 -Node: Memory Allocation Functions936619 -Ref: Memory Allocation Functions-Footnote-1939458 -Node: Constructor Functions939554 -Node: Registration Functions941288 -Node: Extension Functions941973 -Node: Exit Callback Functions944270 -Node: Extension Version String945518 -Node: Input Parsers946183 -Node: Output Wrappers956062 -Node: Two-way processors960577 -Node: Printing Messages962781 -Ref: Printing Messages-Footnote-1963857 -Node: Updating `ERRNO'964009 -Node: Requesting Values964749 -Ref: table-value-types-returned965477 -Node: Accessing Parameters966434 -Node: Symbol Table Access967665 -Node: Symbol table by name968179 -Node: Symbol table by cookie970160 -Ref: Symbol table by cookie-Footnote-1974304 -Node: Cached values974367 -Ref: Cached values-Footnote-1977866 -Node: Array Manipulation977957 -Ref: Array Manipulation-Footnote-1979055 -Node: Array Data Types979092 -Ref: Array Data Types-Footnote-1981747 -Node: Array Functions981839 -Node: Flattening Arrays985693 -Node: Creating Arrays992585 -Node: Extension API Variables997356 -Node: Extension Versioning997992 -Node: Extension API Informational Variables999893 -Node: Extension API Boilerplate1000958 -Node: Finding Extensions1004767 -Node: Extension Example1005327 -Node: Internal File Description1006099 -Node: Internal File Ops1010166 -Ref: Internal File Ops-Footnote-11021836 -Node: Using Internal File Ops1021976 -Ref: Using Internal File Ops-Footnote-11024359 -Node: Extension Samples1024632 -Node: Extension Sample File Functions1026158 -Node: Extension Sample Fnmatch1033796 -Node: Extension Sample Fork1035287 -Node: Extension Sample Inplace1036502 -Node: Extension Sample Ord1038177 -Node: Extension Sample Readdir1039013 -Ref: table-readdir-file-types1039889 -Node: Extension Sample Revout1040700 -Node: Extension Sample Rev2way1041290 -Node: Extension Sample Read write array1042030 -Node: Extension Sample Readfile1043970 -Node: Extension Sample Time1045065 -Node: Extension Sample API Tests1046414 -Node: gawkextlib1046905 -Node: Extension summary1049563 -Node: Extension Exercises1053252 -Node: Language History1053974 -Node: V7/SVR3.11055630 -Node: SVR41057811 -Node: POSIX1059256 -Node: BTL1060645 -Node: POSIX/GNU1061379 -Node: Feature History1067003 -Node: Common Extensions1080101 -Node: Ranges and Locales1081425 -Ref: Ranges and Locales-Footnote-11086043 -Ref: Ranges and Locales-Footnote-21086070 -Ref: Ranges and Locales-Footnote-31086304 -Node: Contributors1086525 -Node: History summary1092066 -Node: Installation1093436 -Node: Gawk Distribution1094382 -Node: Getting1094866 -Node: Extracting1095689 -Node: Distribution contents1097324 -Node: Unix Installation1103389 -Node: Quick Installation1104072 -Node: Shell Startup Files1106483 -Node: Additional Configuration Options1107562 -Node: Configuration Philosophy1109301 -Node: Non-Unix Installation1111670 -Node: PC Installation1112128 -Node: PC Binary Installation1113447 -Node: PC Compiling1115295 -Ref: PC Compiling-Footnote-11118316 -Node: PC Testing1118425 -Node: PC Using1119601 -Node: Cygwin1123716 -Node: MSYS1124539 -Node: VMS Installation1125039 -Node: VMS Compilation1125831 -Ref: VMS Compilation-Footnote-11127053 -Node: VMS Dynamic Extensions1127111 -Node: VMS Installation Details1128795 -Node: VMS Running1131047 -Node: VMS GNV1133883 -Node: VMS Old Gawk1134617 -Node: Bugs1135087 -Node: Other Versions1138970 -Node: Installation summary1145398 -Node: Notes1146454 -Node: Compatibility Mode1147319 -Node: Additions1148101 -Node: Accessing The Source1149026 -Node: Adding Code1150462 -Node: New Ports1156627 -Node: Derived Files1161109 -Ref: Derived Files-Footnote-11166584 -Ref: Derived Files-Footnote-21166618 -Ref: Derived Files-Footnote-31167214 -Node: Future Extensions1167328 -Node: Implementation Limitations1167934 -Node: Extension Design1169182 -Node: Old Extension Problems1170336 -Ref: Old Extension Problems-Footnote-11171853 -Node: Extension New Mechanism Goals1171910 -Ref: Extension New Mechanism Goals-Footnote-11175270 -Node: Extension Other Design Decisions1175459 -Node: Extension Future Growth1177567 -Node: Old Extension Mechanism1178403 -Node: Notes summary1180165 -Node: Basic Concepts1181351 -Node: Basic High Level1182032 -Ref: figure-general-flow1182304 -Ref: figure-process-flow1182903 -Ref: Basic High Level-Footnote-11186132 -Node: Basic Data Typing1186317 -Node: Glossary1189645 -Node: Copying1214803 -Node: GNU Free Documentation License1252359 -Node: Index1277495 +Node: When111036 +Ref: When-Footnote-1112790 +Node: Intro Summary112855 +Node: Invoking Gawk113739 +Node: Command Line115253 +Node: Options116051 +Ref: Options-Footnote-1131846 +Ref: Options-Footnote-2132075 +Node: Other Arguments132100 +Node: Naming Standard Input135048 +Node: Environment Variables136141 +Node: AWKPATH Variable136699 +Ref: AWKPATH Variable-Footnote-1140106 +Ref: AWKPATH Variable-Footnote-2140151 +Node: AWKLIBPATH Variable140411 +Node: Other Environment Variables141667 +Node: Exit Status145185 +Node: Include Files145861 +Node: Loading Shared Libraries149450 +Node: Obsolete150877 +Node: Undocumented151569 +Node: Invoking Summary151836 +Node: Regexp153499 +Node: Regexp Usage154953 +Node: Escape Sequences156990 +Node: Regexp Operators163230 +Ref: Regexp Operators-Footnote-1170640 +Ref: Regexp Operators-Footnote-2170787 +Node: Bracket Expressions170885 +Ref: table-char-classes172900 +Node: Leftmost Longest175825 +Node: Computed Regexps177127 +Node: GNU Regexp Operators180524 +Node: Case-sensitivity184197 +Ref: Case-sensitivity-Footnote-1187082 +Ref: Case-sensitivity-Footnote-2187317 +Node: Regexp Summary187425 +Node: Reading Files188892 +Node: Records190986 +Node: awk split records191719 +Node: gawk split records196634 +Ref: gawk split records-Footnote-1201178 +Node: Fields201215 +Ref: Fields-Footnote-1203991 +Node: Nonconstant Fields204077 +Ref: Nonconstant Fields-Footnote-1206320 +Node: Changing Fields206524 +Node: Field Separators212453 +Node: Default Field Splitting215158 +Node: Regexp Field Splitting216275 +Node: Single Character Fields219625 +Node: Command Line Field Separator220684 +Node: Full Line Fields223896 +Ref: Full Line Fields-Footnote-1225413 +Ref: Full Line Fields-Footnote-2225459 +Node: Field Splitting Summary225560 +Node: Constant Size227634 +Node: Splitting By Content232223 +Ref: Splitting By Content-Footnote-1236217 +Node: Multiple Line236380 +Ref: Multiple Line-Footnote-1242266 +Node: Getline242445 +Node: Plain Getline244657 +Node: Getline/Variable247297 +Node: Getline/File248445 +Node: Getline/Variable/File249829 +Ref: Getline/Variable/File-Footnote-1251432 +Node: Getline/Pipe251519 +Node: Getline/Variable/Pipe254202 +Node: Getline/Coprocess255333 +Node: Getline/Variable/Coprocess256585 +Node: Getline Notes257324 +Node: Getline Summary260116 +Ref: table-getline-variants260528 +Node: Read Timeout261357 +Ref: Read Timeout-Footnote-1265181 +Node: Command-line directories265239 +Node: Input Summary266144 +Node: Input Exercises269445 +Node: Printing270173 +Node: Print271950 +Node: Print Examples273407 +Node: Output Separators276186 +Node: OFMT278204 +Node: Printf279558 +Node: Basic Printf280343 +Node: Control Letters281913 +Node: Format Modifiers285896 +Node: Printf Examples291905 +Node: Redirection294391 +Node: Special FD301232 +Ref: Special FD-Footnote-1304392 +Node: Special Files304466 +Node: Other Inherited Files305083 +Node: Special Network306083 +Node: Special Caveats306945 +Node: Close Files And Pipes307896 +Ref: Close Files And Pipes-Footnote-1315078 +Ref: Close Files And Pipes-Footnote-2315226 +Node: Output Summary315376 +Node: Output Exercises316374 +Node: Expressions317054 +Node: Values318239 +Node: Constants318917 +Node: Scalar Constants319608 +Ref: Scalar Constants-Footnote-1320467 +Node: Nondecimal-numbers320717 +Node: Regexp Constants323735 +Node: Using Constant Regexps324260 +Node: Variables327403 +Node: Using Variables328058 +Node: Assignment Options329969 +Node: Conversion331844 +Node: Strings And Numbers332368 +Ref: Strings And Numbers-Footnote-1335433 +Node: Locale influences conversions335542 +Ref: table-locale-affects338289 +Node: All Operators338877 +Node: Arithmetic Ops339507 +Node: Concatenation342012 +Ref: Concatenation-Footnote-1344831 +Node: Assignment Ops344937 +Ref: table-assign-ops349916 +Node: Increment Ops351188 +Node: Truth Values and Conditions354626 +Node: Truth Values355711 +Node: Typing and Comparison356760 +Node: Variable Typing357570 +Node: Comparison Operators361223 +Ref: table-relational-ops361633 +Node: POSIX String Comparison365128 +Ref: POSIX String Comparison-Footnote-1366200 +Node: Boolean Ops366338 +Ref: Boolean Ops-Footnote-1370817 +Node: Conditional Exp370908 +Node: Function Calls372635 +Node: Precedence376515 +Node: Locales380176 +Node: Expressions Summary381808 +Node: Patterns and Actions384368 +Node: Pattern Overview385488 +Node: Regexp Patterns387167 +Node: Expression Patterns387710 +Node: Ranges391420 +Node: BEGIN/END394526 +Node: Using BEGIN/END395287 +Ref: Using BEGIN/END-Footnote-1398021 +Node: I/O And BEGIN/END398127 +Node: BEGINFILE/ENDFILE400441 +Node: Empty403342 +Node: Using Shell Variables403659 +Node: Action Overview405932 +Node: Statements408258 +Node: If Statement410106 +Node: While Statement411601 +Node: Do Statement413630 +Node: For Statement414774 +Node: Switch Statement417931 +Node: Break Statement420313 +Node: Continue Statement422354 +Node: Next Statement424181 +Node: Nextfile Statement426562 +Node: Exit Statement429192 +Node: Built-in Variables431595 +Node: User-modified432728 +Ref: User-modified-Footnote-1440409 +Node: Auto-set440471 +Ref: Auto-set-Footnote-1454163 +Ref: Auto-set-Footnote-2454368 +Node: ARGC and ARGV454424 +Node: Pattern Action Summary458642 +Node: Arrays461069 +Node: Array Basics462398 +Node: Array Intro463242 +Ref: figure-array-elements465206 +Ref: Array Intro-Footnote-1467732 +Node: Reference to Elements467860 +Node: Assigning Elements470312 +Node: Array Example470803 +Node: Scanning an Array472561 +Node: Controlling Scanning475577 +Ref: Controlling Scanning-Footnote-1480773 +Node: Numeric Array Subscripts481089 +Node: Uninitialized Subscripts483274 +Node: Delete484891 +Ref: Delete-Footnote-1487634 +Node: Multidimensional487691 +Node: Multiscanning490788 +Node: Arrays of Arrays492377 +Node: Arrays Summary497136 +Node: Functions499228 +Node: Built-in500127 +Node: Calling Built-in501205 +Node: Numeric Functions503196 +Ref: Numeric Functions-Footnote-1508015 +Ref: Numeric Functions-Footnote-2508372 +Ref: Numeric Functions-Footnote-3508420 +Node: String Functions508692 +Ref: String Functions-Footnote-1532167 +Ref: String Functions-Footnote-2532296 +Ref: String Functions-Footnote-3532544 +Node: Gory Details532631 +Ref: table-sub-escapes534412 +Ref: table-sub-proposed535932 +Ref: table-posix-sub537296 +Ref: table-gensub-escapes538832 +Ref: Gory Details-Footnote-1539664 +Node: I/O Functions539815 +Ref: I/O Functions-Footnote-1547033 +Node: Time Functions547180 +Ref: Time Functions-Footnote-1557668 +Ref: Time Functions-Footnote-2557736 +Ref: Time Functions-Footnote-3557894 +Ref: Time Functions-Footnote-4558005 +Ref: Time Functions-Footnote-5558117 +Ref: Time Functions-Footnote-6558344 +Node: Bitwise Functions558610 +Ref: table-bitwise-ops559172 +Ref: Bitwise Functions-Footnote-1563481 +Node: Type Functions563650 +Node: I18N Functions564801 +Node: User-defined566446 +Node: Definition Syntax567251 +Ref: Definition Syntax-Footnote-1572658 +Node: Function Example572729 +Ref: Function Example-Footnote-1575648 +Node: Function Caveats575670 +Node: Calling A Function576188 +Node: Variable Scope577146 +Node: Pass By Value/Reference580134 +Node: Return Statement583629 +Node: Dynamic Typing586610 +Node: Indirect Calls587539 +Ref: Indirect Calls-Footnote-1598841 +Node: Functions Summary598969 +Node: Library Functions601671 +Ref: Library Functions-Footnote-1605280 +Ref: Library Functions-Footnote-2605423 +Node: Library Names605594 +Ref: Library Names-Footnote-1609048 +Ref: Library Names-Footnote-2609271 +Node: General Functions609357 +Node: Strtonum Function610460 +Node: Assert Function613482 +Node: Round Function616806 +Node: Cliff Random Function618347 +Node: Ordinal Functions619363 +Ref: Ordinal Functions-Footnote-1622426 +Ref: Ordinal Functions-Footnote-2622678 +Node: Join Function622889 +Ref: Join Function-Footnote-1624658 +Node: Getlocaltime Function624858 +Node: Readfile Function628602 +Node: Shell Quoting630572 +Node: Data File Management631973 +Node: Filetrans Function632605 +Node: Rewind Function636661 +Node: File Checking638048 +Ref: File Checking-Footnote-1639380 +Node: Empty Files639581 +Node: Ignoring Assigns641560 +Node: Getopt Function643111 +Ref: Getopt Function-Footnote-1654573 +Node: Passwd Functions654773 +Ref: Passwd Functions-Footnote-1663610 +Node: Group Functions663698 +Ref: Group Functions-Footnote-1671592 +Node: Walking Arrays671805 +Node: Library Functions Summary673408 +Node: Library Exercises674809 +Node: Sample Programs676089 +Node: Running Examples676859 +Node: Clones677587 +Node: Cut Program678811 +Node: Egrep Program688530 +Ref: Egrep Program-Footnote-1696028 +Node: Id Program696138 +Node: Split Program699783 +Ref: Split Program-Footnote-1703231 +Node: Tee Program703359 +Node: Uniq Program706148 +Node: Wc Program713567 +Ref: Wc Program-Footnote-1717817 +Node: Miscellaneous Programs717911 +Node: Dupword Program719124 +Node: Alarm Program721155 +Node: Translate Program725959 +Ref: Translate Program-Footnote-1730524 +Node: Labels Program730794 +Ref: Labels Program-Footnote-1734145 +Node: Word Sorting734229 +Node: History Sorting738300 +Node: Extract Program740136 +Node: Simple Sed747661 +Node: Igawk Program750729 +Ref: Igawk Program-Footnote-1765053 +Ref: Igawk Program-Footnote-2765254 +Ref: Igawk Program-Footnote-3765376 +Node: Anagram Program765491 +Node: Signature Program768548 +Node: Programs Summary769795 +Node: Programs Exercises770988 +Ref: Programs Exercises-Footnote-1775119 +Node: Advanced Features775210 +Node: Nondecimal Data777158 +Node: Array Sorting778748 +Node: Controlling Array Traversal779445 +Ref: Controlling Array Traversal-Footnote-1787778 +Node: Array Sorting Functions787896 +Ref: Array Sorting Functions-Footnote-1791785 +Node: Two-way I/O791981 +Ref: Two-way I/O-Footnote-1796926 +Ref: Two-way I/O-Footnote-2797112 +Node: TCP/IP Networking797194 +Node: Profiling800067 +Node: Advanced Features Summary808344 +Node: Internationalization810277 +Node: I18N and L10N811757 +Node: Explaining gettext812443 +Ref: Explaining gettext-Footnote-1817468 +Ref: Explaining gettext-Footnote-2817652 +Node: Programmer i18n817817 +Ref: Programmer i18n-Footnote-1822683 +Node: Translator i18n822732 +Node: String Extraction823526 +Ref: String Extraction-Footnote-1824657 +Node: Printf Ordering824743 +Ref: Printf Ordering-Footnote-1827529 +Node: I18N Portability827593 +Ref: I18N Portability-Footnote-1830048 +Node: I18N Example830111 +Ref: I18N Example-Footnote-1832914 +Node: Gawk I18N832986 +Node: I18N Summary833624 +Node: Debugger834963 +Node: Debugging835985 +Node: Debugging Concepts836426 +Node: Debugging Terms838279 +Node: Awk Debugging840851 +Node: Sample Debugging Session841745 +Node: Debugger Invocation842265 +Node: Finding The Bug843649 +Node: List of Debugger Commands850124 +Node: Breakpoint Control851457 +Node: Debugger Execution Control855153 +Node: Viewing And Changing Data858517 +Node: Execution Stack861895 +Node: Debugger Info863532 +Node: Miscellaneous Debugger Commands867549 +Node: Readline Support872578 +Node: Limitations873470 +Node: Debugging Summary875584 +Node: Arbitrary Precision Arithmetic876752 +Node: Computer Arithmetic878168 +Ref: table-numeric-ranges881766 +Ref: Computer Arithmetic-Footnote-1882625 +Node: Math Definitions882682 +Ref: table-ieee-formats885970 +Ref: Math Definitions-Footnote-1886574 +Node: MPFR features886679 +Node: FP Math Caution888350 +Ref: FP Math Caution-Footnote-1889400 +Node: Inexactness of computations889769 +Node: Inexact representation890728 +Node: Comparing FP Values892085 +Node: Errors accumulate893167 +Node: Getting Accuracy894600 +Node: Try To Round897262 +Node: Setting precision898161 +Ref: table-predefined-precision-strings898845 +Node: Setting the rounding mode900634 +Ref: table-gawk-rounding-modes900998 +Ref: Setting the rounding mode-Footnote-1904453 +Node: Arbitrary Precision Integers904632 +Ref: Arbitrary Precision Integers-Footnote-1909531 +Node: POSIX Floating Point Problems909680 +Ref: POSIX Floating Point Problems-Footnote-1913553 +Node: Floating point summary913591 +Node: Dynamic Extensions915785 +Node: Extension Intro917337 +Node: Plugin License918603 +Node: Extension Mechanism Outline919400 +Ref: figure-load-extension919828 +Ref: figure-register-new-function921308 +Ref: figure-call-new-function922312 +Node: Extension API Description924298 +Node: Extension API Functions Introduction925748 +Node: General Data Types930572 +Ref: General Data Types-Footnote-1936311 +Node: Memory Allocation Functions936610 +Ref: Memory Allocation Functions-Footnote-1939449 +Node: Constructor Functions939545 +Node: Registration Functions941279 +Node: Extension Functions941964 +Node: Exit Callback Functions944261 +Node: Extension Version String945509 +Node: Input Parsers946174 +Node: Output Wrappers956053 +Node: Two-way processors960568 +Node: Printing Messages962772 +Ref: Printing Messages-Footnote-1963848 +Node: Updating `ERRNO'964000 +Node: Requesting Values964740 +Ref: table-value-types-returned965468 +Node: Accessing Parameters966425 +Node: Symbol Table Access967656 +Node: Symbol table by name968170 +Node: Symbol table by cookie970151 +Ref: Symbol table by cookie-Footnote-1974295 +Node: Cached values974358 +Ref: Cached values-Footnote-1977857 +Node: Array Manipulation977948 +Ref: Array Manipulation-Footnote-1979046 +Node: Array Data Types979083 +Ref: Array Data Types-Footnote-1981738 +Node: Array Functions981830 +Node: Flattening Arrays985684 +Node: Creating Arrays992576 +Node: Extension API Variables997347 +Node: Extension Versioning997983 +Node: Extension API Informational Variables999884 +Node: Extension API Boilerplate1000949 +Node: Finding Extensions1004758 +Node: Extension Example1005318 +Node: Internal File Description1006090 +Node: Internal File Ops1010157 +Ref: Internal File Ops-Footnote-11021827 +Node: Using Internal File Ops1021967 +Ref: Using Internal File Ops-Footnote-11024350 +Node: Extension Samples1024623 +Node: Extension Sample File Functions1026149 +Node: Extension Sample Fnmatch1033787 +Node: Extension Sample Fork1035278 +Node: Extension Sample Inplace1036493 +Node: Extension Sample Ord1038168 +Node: Extension Sample Readdir1039004 +Ref: table-readdir-file-types1039880 +Node: Extension Sample Revout1040691 +Node: Extension Sample Rev2way1041281 +Node: Extension Sample Read write array1042021 +Node: Extension Sample Readfile1043961 +Node: Extension Sample Time1045056 +Node: Extension Sample API Tests1046405 +Node: gawkextlib1046896 +Node: Extension summary1049554 +Node: Extension Exercises1053243 +Node: Language History1053965 +Node: V7/SVR3.11055621 +Node: SVR41057802 +Node: POSIX1059247 +Node: BTL1060636 +Node: POSIX/GNU1061370 +Node: Feature History1066994 +Node: Common Extensions1080092 +Node: Ranges and Locales1081416 +Ref: Ranges and Locales-Footnote-11086034 +Ref: Ranges and Locales-Footnote-21086061 +Ref: Ranges and Locales-Footnote-31086295 +Node: Contributors1086516 +Node: History summary1092057 +Node: Installation1093427 +Node: Gawk Distribution1094373 +Node: Getting1094857 +Node: Extracting1095680 +Node: Distribution contents1097315 +Node: Unix Installation1103380 +Node: Quick Installation1104063 +Node: Shell Startup Files1106474 +Node: Additional Configuration Options1107553 +Node: Configuration Philosophy1109292 +Node: Non-Unix Installation1111661 +Node: PC Installation1112119 +Node: PC Binary Installation1113438 +Node: PC Compiling1115286 +Ref: PC Compiling-Footnote-11118307 +Node: PC Testing1118416 +Node: PC Using1119592 +Node: Cygwin1123707 +Node: MSYS1124530 +Node: VMS Installation1125030 +Node: VMS Compilation1125822 +Ref: VMS Compilation-Footnote-11127044 +Node: VMS Dynamic Extensions1127102 +Node: VMS Installation Details1128786 +Node: VMS Running1131038 +Node: VMS GNV1133874 +Node: VMS Old Gawk1134608 +Node: Bugs1135078 +Node: Other Versions1138961 +Node: Installation summary1145385 +Node: Notes1146441 +Node: Compatibility Mode1147306 +Node: Additions1148088 +Node: Accessing The Source1149013 +Node: Adding Code1150448 +Node: New Ports1156613 +Node: Derived Files1161095 +Ref: Derived Files-Footnote-11166570 +Ref: Derived Files-Footnote-21166604 +Ref: Derived Files-Footnote-31167200 +Node: Future Extensions1167314 +Node: Implementation Limitations1167920 +Node: Extension Design1169168 +Node: Old Extension Problems1170322 +Ref: Old Extension Problems-Footnote-11171839 +Node: Extension New Mechanism Goals1171896 +Ref: Extension New Mechanism Goals-Footnote-11175256 +Node: Extension Other Design Decisions1175445 +Node: Extension Future Growth1177553 +Node: Old Extension Mechanism1178389 +Node: Notes summary1180151 +Node: Basic Concepts1181337 +Node: Basic High Level1182018 +Ref: figure-general-flow1182290 +Ref: figure-process-flow1182889 +Ref: Basic High Level-Footnote-11186118 +Node: Basic Data Typing1186303 +Node: Glossary1189631 +Node: Copying1214789 +Node: GNU Free Documentation License1252345 +Node: Index1277481 End Tag Table |