diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 890 |
1 files changed, 455 insertions, 435 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index ee209f9f..35d1f56f 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 @@ -28439,6 +28456,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 @@ -29204,10 +29226,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'. @@ -29373,6 +29391,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 @@ -33129,8 +33153,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) @@ -33842,8 +33864,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) @@ -33920,7 +33940,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) @@ -34184,7 +34204,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. @@ -34193,7 +34213,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. @@ -34230,7 +34250,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) @@ -34359,7 +34379,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) @@ -34519,7 +34539,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. @@ -34622,8 +34642,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) @@ -34699,13 +34719,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) @@ -34829,7 +34849,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) @@ -34911,7 +34931,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. @@ -34967,7 +34987,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. @@ -35105,7 +35125,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. @@ -35120,7 +35140,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) @@ -35180,7 +35200,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) @@ -35300,7 +35320,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) @@ -35333,6 +35353,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) @@ -35432,8 +35453,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) @@ -35472,8 +35493,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) @@ -35487,8 +35508,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. @@ -35525,7 +35546,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) @@ -35651,7 +35672,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) @@ -35679,11 +35700,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) @@ -35701,7 +35722,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) @@ -35788,7 +35809,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. @@ -35816,15 +35837,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) @@ -35956,9 +35977,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) @@ -36105,7 +36126,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) @@ -36140,10 +36161,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) @@ -36422,371 +36443,370 @@ 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-1874099 -Ref: I18N Example-Footnote-2874172 -Node: Gawk I18N874281 -Node: I18N Summary874926 -Node: Debugger876267 -Node: Debugging877287 -Node: Debugging Concepts877728 -Node: Debugging Terms879537 -Node: Awk Debugging882112 -Ref: Awk Debugging-Footnote-1883057 -Node: Sample Debugging Session883189 -Node: Debugger Invocation883723 -Node: Finding The Bug885109 -Node: List of Debugger Commands891583 -Node: Breakpoint Control892916 -Node: Debugger Execution Control896610 -Node: Viewing And Changing Data899972 -Node: Execution Stack903346 -Node: Debugger Info904983 -Node: Miscellaneous Debugger Commands909054 -Node: Readline Support914116 -Node: Limitations915012 -Node: Debugging Summary917121 -Node: Arbitrary Precision Arithmetic918400 -Node: Computer Arithmetic919885 -Ref: table-numeric-ranges923651 -Ref: table-floating-point-ranges924144 -Ref: Computer Arithmetic-Footnote-1924802 -Node: Math Definitions924859 -Ref: table-ieee-formats928175 -Ref: Math Definitions-Footnote-1928778 -Node: MPFR features928883 -Node: FP Math Caution930601 -Ref: FP Math Caution-Footnote-1931673 -Node: Inexactness of computations932042 -Node: Inexact representation933002 -Node: Comparing FP Values934362 -Node: Errors accumulate935603 -Node: Getting Accuracy937036 -Node: Try To Round939746 -Node: Setting precision940645 -Ref: table-predefined-precision-strings941342 -Node: Setting the rounding mode943172 -Ref: table-gawk-rounding-modes943546 -Ref: Setting the rounding mode-Footnote-1947477 -Node: Arbitrary Precision Integers947656 -Ref: Arbitrary Precision Integers-Footnote-1950831 -Node: Checking for MPFR950980 -Node: POSIX Floating Point Problems952454 -Ref: POSIX Floating Point Problems-Footnote-1956739 -Node: Floating point summary956777 -Node: Dynamic Extensions958967 -Node: Extension Intro960520 -Node: Plugin License961786 -Node: Extension Mechanism Outline962583 -Ref: figure-load-extension963022 -Ref: figure-register-new-function964587 -Ref: figure-call-new-function965679 -Node: Extension API Description967741 -Node: Extension API Functions Introduction969383 -Node: General Data Types974923 -Ref: General Data Types-Footnote-1983284 -Node: Memory Allocation Functions983583 -Ref: Memory Allocation Functions-Footnote-1987793 -Node: Constructor Functions987892 -Node: Registration Functions991478 -Node: Extension Functions992163 -Node: Exit Callback Functions997378 -Node: Extension Version String998628 -Node: Input Parsers999291 -Node: Output Wrappers1012012 -Node: Two-way processors1016524 -Node: Printing Messages1018789 -Ref: Printing Messages-Footnote-11019960 -Node: Updating ERRNO1020113 -Node: Requesting Values1020852 -Ref: table-value-types-returned1021589 -Node: Accessing Parameters1022525 -Node: Symbol Table Access1023760 -Node: Symbol table by name1024272 -Node: Symbol table by cookie1026061 -Ref: Symbol table by cookie-Footnote-11030246 -Node: Cached values1030310 -Ref: Cached values-Footnote-11033846 -Node: Array Manipulation1033999 -Ref: Array Manipulation-Footnote-11035090 -Node: Array Data Types1035127 -Ref: Array Data Types-Footnote-11037785 -Node: Array Functions1037877 -Node: Flattening Arrays1042375 -Node: Creating Arrays1049351 -Node: Redirection API1054118 -Node: Extension API Variables1056951 -Node: Extension Versioning1057662 -Ref: gawk-api-version1058091 -Node: Extension GMP/MPFR Versioning1059822 -Node: Extension API Informational Variables1061450 -Node: Extension API Boilerplate1062523 -Node: Changes from API V11066497 -Node: Finding Extensions1068069 -Node: Extension Example1068628 -Node: Internal File Description1069426 -Node: Internal File Ops1073506 -Ref: Internal File Ops-Footnote-11084856 -Node: Using Internal File Ops1084996 -Ref: Using Internal File Ops-Footnote-11087379 -Node: Extension Samples1087653 -Node: Extension Sample File Functions1089182 -Node: Extension Sample Fnmatch1096831 -Node: Extension Sample Fork1098318 -Node: Extension Sample Inplace1099536 -Node: Extension Sample Ord1102753 -Node: Extension Sample Readdir1103589 -Ref: table-readdir-file-types1104478 -Node: Extension Sample Revout1105283 -Node: Extension Sample Rev2way1105872 -Node: Extension Sample Read write array1106612 -Node: Extension Sample Readfile1108554 -Node: Extension Sample Time1109649 -Node: Extension Sample API Tests1110997 -Node: gawkextlib1111489 -Node: Extension summary1114407 -Node: Extension Exercises1118109 -Node: Language History1119607 -Node: V7/SVR3.11121263 -Node: SVR41123415 -Node: POSIX1124849 -Node: BTL1126229 -Node: POSIX/GNU1126958 -Node: Feature History1132736 -Node: Common Extensions1148595 -Node: Ranges and Locales1149878 -Ref: Ranges and Locales-Footnote-11154494 -Ref: Ranges and Locales-Footnote-21154521 -Ref: Ranges and Locales-Footnote-31154756 -Node: Contributors1154977 -Node: History summary1160922 -Node: Installation1162302 -Node: Gawk Distribution1163246 -Node: Getting1163730 -Node: Extracting1164693 -Node: Distribution contents1166331 -Node: Unix Installation1172811 -Node: Quick Installation1173493 -Node: Shell Startup Files1175907 -Node: Additional Configuration Options1176996 -Node: Configuration Philosophy1179289 -Node: Non-Unix Installation1181658 -Node: PC Installation1182118 -Node: PC Binary Installation1182956 -Node: PC Compiling1183391 -Node: PC Using1184508 -Node: Cygwin1187723 -Node: MSYS1188822 -Node: VMS Installation1189323 -Node: VMS Compilation1190114 -Ref: VMS Compilation-Footnote-11191343 -Node: VMS Dynamic Extensions1191401 -Node: VMS Installation Details1193086 -Node: VMS Running1195339 -Node: VMS GNV1199618 -Node: VMS Old Gawk1200353 -Node: Bugs1200824 -Node: Bug address1201487 -Node: Usenet1204469 -Node: Maintainers1205473 -Node: Other Versions1206734 -Node: Installation summary1213648 -Node: Notes1214850 -Node: Compatibility Mode1215644 -Node: Additions1216426 -Node: Accessing The Source1217351 -Node: Adding Code1218788 -Node: New Ports1225007 -Node: Derived Files1229495 -Ref: Derived Files-Footnote-11235141 -Ref: Derived Files-Footnote-21235176 -Ref: Derived Files-Footnote-31235774 -Node: Future Extensions1235888 -Node: Implementation Limitations1236546 -Node: Extension Design1237729 -Node: Old Extension Problems1238873 -Ref: Old Extension Problems-Footnote-11240391 -Node: Extension New Mechanism Goals1240448 -Ref: Extension New Mechanism Goals-Footnote-11243812 -Node: Extension Other Design Decisions1244001 -Node: Extension Future Growth1246114 -Node: Notes summary1246950 -Node: Basic Concepts1248125 -Node: Basic High Level1248806 -Ref: figure-general-flow1249088 -Ref: figure-process-flow1249773 -Ref: Basic High Level-Footnote-11253074 -Node: Basic Data Typing1253259 -Node: Glossary1256587 -Node: Copying1288425 -Node: GNU Free Documentation License1325968 -Node: Index1351088 +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-1874614 +Ref: I18N Example-Footnote-2874687 +Node: Gawk I18N874796 +Node: I18N Summary875441 +Node: Debugger876782 +Node: Debugging877802 +Node: Debugging Concepts878243 +Node: Debugging Terms880052 +Node: Awk Debugging882627 +Ref: Awk Debugging-Footnote-1883572 +Node: Sample Debugging Session883704 +Node: Debugger Invocation884238 +Node: Finding The Bug885624 +Node: List of Debugger Commands892098 +Node: Breakpoint Control893431 +Node: Debugger Execution Control897125 +Node: Viewing And Changing Data900487 +Node: Execution Stack903861 +Node: Debugger Info905498 +Node: Miscellaneous Debugger Commands909569 +Node: Readline Support914631 +Node: Limitations915527 +Node: Debugging Summary917636 +Node: Arbitrary Precision Arithmetic918915 +Node: Computer Arithmetic920400 +Ref: table-numeric-ranges924166 +Ref: table-floating-point-ranges924659 +Ref: Computer Arithmetic-Footnote-1925317 +Node: Math Definitions925374 +Ref: table-ieee-formats928690 +Ref: Math Definitions-Footnote-1929293 +Node: MPFR features929398 +Node: FP Math Caution931116 +Ref: FP Math Caution-Footnote-1932188 +Node: Inexactness of computations932557 +Node: Inexact representation933517 +Node: Comparing FP Values934877 +Node: Errors accumulate936118 +Node: Getting Accuracy937551 +Node: Try To Round940261 +Node: Setting precision941160 +Ref: table-predefined-precision-strings941857 +Node: Setting the rounding mode943687 +Ref: table-gawk-rounding-modes944061 +Ref: Setting the rounding mode-Footnote-1947992 +Node: Arbitrary Precision Integers948171 +Ref: Arbitrary Precision Integers-Footnote-1951346 +Node: Checking for MPFR951495 +Node: POSIX Floating Point Problems952969 +Ref: POSIX Floating Point Problems-Footnote-1957254 +Node: Floating point summary957292 +Node: Dynamic Extensions959482 +Node: Extension Intro961035 +Node: Plugin License962301 +Node: Extension Mechanism Outline963098 +Ref: figure-load-extension963537 +Ref: figure-register-new-function965102 +Ref: figure-call-new-function966194 +Node: Extension API Description968256 +Node: Extension API Functions Introduction969898 +Node: General Data Types975438 +Ref: General Data Types-Footnote-1983799 +Node: Memory Allocation Functions984098 +Ref: Memory Allocation Functions-Footnote-1988308 +Node: Constructor Functions988407 +Node: Registration Functions991993 +Node: Extension Functions992678 +Node: Exit Callback Functions997893 +Node: Extension Version String999143 +Node: Input Parsers999806 +Node: Output Wrappers1012527 +Node: Two-way processors1017039 +Node: Printing Messages1019304 +Ref: Printing Messages-Footnote-11020475 +Node: Updating ERRNO1020628 +Node: Requesting Values1021367 +Ref: table-value-types-returned1022104 +Node: Accessing Parameters1023040 +Node: Symbol Table Access1024275 +Node: Symbol table by name1024787 +Node: Symbol table by cookie1026576 +Ref: Symbol table by cookie-Footnote-11030761 +Node: Cached values1030825 +Ref: Cached values-Footnote-11034361 +Node: Array Manipulation1034514 +Ref: Array Manipulation-Footnote-11035605 +Node: Array Data Types1035642 +Ref: Array Data Types-Footnote-11038300 +Node: Array Functions1038392 +Node: Flattening Arrays1042890 +Node: Creating Arrays1049866 +Node: Redirection API1054633 +Node: Extension API Variables1057466 +Node: Extension Versioning1058177 +Ref: gawk-api-version1058606 +Node: Extension GMP/MPFR Versioning1060337 +Node: Extension API Informational Variables1061965 +Node: Extension API Boilerplate1063038 +Node: Changes from API V11067012 +Node: Finding Extensions1068584 +Node: Extension Example1069143 +Node: Internal File Description1069941 +Node: Internal File Ops1074021 +Ref: Internal File Ops-Footnote-11085371 +Node: Using Internal File Ops1085511 +Ref: Using Internal File Ops-Footnote-11087894 +Node: Extension Samples1088168 +Node: Extension Sample File Functions1089697 +Node: Extension Sample Fnmatch1097346 +Node: Extension Sample Fork1098833 +Node: Extension Sample Inplace1100051 +Node: Extension Sample Ord1103268 +Node: Extension Sample Readdir1104104 +Ref: table-readdir-file-types1104993 +Node: Extension Sample Revout1105798 +Node: Extension Sample Rev2way1106387 +Node: Extension Sample Read write array1107127 +Node: Extension Sample Readfile1109069 +Node: Extension Sample Time1110164 +Node: Extension Sample API Tests1111512 +Node: gawkextlib1112004 +Node: Extension summary1114922 +Node: Extension Exercises1118624 +Node: Language History1120122 +Node: V7/SVR3.11121778 +Node: SVR41123930 +Node: POSIX1125364 +Node: BTL1126744 +Node: POSIX/GNU1127473 +Node: Feature History1133251 +Node: Common Extensions1149297 +Node: Ranges and Locales1150580 +Ref: Ranges and Locales-Footnote-11155196 +Ref: Ranges and Locales-Footnote-21155223 +Ref: Ranges and Locales-Footnote-31155458 +Node: Contributors1155679 +Node: History summary1161624 +Node: Installation1163004 +Node: Gawk Distribution1163948 +Node: Getting1164432 +Node: Extracting1165395 +Node: Distribution contents1167033 +Node: Unix Installation1173513 +Node: Quick Installation1174195 +Node: Shell Startup Files1176609 +Node: Additional Configuration Options1177698 +Node: Configuration Philosophy1179863 +Node: Non-Unix Installation1182232 +Node: PC Installation1182692 +Node: PC Binary Installation1183530 +Node: PC Compiling1183965 +Node: PC Using1185082 +Node: Cygwin1188635 +Node: MSYS1189734 +Node: VMS Installation1190235 +Node: VMS Compilation1191026 +Ref: VMS Compilation-Footnote-11192255 +Node: VMS Dynamic Extensions1192313 +Node: VMS Installation Details1193998 +Node: VMS Running1196251 +Node: VMS GNV1200530 +Node: VMS Old Gawk1201265 +Node: Bugs1201736 +Node: Bug address1202399 +Node: Usenet1205381 +Node: Maintainers1206385 +Node: Other Versions1207646 +Node: Installation summary1214560 +Node: Notes1215762 +Node: Compatibility Mode1216556 +Node: Additions1217338 +Node: Accessing The Source1218263 +Node: Adding Code1219700 +Node: New Ports1225919 +Node: Derived Files1230407 +Ref: Derived Files-Footnote-11236053 +Ref: Derived Files-Footnote-21236088 +Ref: Derived Files-Footnote-31236686 +Node: Future Extensions1236800 +Node: Implementation Limitations1237458 +Node: Extension Design1238641 +Node: Old Extension Problems1239785 +Ref: Old Extension Problems-Footnote-11241303 +Node: Extension New Mechanism Goals1241360 +Ref: Extension New Mechanism Goals-Footnote-11244724 +Node: Extension Other Design Decisions1244913 +Node: Extension Future Growth1247026 +Node: Notes summary1247862 +Node: Basic Concepts1249037 +Node: Basic High Level1249718 +Ref: figure-general-flow1250000 +Ref: figure-process-flow1250685 +Ref: Basic High Level-Footnote-11253986 +Node: Basic Data Typing1254171 +Node: Glossary1257499 +Node: Copying1289337 +Node: GNU Free Documentation License1326880 +Node: Index1352000 End Tag Table |