diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 888 |
1 files changed, 454 insertions, 434 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index bf75a180..18a834f0 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -11043,6 +11043,27 @@ they are not special: after it has finished parsing the program; they are _not_ updated while the program runs. + 'PROCINFO["platform"]' + This element gives a string indicating the platform for which + 'gawk' was compiled. The value will be one of the following: + + '"vms"' + OpenVMS or Vax/VMS. + + '"djgpp"' + '"mingw"' + Microsoft Windows, using either DJGPP or MinGW, + respectively. + + '"os2"' + OS/2. + + '"os390"' + OS/390. + + '"posix"' + GNU/Linux, Cygwin, Mac OS X, and legacy Unix systems. + 'PROCINFO["pgrpid"]' The process group ID of the current process. @@ -11169,15 +11190,14 @@ they are not special: test if an element in 'SYMTAB' is an array. Also, you may not use the 'delete' statement with the 'SYMTAB' array. - You may use an index for 'SYMTAB' that is not a predefined - identifier: + Prior to version 5.0 of 'gawk', you could use an index for 'SYMTAB' + that was not a predefined identifier: SYMTAB["xxx"] = 5 print SYMTAB["xxx"] - This works as expected: in this case 'SYMTAB' acts just like a - regular array. The only difference is that you can't then delete - 'SYMTAB["xxx"]'. + This no longer works, instead producing a fatal error, as it led to + rampant confusion. The 'SYMTAB' array is more interesting than it looks. Andrew Schorr points out that it effectively gives 'awk' data pointers. @@ -20774,7 +20794,8 @@ output. They are as follows: structure of the program and the precedence rules. For example, '(3 + 5) * 4' means add three and five, then multiply the total by four. However, '3 + 5 * 4' has no parentheses, and means '3 + (5 * - 4)'. + 4)'. However, explicit parentheses in the source program are + retained. * Parentheses are used around the arguments to 'print' and 'printf' only when the 'print' or 'printf' statement is followed by a @@ -20796,10 +20817,11 @@ representation. Also, things such as: come out as: /foo/ { - print $0 + print } -which is correct, but possibly unexpected. +which is correct, but possibly unexpected. (If a program uses both +'print $0' and plain 'print', that distinction is retained.) Besides creating profiles when a program has completed, 'gawk' can produce a profile while it is running. This is useful if your 'awk' @@ -20855,7 +20877,10 @@ without any execution counts. profiling, and that created when pretty-printing. Pretty-printed output preserves the original comments that were in the program, although their placement may not correspond exactly to their original locations in the -source code.(1) +source code. However, no comments should be lost. Also, 'gawk' does +the best it can to preserve the distinction between comments at the end +of a statement and comments on lines by themselves. This isn't always +perfect, though. However, as a deliberate design decision, profiling output _omits_ the original program's comments. This allows you to focus on the @@ -20875,14 +20900,6 @@ disable 'gawk''s default optimizations. numeric constants; if you used an octal or hexadecimal value in your source code, it will appear that way in the output. - ---------- Footnotes ---------- - - (1) 'gawk' does the best it can to preserve the distinction between -comments at the end of a statement and comments on lines by themselves. -Due to implementation constraints, it does not always do so correctly, -particularly for 'switch' statements. The 'gawk' maintainers hope to -improve this in a subsequent release. - File: gawk.info, Node: Advanced Features Summary, Prev: Profiling, Up: Advanced Features @@ -28422,6 +28439,11 @@ POSIX 'awk', in the order they were added to 'gawk'. * Support for GNU/Linux on Alpha was removed. + Version 5.0 added the following features: + + * The 'PROCINFO["platform"]' array element, which allows you to write + code that takes the operating system / platform into account. + File: gawk.info, Node: Common Extensions, Next: Ranges and Locales, Prev: Feature History, Up: Language History @@ -29187,10 +29209,6 @@ command line when compiling 'gawk' from scratch, including: possible to keep extensions for different API versions on the same system without their conflicting with one another. -'--with-whiny-user-strftime' - Force use of the included version of the C 'strftime()' function - for deficient systems. - Use the command './configure --help' to see the full list of options supplied by 'configure'. @@ -29356,6 +29374,12 @@ accomplished by using an appropriate '-v BINMODE=N' option on the command line. 'BINMODE' is set at the time a file or pipe is opened and cannot be changed midstream. + On POSIX-compatible systems, this variable's value has no effect. +Thus, if you think your program will run on multiple different systems +and that you may need to use 'BINMODE', you should simply set it (in the +program or on the command line) unconditionally, and not worry about the +operating system on which your program is running. + The name 'BINMODE' was chosen to match 'mawk' (*note Other Versions::). 'mawk' and 'gawk' handle 'BINMODE' similarly; however, 'mawk' adds a '-W BINMODE=N' option and an environment variable that can @@ -33112,8 +33136,6 @@ Index * --traditional option, --posix option and: Options. (line 285) * --use-lc-numeric option: Options. (line 232) * --version option: Options. (line 317) -* --with-whiny-user-strftime configuration option: Additional Configuration Options. - (line 48) * -b option: Options. (line 69) * -c option: Options. (line 82) * -C option: Options. (line 89) @@ -33825,8 +33847,6 @@ Index (line 37) * configuration option, --enable-versioned-extension-dir: Additional Configuration Options. (line 42) -* configuration option, --with-whiny-user-strftime: Additional Configuration Options. - (line 48) * configuration options, gawk: Additional Configuration Options. (line 6) * constant regexps: Regexp Usage. (line 57) @@ -33903,7 +33923,7 @@ Index * dark corner, field separators: Full Line Fields. (line 22) * dark corner, FILENAME variable: Getline Notes. (line 19) * dark corner, FILENAME variable <1>: Auto-set. (line 108) -* dark corner, FNR/NR variables: Auto-set. (line 389) +* dark corner, FNR/NR variables: Auto-set. (line 409) * dark corner, format-control characters: Control Letters. (line 33) * dark corner, format-control characters <1>: Control Letters. (line 108) @@ -34167,7 +34187,7 @@ Index (line 6) * differences in awk and gawk, RS/RT variables: gawk split records. (line 58) -* differences in awk and gawk, RS/RT variables <1>: Auto-set. (line 327) +* differences in awk and gawk, RS/RT variables <1>: Auto-set. (line 348) * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split() function: String Functions. @@ -34176,7 +34196,7 @@ Index * differences in awk and gawk, strings <1>: Scalar Constants. (line 53) * differences in awk and gawk, strings, storing: gawk split records. (line 76) -* differences in awk and gawk, SYMTAB variable: Auto-set. (line 331) +* differences in awk and gawk, SYMTAB variable: Auto-set. (line 352) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. (line 155) * differences in awk and gawk, trunc-mod operation: Arithmetic Ops. @@ -34213,7 +34233,7 @@ Index * dump debugger command: Miscellaneous Debugger Commands. (line 9) * dupword.awk program: Dupword Program. (line 31) -* dynamic profiling: Profiling. (line 177) +* dynamic profiling: Profiling. (line 179) * dynamically loaded extensions: Dynamic Extensions. (line 6) * e debugger command (alias for enable): Breakpoint Control. (line 73) * EBCDIC: Ordinal Functions. (line 45) @@ -34342,7 +34362,7 @@ Index (line 6) * extension API version: Extension Versioning. (line 6) -* extension API, version number: Auto-set. (line 266) +* extension API, version number: Auto-set. (line 287) * extension example: Extension Example. (line 6) * extension registration: Registration Functions. (line 6) @@ -34502,7 +34522,7 @@ Index (line 12) * FNR variable: Records. (line 6) * FNR variable <1>: Auto-set. (line 118) -* FNR variable, changing: Auto-set. (line 389) +* FNR variable, changing: Auto-set. (line 409) * for statement: For Statement. (line 6) * for statement, looping over arrays: Scanning an Array. (line 20) * fork() extension function: Extension Sample Fork. @@ -34605,8 +34625,8 @@ Index * G., Daniel Richard: Acknowledgments. (line 60) * G., Daniel Richard <1>: Maintainers. (line 14) * Garfinkle, Scott: Contributors. (line 35) -* gawk program, dynamic profiling: Profiling. (line 177) -* gawk version: Auto-set. (line 241) +* gawk program, dynamic profiling: Profiling. (line 179) +* gawk version: Auto-set. (line 262) * gawk, ARGIND variable in: Other Arguments. (line 15) * gawk, awk and: Preface. (line 21) * gawk, awk and <1>: This Manual. (line 14) @@ -34682,13 +34702,13 @@ Index * gawk, regular expressions, precedence: Regexp Operators. (line 161) * gawk, RT variable in: awk split records. (line 131) * gawk, RT variable in <1>: Multiple Line. (line 130) -* gawk, RT variable in <2>: Auto-set. (line 327) +* gawk, RT variable in <2>: Auto-set. (line 348) * gawk, See Also awk: Preface. (line 34) * gawk, source code, obtaining: Getting. (line 6) * gawk, splitting fields and: Testing field creation. (line 6) * gawk, string-translation functions: I18N Functions. (line 6) -* gawk, SYMTAB array in: Auto-set. (line 331) +* gawk, SYMTAB array in: Auto-set. (line 352) * gawk, TEXTDOMAIN variable in: User-modified. (line 155) * gawk, timestamps: Time Functions. (line 6) * gawk, uses for: Preface. (line 34) @@ -34812,7 +34832,7 @@ Index * history expansion, in debugger: Readline Support. (line 6) * histsort.awk program: History Sorting. (line 25) * Hughes, Phil: Acknowledgments. (line 43) -* HUP signal, for dynamic profiling: Profiling. (line 209) +* HUP signal, for dynamic profiling: Profiling. (line 211) * hyphen (-), - operator: Precedence. (line 51) * hyphen (-), - operator <1>: Precedence. (line 57) * hyphen (-), -- operator: Increment Ops. (line 48) @@ -34894,7 +34914,7 @@ Index * installing gawk: Installation. (line 6) * instruction tracing, in debugger: Debugger Info. (line 90) * int: Numeric Functions. (line 24) -* INT signal (MS-Windows): Profiling. (line 212) +* INT signal (MS-Windows): Profiling. (line 214) * integer array indices: Numeric Array Subscripts. (line 31) * integers, arbitrary precision: Arbitrary Precision Integers. @@ -34950,7 +34970,7 @@ Index * Kernighan, Brian <8>: Other Versions. (line 13) * Kernighan, Brian <9>: Basic Data Typing. (line 54) * Kernighan, Brian <10>: Glossary. (line 204) -* kill command, dynamic profiling: Profiling. (line 186) +* kill command, dynamic profiling: Profiling. (line 188) * Knights, jedi: Undocumented. (line 6) * Kwok, Conrad: Contributors. (line 35) * l debugger command (alias for list): Miscellaneous Debugger Commands. @@ -35088,7 +35108,7 @@ Index * mawk utility <2>: Concatenation. (line 36) * mawk utility <3>: Nextfile Statement. (line 47) * mawk utility <4>: Other Versions. (line 39) -* maximum precision supported by MPFR library: Auto-set. (line 255) +* maximum precision supported by MPFR library: Auto-set. (line 276) * McIlroy, Doug: Glossary. (line 255) * McPhee, Patrick: Contributors. (line 103) * memory, allocating for extensions: Memory Allocation Functions. @@ -35103,7 +35123,7 @@ Index * messages from extensions: Printing Messages. (line 6) * metacharacters in regular expressions: Regexp Operators. (line 6) * metacharacters, escape sequences for: Escape Sequences. (line 140) -* minimum precision required by MPFR library: Auto-set. (line 258) +* minimum precision required by MPFR library: Auto-set. (line 279) * mktime: Time Functions. (line 25) * modifiers, in format specifiers: Format Modifiers. (line 6) * monetary information, localization: Explaining gettext. (line 104) @@ -35163,7 +35183,7 @@ Index * not Boolean-logic operator: Boolean Ops. (line 6) * NR variable: Records. (line 6) * NR variable <1>: Auto-set. (line 143) -* NR variable, changing: Auto-set. (line 389) +* NR variable, changing: Auto-set. (line 409) * null strings: awk split records. (line 121) * null strings <1>: Regexp Field Splitting. (line 43) @@ -35283,7 +35303,7 @@ Index * p debugger command (alias for print): Viewing And Changing Data. (line 35) * Papadopoulos, Panos: Contributors. (line 131) -* parent process ID of gawk process: Auto-set. (line 230) +* parent process ID of gawk process: Auto-set. (line 251) * parentheses (), in a profile: Profiling. (line 146) * parentheses (), regexp operator: Regexp Operators. (line 81) * password file: Passwd Functions. (line 16) @@ -35316,6 +35336,7 @@ Index * pipe, output: Redirection. (line 57) * Pitts, Dave: Acknowledgments. (line 60) * Pitts, Dave <1>: Maintainers. (line 14) +* platform running on, PROCINFO["platform"]: Auto-set. (line 224) * Plauger, P.J.: Library Functions. (line 12) * plug-in: Extension Intro. (line 6) * plus sign (+), + operator: Precedence. (line 51) @@ -35415,8 +35436,8 @@ Index * predefined variables, conveying information: Auto-set. (line 6) * predefined variables, user-modifiable: User-modified. (line 6) * pretty printing: Options. (line 235) -* pretty printing <1>: Profiling. (line 220) -* pretty-printing, profiling, difference with: Profiling. (line 227) +* pretty printing <1>: Profiling. (line 222) +* pretty-printing, profiling, difference with: Profiling. (line 229) * print debugger command: Viewing And Changing Data. (line 35) * print statement: Printing. (line 16) @@ -35455,8 +35476,8 @@ Index * printing, unduplicated lines of text: Uniq Program. (line 6) * printing, user information: Id Program. (line 6) * private variables: Library Names. (line 11) -* process group ID of gawk process: Auto-set. (line 224) -* process ID of gawk process: Auto-set. (line 227) +* process group ID of gawk process: Auto-set. (line 245) +* process ID of gawk process: Auto-set. (line 248) * processes, two-way communications with: Two-way I/O. (line 6) * processing data: Basic High Level. (line 6) * PROCINFO array: Auto-set. (line 148) @@ -35470,8 +35491,8 @@ Index * PROCINFO, values of sorted_in: Controlling Scanning. (line 26) * profiling awk programs: Profiling. (line 6) -* profiling awk programs, dynamically: Profiling. (line 177) -* profiling, pretty-printing, difference with: Profiling. (line 227) +* profiling awk programs, dynamically: Profiling. (line 179) +* profiling, pretty-printing, difference with: Profiling. (line 229) * program identifiers: Auto-set. (line 193) * program, definition of: Getting Started. (line 21) * programming conventions, --non-decimal-data option: Nondecimal Data. @@ -35508,7 +35529,7 @@ Index * QuikTrim Awk: Other Versions. (line 143) * quit debugger command: Miscellaneous Debugger Commands. (line 100) -* QUIT signal (MS-Windows): Profiling. (line 212) +* QUIT signal (MS-Windows): Profiling. (line 214) * quoting in gawk command lines: Long. (line 26) * quoting in gawk command lines, tricks for: Quoting. (line 91) * quoting, for small awk programs: Comments. (line 27) @@ -35634,7 +35655,7 @@ Index * right shift: Bitwise Functions. (line 54) * right shift, bitwise: Bitwise Functions. (line 32) * Ritchie, Dennis: Basic Data Typing. (line 54) -* RLENGTH variable: Auto-set. (line 314) +* RLENGTH variable: Auto-set. (line 335) * RLENGTH variable, match() function and: String Functions. (line 228) * Robbins, Arnold: Command Line Field Separator. (line 71) @@ -35662,11 +35683,11 @@ Index * RS variable <1>: User-modified. (line 136) * RS variable, multiline records and: Multiple Line. (line 17) * rshift: Bitwise Functions. (line 54) -* RSTART variable: Auto-set. (line 320) +* RSTART variable: Auto-set. (line 341) * RSTART variable, match() function and: String Functions. (line 228) * RT variable: awk split records. (line 131) * RT variable <1>: Multiple Line. (line 130) -* RT variable <2>: Auto-set. (line 327) +* RT variable <2>: Auto-set. (line 348) * Rubin, Paul: History. (line 30) * Rubin, Paul <1>: Contributors. (line 16) * rule, definition of: Getting Started. (line 21) @@ -35684,7 +35705,7 @@ Index * scanning arrays: Scanning an Array. (line 6) * scanning multidimensional arrays: Multiscanning. (line 11) * Schorr, Andrew: Acknowledgments. (line 60) -* Schorr, Andrew <1>: Auto-set. (line 359) +* Schorr, Andrew <1>: Auto-set. (line 379) * Schorr, Andrew <2>: Contributors. (line 136) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) @@ -35771,7 +35792,7 @@ Index * sidebar, Beware The Smoke and Mirrors!: Bitwise Functions. (line 127) * sidebar, Changing FS Does Not Affect the Fields: Full Line Fields. (line 14) -* sidebar, Changing NR and FNR: Auto-set. (line 387) +* sidebar, Changing NR and FNR: Auto-set. (line 407) * sidebar, Controlling Output Buffering with system(): I/O Functions. (line 166) * sidebar, Escape Sequences for Metacharacters: Escape Sequences. @@ -35799,15 +35820,15 @@ Index (line 130) * sidebar, Using \n in Bracket Expressions of Dynamic Regexps: Computed Regexps. (line 58) -* SIGHUP signal, for dynamic profiling: Profiling. (line 209) -* SIGINT signal (MS-Windows): Profiling. (line 212) -* signals, HUP/SIGHUP, for profiling: Profiling. (line 209) -* signals, INT/SIGINT (MS-Windows): Profiling. (line 212) -* signals, QUIT/SIGQUIT (MS-Windows): Profiling. (line 212) -* signals, USR1/SIGUSR1, for profiling: Profiling. (line 186) +* SIGHUP signal, for dynamic profiling: Profiling. (line 211) +* SIGINT signal (MS-Windows): Profiling. (line 214) +* signals, HUP/SIGHUP, for profiling: Profiling. (line 211) +* signals, INT/SIGINT (MS-Windows): Profiling. (line 214) +* signals, QUIT/SIGQUIT (MS-Windows): Profiling. (line 214) +* signals, USR1/SIGUSR1, for profiling: Profiling. (line 188) * signature program: Signature Program. (line 6) -* SIGQUIT signal (MS-Windows): Profiling. (line 212) -* SIGUSR1 signal, for dynamic profiling: Profiling. (line 186) +* SIGQUIT signal (MS-Windows): Profiling. (line 214) +* SIGUSR1 signal, for dynamic profiling: Profiling. (line 188) * silent debugger command: Debugger Execution Control. (line 10) * sin: Numeric Functions. (line 75) @@ -35939,9 +35960,9 @@ Index * substr: String Functions. (line 487) * substring: String Functions. (line 487) * Sumner, Andrew: Other Versions. (line 64) -* supplementary groups of gawk process: Auto-set. (line 271) +* supplementary groups of gawk process: Auto-set. (line 292) * switch statement: Switch Statement. (line 6) -* SYMTAB array: Auto-set. (line 331) +* SYMTAB array: Auto-set. (line 352) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. (line 149) * system: I/O Functions. (line 106) @@ -36088,7 +36109,7 @@ Index * user-modifiable variables: User-modified. (line 6) * users, information about, printing: Id Program. (line 6) * users, information about, retrieving: Passwd Functions. (line 16) -* USR1 signal, for dynamic profiling: Profiling. (line 186) +* USR1 signal, for dynamic profiling: Profiling. (line 188) * values, numeric: Basic Data Typing. (line 13) * values, string: Basic Data Typing. (line 13) * variable assignments and input files: Other Arguments. (line 26) @@ -36123,10 +36144,10 @@ Index * variables, uninitialized, as array subscripts: Uninitialized Subscripts. (line 6) * variables, user-defined: Variables. (line 6) -* version of gawk: Auto-set. (line 241) -* version of gawk extension API: Auto-set. (line 266) -* version of GNU MP library: Auto-set. (line 249) -* version of GNU MPFR library: Auto-set. (line 251) +* version of gawk: Auto-set. (line 262) +* version of gawk extension API: Auto-set. (line 287) +* version of GNU MP library: Auto-set. (line 270) +* version of GNU MPFR library: Auto-set. (line 272) * vertical bar (|): Regexp Operators. (line 70) * vertical bar (|), | operator (I/O): Getline/Pipe. (line 10) * vertical bar (|), | operator (I/O) <1>: Precedence. (line 64) @@ -36405,370 +36426,369 @@ Node: Exit Statement454653 Node: Built-in Variables457056 Node: User-modified458189 Node: Auto-set465956 -Ref: Auto-set-Footnote-1482258 -Ref: Auto-set-Footnote-2482464 -Node: ARGC and ARGV482520 -Node: Pattern Action Summary486733 -Node: Arrays489163 -Node: Array Basics490492 -Node: Array Intro491336 -Ref: figure-array-elements493311 -Ref: Array Intro-Footnote-1496015 -Node: Reference to Elements496143 -Node: Assigning Elements498607 -Node: Array Example499098 -Node: Scanning an Array500857 -Node: Controlling Scanning503879 -Ref: Controlling Scanning-Footnote-1509278 -Node: Numeric Array Subscripts509594 -Node: Uninitialized Subscripts511778 -Node: Delete513397 -Ref: Delete-Footnote-1516149 -Node: Multidimensional516206 -Node: Multiscanning519301 -Node: Arrays of Arrays520892 -Node: Arrays Summary525660 -Node: Functions527753 -Node: Built-in528791 -Node: Calling Built-in529872 -Node: Numeric Functions531868 -Ref: Numeric Functions-Footnote-1535896 -Ref: Numeric Functions-Footnote-2536253 -Ref: Numeric Functions-Footnote-3536301 -Node: String Functions536573 -Ref: String Functions-Footnote-1560431 -Ref: String Functions-Footnote-2560559 -Ref: String Functions-Footnote-3560807 -Node: Gory Details560894 -Ref: table-sub-escapes562685 -Ref: table-sub-proposed564204 -Ref: table-posix-sub565567 -Ref: table-gensub-escapes567108 -Ref: Gory Details-Footnote-1567931 -Node: I/O Functions568085 -Ref: table-system-return-values574553 -Ref: I/O Functions-Footnote-1576633 -Ref: I/O Functions-Footnote-2576781 -Node: Time Functions576901 -Ref: Time Functions-Footnote-1587572 -Ref: Time Functions-Footnote-2587640 -Ref: Time Functions-Footnote-3587798 -Ref: Time Functions-Footnote-4587909 -Ref: Time Functions-Footnote-5588021 -Ref: Time Functions-Footnote-6588248 -Node: Bitwise Functions588514 -Ref: table-bitwise-ops589108 -Ref: Bitwise Functions-Footnote-1595171 -Ref: Bitwise Functions-Footnote-2595344 -Node: Type Functions595535 -Node: I18N Functions598286 -Node: User-defined599937 -Node: Definition Syntax600742 -Ref: Definition Syntax-Footnote-1606429 -Node: Function Example606500 -Ref: Function Example-Footnote-1609422 -Node: Function Caveats609444 -Node: Calling A Function609962 -Node: Variable Scope610920 -Node: Pass By Value/Reference613914 -Node: Return Statement617413 -Node: Dynamic Typing620392 -Node: Indirect Calls621322 -Ref: Indirect Calls-Footnote-1631574 -Node: Functions Summary631702 -Node: Library Functions634407 -Ref: Library Functions-Footnote-1638014 -Ref: Library Functions-Footnote-2638157 -Node: Library Names638328 -Ref: Library Names-Footnote-1641788 -Ref: Library Names-Footnote-2642011 -Node: General Functions642097 -Node: Strtonum Function643200 -Node: Assert Function646222 -Node: Round Function649548 -Node: Cliff Random Function651088 -Node: Ordinal Functions652104 -Ref: Ordinal Functions-Footnote-1655167 -Ref: Ordinal Functions-Footnote-2655419 -Node: Join Function655629 -Ref: Join Function-Footnote-1657399 -Node: Getlocaltime Function657599 -Node: Readfile Function661341 -Node: Shell Quoting663318 -Node: Data File Management664719 -Node: Filetrans Function665351 -Node: Rewind Function669447 -Node: File Checking671357 -Ref: File Checking-Footnote-1672691 -Node: Empty Files672892 -Node: Ignoring Assigns674871 -Node: Getopt Function676421 -Ref: Getopt Function-Footnote-1687890 -Node: Passwd Functions688090 -Ref: Passwd Functions-Footnote-1696929 -Node: Group Functions697017 -Ref: Group Functions-Footnote-1704915 -Node: Walking Arrays705122 -Node: Library Functions Summary708130 -Node: Library Exercises709536 -Node: Sample Programs710001 -Node: Running Examples710771 -Node: Clones711499 -Node: Cut Program712723 -Node: Egrep Program722652 -Ref: Egrep Program-Footnote-1730164 -Node: Id Program730274 -Node: Split Program733954 -Ref: Split Program-Footnote-1737412 -Node: Tee Program737541 -Node: Uniq Program740331 -Node: Wc Program747757 -Ref: Wc Program-Footnote-1752012 -Node: Miscellaneous Programs752106 -Node: Dupword Program753319 -Node: Alarm Program755349 -Node: Translate Program760204 -Ref: Translate Program-Footnote-1764769 -Node: Labels Program765039 -Ref: Labels Program-Footnote-1768390 -Node: Word Sorting768474 -Node: History Sorting772546 -Node: Extract Program774381 -Node: Simple Sed782435 -Node: Igawk Program785509 -Ref: Igawk Program-Footnote-1799840 -Ref: Igawk Program-Footnote-2800042 -Ref: Igawk Program-Footnote-3800164 -Node: Anagram Program800279 -Node: Signature Program803341 -Node: Programs Summary804588 -Node: Programs Exercises805802 -Ref: Programs Exercises-Footnote-1809931 -Node: Advanced Features810022 -Node: Nondecimal Data812012 -Node: Array Sorting813603 -Node: Controlling Array Traversal814303 -Ref: Controlling Array Traversal-Footnote-1822671 -Node: Array Sorting Functions822789 -Ref: Array Sorting Functions-Footnote-1827880 -Node: Two-way I/O828076 -Ref: Two-way I/O-Footnote-1835797 -Ref: Two-way I/O-Footnote-2835984 -Node: TCP/IP Networking836066 -Node: Profiling839184 -Ref: Profiling-Footnote-1847869 -Node: Advanced Features Summary848192 -Node: Internationalization850036 -Node: I18N and L10N851516 -Node: Explaining gettext852203 -Ref: Explaining gettext-Footnote-1858095 -Ref: Explaining gettext-Footnote-2858280 -Node: Programmer i18n858445 -Ref: Programmer i18n-Footnote-1863394 -Node: Translator i18n863443 -Node: String Extraction864237 -Ref: String Extraction-Footnote-1865369 -Node: Printf Ordering865455 -Ref: Printf Ordering-Footnote-1868241 -Node: I18N Portability868305 -Ref: I18N Portability-Footnote-1870761 -Node: I18N Example870824 -Ref: I18N Example-Footnote-1873630 -Node: Gawk I18N873703 -Node: I18N Summary874348 -Node: Debugger875689 -Node: Debugging876709 -Node: Debugging Concepts877150 -Node: Debugging Terms878959 -Node: Awk Debugging881534 -Ref: Awk Debugging-Footnote-1882479 -Node: Sample Debugging Session882611 -Node: Debugger Invocation883145 -Node: Finding The Bug884531 -Node: List of Debugger Commands891005 -Node: Breakpoint Control892338 -Node: Debugger Execution Control896032 -Node: Viewing And Changing Data899394 -Node: Execution Stack902768 -Node: Debugger Info904405 -Node: Miscellaneous Debugger Commands908476 -Node: Readline Support913538 -Node: Limitations914434 -Node: Debugging Summary916543 -Node: Arbitrary Precision Arithmetic917822 -Node: Computer Arithmetic919307 -Ref: table-numeric-ranges923073 -Ref: table-floating-point-ranges923566 -Ref: Computer Arithmetic-Footnote-1924224 -Node: Math Definitions924281 -Ref: table-ieee-formats927597 -Ref: Math Definitions-Footnote-1928200 -Node: MPFR features928305 -Node: FP Math Caution930023 -Ref: FP Math Caution-Footnote-1931095 -Node: Inexactness of computations931464 -Node: Inexact representation932424 -Node: Comparing FP Values933784 -Node: Errors accumulate935025 -Node: Getting Accuracy936458 -Node: Try To Round939168 -Node: Setting precision940067 -Ref: table-predefined-precision-strings940764 -Node: Setting the rounding mode942594 -Ref: table-gawk-rounding-modes942968 -Ref: Setting the rounding mode-Footnote-1946899 -Node: Arbitrary Precision Integers947078 -Ref: Arbitrary Precision Integers-Footnote-1950253 -Node: Checking for MPFR950402 -Node: POSIX Floating Point Problems951876 -Ref: POSIX Floating Point Problems-Footnote-1956161 -Node: Floating point summary956199 -Node: Dynamic Extensions958389 -Node: Extension Intro959942 -Node: Plugin License961208 -Node: Extension Mechanism Outline962005 -Ref: figure-load-extension962444 -Ref: figure-register-new-function964009 -Ref: figure-call-new-function965101 -Node: Extension API Description967163 -Node: Extension API Functions Introduction968805 -Node: General Data Types974345 -Ref: General Data Types-Footnote-1982706 -Node: Memory Allocation Functions983005 -Ref: Memory Allocation Functions-Footnote-1987215 -Node: Constructor Functions987314 -Node: Registration Functions990900 -Node: Extension Functions991585 -Node: Exit Callback Functions996800 -Node: Extension Version String998050 -Node: Input Parsers998713 -Node: Output Wrappers1011434 -Node: Two-way processors1015946 -Node: Printing Messages1018211 -Ref: Printing Messages-Footnote-11019382 -Node: Updating ERRNO1019535 -Node: Requesting Values1020274 -Ref: table-value-types-returned1021011 -Node: Accessing Parameters1021947 -Node: Symbol Table Access1023182 -Node: Symbol table by name1023694 -Node: Symbol table by cookie1025483 -Ref: Symbol table by cookie-Footnote-11029668 -Node: Cached values1029732 -Ref: Cached values-Footnote-11033268 -Node: Array Manipulation1033421 -Ref: Array Manipulation-Footnote-11034512 -Node: Array Data Types1034549 -Ref: Array Data Types-Footnote-11037207 -Node: Array Functions1037299 -Node: Flattening Arrays1041797 -Node: Creating Arrays1048773 -Node: Redirection API1053540 -Node: Extension API Variables1056373 -Node: Extension Versioning1057084 -Ref: gawk-api-version1057513 -Node: Extension GMP/MPFR Versioning1059244 -Node: Extension API Informational Variables1060872 -Node: Extension API Boilerplate1061945 -Node: Changes from API V11065919 -Node: Finding Extensions1067491 -Node: Extension Example1068050 -Node: Internal File Description1068848 -Node: Internal File Ops1072928 -Ref: Internal File Ops-Footnote-11084278 -Node: Using Internal File Ops1084418 -Ref: Using Internal File Ops-Footnote-11086801 -Node: Extension Samples1087075 -Node: Extension Sample File Functions1088604 -Node: Extension Sample Fnmatch1096253 -Node: Extension Sample Fork1097740 -Node: Extension Sample Inplace1098958 -Node: Extension Sample Ord1102175 -Node: Extension Sample Readdir1103011 -Ref: table-readdir-file-types1103900 -Node: Extension Sample Revout1104705 -Node: Extension Sample Rev2way1105294 -Node: Extension Sample Read write array1106034 -Node: Extension Sample Readfile1107976 -Node: Extension Sample Time1109071 -Node: Extension Sample API Tests1110419 -Node: gawkextlib1110911 -Node: Extension summary1113829 -Node: Extension Exercises1117531 -Node: Language History1119029 -Node: V7/SVR3.11120685 -Node: SVR41122837 -Node: POSIX1124271 -Node: BTL1125651 -Node: POSIX/GNU1126380 -Node: Feature History1132158 -Node: Common Extensions1148017 -Node: Ranges and Locales1149300 -Ref: Ranges and Locales-Footnote-11153916 -Ref: Ranges and Locales-Footnote-21153943 -Ref: Ranges and Locales-Footnote-31154178 -Node: Contributors1154399 -Node: History summary1160344 -Node: Installation1161724 -Node: Gawk Distribution1162668 -Node: Getting1163152 -Node: Extracting1164115 -Node: Distribution contents1165753 -Node: Unix Installation1172233 -Node: Quick Installation1172915 -Node: Shell Startup Files1175329 -Node: Additional Configuration Options1176418 -Node: Configuration Philosophy1178711 -Node: Non-Unix Installation1181080 -Node: PC Installation1181540 -Node: PC Binary Installation1182378 -Node: PC Compiling1182813 -Node: PC Using1183930 -Node: Cygwin1187145 -Node: MSYS1188244 -Node: VMS Installation1188745 -Node: VMS Compilation1189536 -Ref: VMS Compilation-Footnote-11190765 -Node: VMS Dynamic Extensions1190823 -Node: VMS Installation Details1192508 -Node: VMS Running1194761 -Node: VMS GNV1199040 -Node: VMS Old Gawk1199775 -Node: Bugs1200246 -Node: Bug address1200909 -Node: Usenet1203891 -Node: Maintainers1204895 -Node: Other Versions1206156 -Node: Installation summary1213070 -Node: Notes1214272 -Node: Compatibility Mode1215066 -Node: Additions1215848 -Node: Accessing The Source1216773 -Node: Adding Code1218210 -Node: New Ports1224429 -Node: Derived Files1228917 -Ref: Derived Files-Footnote-11234563 -Ref: Derived Files-Footnote-21234598 -Ref: Derived Files-Footnote-31235196 -Node: Future Extensions1235310 -Node: Implementation Limitations1235968 -Node: Extension Design1237151 -Node: Old Extension Problems1238295 -Ref: Old Extension Problems-Footnote-11239813 -Node: Extension New Mechanism Goals1239870 -Ref: Extension New Mechanism Goals-Footnote-11243234 -Node: Extension Other Design Decisions1243423 -Node: Extension Future Growth1245536 -Node: Notes summary1246372 -Node: Basic Concepts1247547 -Node: Basic High Level1248228 -Ref: figure-general-flow1248510 -Ref: figure-process-flow1249195 -Ref: Basic High Level-Footnote-11252496 -Node: Basic Data Typing1252681 -Node: Glossary1256009 -Node: Copying1287847 -Node: GNU Free Documentation License1325390 -Node: Index1350510 +Ref: Auto-set-Footnote-1482763 +Ref: Auto-set-Footnote-2482969 +Node: ARGC and ARGV483025 +Node: Pattern Action Summary487238 +Node: Arrays489668 +Node: Array Basics490997 +Node: Array Intro491841 +Ref: figure-array-elements493816 +Ref: Array Intro-Footnote-1496520 +Node: Reference to Elements496648 +Node: Assigning Elements499112 +Node: Array Example499603 +Node: Scanning an Array501362 +Node: Controlling Scanning504384 +Ref: Controlling Scanning-Footnote-1509783 +Node: Numeric Array Subscripts510099 +Node: Uninitialized Subscripts512283 +Node: Delete513902 +Ref: Delete-Footnote-1516654 +Node: Multidimensional516711 +Node: Multiscanning519806 +Node: Arrays of Arrays521397 +Node: Arrays Summary526165 +Node: Functions528258 +Node: Built-in529296 +Node: Calling Built-in530377 +Node: Numeric Functions532373 +Ref: Numeric Functions-Footnote-1536401 +Ref: Numeric Functions-Footnote-2536758 +Ref: Numeric Functions-Footnote-3536806 +Node: String Functions537078 +Ref: String Functions-Footnote-1560936 +Ref: String Functions-Footnote-2561064 +Ref: String Functions-Footnote-3561312 +Node: Gory Details561399 +Ref: table-sub-escapes563190 +Ref: table-sub-proposed564709 +Ref: table-posix-sub566072 +Ref: table-gensub-escapes567613 +Ref: Gory Details-Footnote-1568436 +Node: I/O Functions568590 +Ref: table-system-return-values575058 +Ref: I/O Functions-Footnote-1577138 +Ref: I/O Functions-Footnote-2577286 +Node: Time Functions577406 +Ref: Time Functions-Footnote-1588077 +Ref: Time Functions-Footnote-2588145 +Ref: Time Functions-Footnote-3588303 +Ref: Time Functions-Footnote-4588414 +Ref: Time Functions-Footnote-5588526 +Ref: Time Functions-Footnote-6588753 +Node: Bitwise Functions589019 +Ref: table-bitwise-ops589613 +Ref: Bitwise Functions-Footnote-1595676 +Ref: Bitwise Functions-Footnote-2595849 +Node: Type Functions596040 +Node: I18N Functions598791 +Node: User-defined600442 +Node: Definition Syntax601247 +Ref: Definition Syntax-Footnote-1606934 +Node: Function Example607005 +Ref: Function Example-Footnote-1609927 +Node: Function Caveats609949 +Node: Calling A Function610467 +Node: Variable Scope611425 +Node: Pass By Value/Reference614419 +Node: Return Statement617918 +Node: Dynamic Typing620897 +Node: Indirect Calls621827 +Ref: Indirect Calls-Footnote-1632079 +Node: Functions Summary632207 +Node: Library Functions634912 +Ref: Library Functions-Footnote-1638519 +Ref: Library Functions-Footnote-2638662 +Node: Library Names638833 +Ref: Library Names-Footnote-1642293 +Ref: Library Names-Footnote-2642516 +Node: General Functions642602 +Node: Strtonum Function643705 +Node: Assert Function646727 +Node: Round Function650053 +Node: Cliff Random Function651593 +Node: Ordinal Functions652609 +Ref: Ordinal Functions-Footnote-1655672 +Ref: Ordinal Functions-Footnote-2655924 +Node: Join Function656134 +Ref: Join Function-Footnote-1657904 +Node: Getlocaltime Function658104 +Node: Readfile Function661846 +Node: Shell Quoting663823 +Node: Data File Management665224 +Node: Filetrans Function665856 +Node: Rewind Function669952 +Node: File Checking671862 +Ref: File Checking-Footnote-1673196 +Node: Empty Files673397 +Node: Ignoring Assigns675376 +Node: Getopt Function676926 +Ref: Getopt Function-Footnote-1688395 +Node: Passwd Functions688595 +Ref: Passwd Functions-Footnote-1697434 +Node: Group Functions697522 +Ref: Group Functions-Footnote-1705420 +Node: Walking Arrays705627 +Node: Library Functions Summary708635 +Node: Library Exercises710041 +Node: Sample Programs710506 +Node: Running Examples711276 +Node: Clones712004 +Node: Cut Program713228 +Node: Egrep Program723157 +Ref: Egrep Program-Footnote-1730669 +Node: Id Program730779 +Node: Split Program734459 +Ref: Split Program-Footnote-1737917 +Node: Tee Program738046 +Node: Uniq Program740836 +Node: Wc Program748262 +Ref: Wc Program-Footnote-1752517 +Node: Miscellaneous Programs752611 +Node: Dupword Program753824 +Node: Alarm Program755854 +Node: Translate Program760709 +Ref: Translate Program-Footnote-1765274 +Node: Labels Program765544 +Ref: Labels Program-Footnote-1768895 +Node: Word Sorting768979 +Node: History Sorting773051 +Node: Extract Program774886 +Node: Simple Sed782940 +Node: Igawk Program786014 +Ref: Igawk Program-Footnote-1800345 +Ref: Igawk Program-Footnote-2800547 +Ref: Igawk Program-Footnote-3800669 +Node: Anagram Program800784 +Node: Signature Program803846 +Node: Programs Summary805093 +Node: Programs Exercises806307 +Ref: Programs Exercises-Footnote-1810436 +Node: Advanced Features810527 +Node: Nondecimal Data812517 +Node: Array Sorting814108 +Node: Controlling Array Traversal814808 +Ref: Controlling Array Traversal-Footnote-1823176 +Node: Array Sorting Functions823294 +Ref: Array Sorting Functions-Footnote-1828385 +Node: Two-way I/O828581 +Ref: Two-way I/O-Footnote-1836302 +Ref: Two-way I/O-Footnote-2836489 +Node: TCP/IP Networking836571 +Node: Profiling839689 +Node: Advanced Features Summary848707 +Node: Internationalization850551 +Node: I18N and L10N852031 +Node: Explaining gettext852718 +Ref: Explaining gettext-Footnote-1858610 +Ref: Explaining gettext-Footnote-2858795 +Node: Programmer i18n858960 +Ref: Programmer i18n-Footnote-1863909 +Node: Translator i18n863958 +Node: String Extraction864752 +Ref: String Extraction-Footnote-1865884 +Node: Printf Ordering865970 +Ref: Printf Ordering-Footnote-1868756 +Node: I18N Portability868820 +Ref: I18N Portability-Footnote-1871276 +Node: I18N Example871339 +Ref: I18N Example-Footnote-1874145 +Node: Gawk I18N874218 +Node: I18N Summary874863 +Node: Debugger876204 +Node: Debugging877224 +Node: Debugging Concepts877665 +Node: Debugging Terms879474 +Node: Awk Debugging882049 +Ref: Awk Debugging-Footnote-1882994 +Node: Sample Debugging Session883126 +Node: Debugger Invocation883660 +Node: Finding The Bug885046 +Node: List of Debugger Commands891520 +Node: Breakpoint Control892853 +Node: Debugger Execution Control896547 +Node: Viewing And Changing Data899909 +Node: Execution Stack903283 +Node: Debugger Info904920 +Node: Miscellaneous Debugger Commands908991 +Node: Readline Support914053 +Node: Limitations914949 +Node: Debugging Summary917058 +Node: Arbitrary Precision Arithmetic918337 +Node: Computer Arithmetic919822 +Ref: table-numeric-ranges923588 +Ref: table-floating-point-ranges924081 +Ref: Computer Arithmetic-Footnote-1924739 +Node: Math Definitions924796 +Ref: table-ieee-formats928112 +Ref: Math Definitions-Footnote-1928715 +Node: MPFR features928820 +Node: FP Math Caution930538 +Ref: FP Math Caution-Footnote-1931610 +Node: Inexactness of computations931979 +Node: Inexact representation932939 +Node: Comparing FP Values934299 +Node: Errors accumulate935540 +Node: Getting Accuracy936973 +Node: Try To Round939683 +Node: Setting precision940582 +Ref: table-predefined-precision-strings941279 +Node: Setting the rounding mode943109 +Ref: table-gawk-rounding-modes943483 +Ref: Setting the rounding mode-Footnote-1947414 +Node: Arbitrary Precision Integers947593 +Ref: Arbitrary Precision Integers-Footnote-1950768 +Node: Checking for MPFR950917 +Node: POSIX Floating Point Problems952391 +Ref: POSIX Floating Point Problems-Footnote-1956676 +Node: Floating point summary956714 +Node: Dynamic Extensions958904 +Node: Extension Intro960457 +Node: Plugin License961723 +Node: Extension Mechanism Outline962520 +Ref: figure-load-extension962959 +Ref: figure-register-new-function964524 +Ref: figure-call-new-function965616 +Node: Extension API Description967678 +Node: Extension API Functions Introduction969320 +Node: General Data Types974860 +Ref: General Data Types-Footnote-1983221 +Node: Memory Allocation Functions983520 +Ref: Memory Allocation Functions-Footnote-1987730 +Node: Constructor Functions987829 +Node: Registration Functions991415 +Node: Extension Functions992100 +Node: Exit Callback Functions997315 +Node: Extension Version String998565 +Node: Input Parsers999228 +Node: Output Wrappers1011949 +Node: Two-way processors1016461 +Node: Printing Messages1018726 +Ref: Printing Messages-Footnote-11019897 +Node: Updating ERRNO1020050 +Node: Requesting Values1020789 +Ref: table-value-types-returned1021526 +Node: Accessing Parameters1022462 +Node: Symbol Table Access1023697 +Node: Symbol table by name1024209 +Node: Symbol table by cookie1025998 +Ref: Symbol table by cookie-Footnote-11030183 +Node: Cached values1030247 +Ref: Cached values-Footnote-11033783 +Node: Array Manipulation1033936 +Ref: Array Manipulation-Footnote-11035027 +Node: Array Data Types1035064 +Ref: Array Data Types-Footnote-11037722 +Node: Array Functions1037814 +Node: Flattening Arrays1042312 +Node: Creating Arrays1049288 +Node: Redirection API1054055 +Node: Extension API Variables1056888 +Node: Extension Versioning1057599 +Ref: gawk-api-version1058028 +Node: Extension GMP/MPFR Versioning1059759 +Node: Extension API Informational Variables1061387 +Node: Extension API Boilerplate1062460 +Node: Changes from API V11066434 +Node: Finding Extensions1068006 +Node: Extension Example1068565 +Node: Internal File Description1069363 +Node: Internal File Ops1073443 +Ref: Internal File Ops-Footnote-11084793 +Node: Using Internal File Ops1084933 +Ref: Using Internal File Ops-Footnote-11087316 +Node: Extension Samples1087590 +Node: Extension Sample File Functions1089119 +Node: Extension Sample Fnmatch1096768 +Node: Extension Sample Fork1098255 +Node: Extension Sample Inplace1099473 +Node: Extension Sample Ord1102690 +Node: Extension Sample Readdir1103526 +Ref: table-readdir-file-types1104415 +Node: Extension Sample Revout1105220 +Node: Extension Sample Rev2way1105809 +Node: Extension Sample Read write array1106549 +Node: Extension Sample Readfile1108491 +Node: Extension Sample Time1109586 +Node: Extension Sample API Tests1110934 +Node: gawkextlib1111426 +Node: Extension summary1114344 +Node: Extension Exercises1118046 +Node: Language History1119544 +Node: V7/SVR3.11121200 +Node: SVR41123352 +Node: POSIX1124786 +Node: BTL1126166 +Node: POSIX/GNU1126895 +Node: Feature History1132673 +Node: Common Extensions1148719 +Node: Ranges and Locales1150002 +Ref: Ranges and Locales-Footnote-11154618 +Ref: Ranges and Locales-Footnote-21154645 +Ref: Ranges and Locales-Footnote-31154880 +Node: Contributors1155101 +Node: History summary1161046 +Node: Installation1162426 +Node: Gawk Distribution1163370 +Node: Getting1163854 +Node: Extracting1164817 +Node: Distribution contents1166455 +Node: Unix Installation1172935 +Node: Quick Installation1173617 +Node: Shell Startup Files1176031 +Node: Additional Configuration Options1177120 +Node: Configuration Philosophy1179285 +Node: Non-Unix Installation1181654 +Node: PC Installation1182114 +Node: PC Binary Installation1182952 +Node: PC Compiling1183387 +Node: PC Using1184504 +Node: Cygwin1188057 +Node: MSYS1189156 +Node: VMS Installation1189657 +Node: VMS Compilation1190448 +Ref: VMS Compilation-Footnote-11191677 +Node: VMS Dynamic Extensions1191735 +Node: VMS Installation Details1193420 +Node: VMS Running1195673 +Node: VMS GNV1199952 +Node: VMS Old Gawk1200687 +Node: Bugs1201158 +Node: Bug address1201821 +Node: Usenet1204803 +Node: Maintainers1205807 +Node: Other Versions1207068 +Node: Installation summary1213982 +Node: Notes1215184 +Node: Compatibility Mode1215978 +Node: Additions1216760 +Node: Accessing The Source1217685 +Node: Adding Code1219122 +Node: New Ports1225341 +Node: Derived Files1229829 +Ref: Derived Files-Footnote-11235475 +Ref: Derived Files-Footnote-21235510 +Ref: Derived Files-Footnote-31236108 +Node: Future Extensions1236222 +Node: Implementation Limitations1236880 +Node: Extension Design1238063 +Node: Old Extension Problems1239207 +Ref: Old Extension Problems-Footnote-11240725 +Node: Extension New Mechanism Goals1240782 +Ref: Extension New Mechanism Goals-Footnote-11244146 +Node: Extension Other Design Decisions1244335 +Node: Extension Future Growth1246448 +Node: Notes summary1247284 +Node: Basic Concepts1248459 +Node: Basic High Level1249140 +Ref: figure-general-flow1249422 +Ref: figure-process-flow1250107 +Ref: Basic High Level-Footnote-11253408 +Node: Basic Data Typing1253593 +Node: Glossary1256921 +Node: Copying1288759 +Node: GNU Free Documentation License1326302 +Node: Index1351422 End Tag Table |