diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1066 |
1 files changed, 554 insertions, 512 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 6843effe..24838360 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -637,6 +637,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Future Extensions:: New features that may be implemented one day. * Implementation Limitations:: Some limitations of the implementation. +* Old Extension Mechansim:: Some compatibility for old extensions. * Basic High Level:: The high level view. * Basic Data Typing:: A very quick intro to data types. @@ -26496,6 +26497,7 @@ and maintainers of `gawk'. Everything in it applies specifically to * Additions:: Making Additions To `gawk'. * Future Extensions:: New features that may be implemented one day. * Implementation Limitations:: Some limitations of the implementation. +* Old Extension Mechansim:: Some compatibility for old extensions. File: gawk.info, Node: Compatibility Mode, Next: Additions, Up: Notes @@ -26959,7 +26961,7 @@ Additions::, if you are interested in tackling any of the projects listed there. -File: gawk.info, Node: Implementation Limitations, Prev: Future Extensions, Up: Notes +File: gawk.info, Node: Implementation Limitations, Next: Old Extension Mechansim, Prev: Future Extensions, Up: Notes C.4 Some Limitations of the Implementation ========================================== @@ -26990,6 +26992,45 @@ Size of a literal string `MAX_INT ' Size of a printf string `MAX_INT ' +File: gawk.info, Node: Old Extension Mechansim, Prev: Implementation Limitations, Up: Notes + +C.5 Compatibility For Old Extensions +==================================== + +*note Dynamic Extensions::, describes the supported API and mechanisms +for writing extensions for `gawk'. This API was introduced in *FIXME: +VERSION*. However, for many years `gawk' provided an extension +mechanism that required knowledge of `gawk' internals and that was not +as well designed. + + In order to provide a transition period, `gawk' version *FIXME: +VERSION* continues to support the original extension mechanism. This +will be true for the life of exactly one major release. This support +will be withdrawn, and removed from the source code, at the next major +release. + + Briefly, original-style extensions should be compiled by including +the `awk.h' header file in the extension source code. Additionally, you +must define the identifier `GAWK' when building (use `-DGAWK' with +Unix-style compilers). Otherwise, the definitions in `gawkapi.h' will +cause conflicts with those in `awk.h' and your extension will not +compile. + + Just as in previous versions, you load an old-style extension with +the `extension()' built-in function (which is not otherwise documented). +This function in turn finds and loads the shared object file containing +the extension and calls its `dl_load()' C routine. + + Because original-style and new-style extensions use different +initialiation routines (`dl_load()' versus `dlload()'), they may safely +be installed in the same directory (to be found by `AWKLIBPATH') +without conflict. + + The `gawk' development team strongly recommends that you convert any +old extensions that you may have to use the new API described in *note +Dynamic Extensions::. + + File: gawk.info, Node: Basic Concepts, Next: Glossary, Prev: Notes, Up: Top Appendix D Basic Programming Concepts @@ -31779,516 +31820,517 @@ Index Tag Table: Node: Top1352 -Node: Foreword40138 -Node: Preface44483 -Ref: Preface-Footnote-147536 -Ref: Preface-Footnote-247642 -Node: History47874 -Node: Names50265 -Ref: Names-Footnote-151742 -Node: This Manual51814 -Ref: This Manual-Footnote-157720 -Node: Conventions57820 -Node: Manual History59954 -Ref: Manual History-Footnote-163224 -Ref: Manual History-Footnote-263265 -Node: How To Contribute63339 -Node: Acknowledgments64483 -Node: Getting Started68979 -Node: Running gawk71358 -Node: One-shot72544 -Node: Read Terminal73769 -Ref: Read Terminal-Footnote-175419 -Ref: Read Terminal-Footnote-275695 -Node: Long75866 -Node: Executable Scripts77242 -Ref: Executable Scripts-Footnote-179111 -Ref: Executable Scripts-Footnote-279213 -Node: Comments79760 -Node: Quoting82227 -Node: DOS Quoting86850 -Node: Sample Data Files87525 -Node: Very Simple90557 -Node: Two Rules95156 -Node: More Complex97303 -Ref: More Complex-Footnote-1100233 -Node: Statements/Lines100318 -Ref: Statements/Lines-Footnote-1104780 -Node: Other Features105045 -Node: When105973 -Node: Invoking Gawk108120 -Node: Command Line109581 -Node: Options110364 -Ref: Options-Footnote-1125762 -Node: Other Arguments125787 -Node: Naming Standard Input128445 -Node: Environment Variables129539 -Node: AWKPATH Variable130097 -Ref: AWKPATH Variable-Footnote-1132855 -Node: AWKLIBPATH Variable133115 -Node: Other Environment Variables133712 -Node: Exit Status136207 -Node: Include Files136882 -Node: Loading Shared Libraries140451 -Node: Obsolete141676 -Node: Undocumented142373 -Node: Regexp142616 -Node: Regexp Usage144005 -Node: Escape Sequences146031 -Node: Regexp Operators151794 -Ref: Regexp Operators-Footnote-1159174 -Ref: Regexp Operators-Footnote-2159321 -Node: Bracket Expressions159419 -Ref: table-char-classes161309 -Node: GNU Regexp Operators163832 -Node: Case-sensitivity167555 -Ref: Case-sensitivity-Footnote-1170523 -Ref: Case-sensitivity-Footnote-2170758 -Node: Leftmost Longest170866 -Node: Computed Regexps172067 -Node: Reading Files175477 -Node: Records177480 -Ref: Records-Footnote-1186404 -Node: Fields186441 -Ref: Fields-Footnote-1189474 -Node: Nonconstant Fields189560 -Node: Changing Fields191762 -Node: Field Separators197743 -Node: Default Field Splitting200372 -Node: Regexp Field Splitting201489 -Node: Single Character Fields204831 -Node: Command Line Field Separator205890 -Node: Field Splitting Summary209331 -Ref: Field Splitting Summary-Footnote-1212523 -Node: Constant Size212624 -Node: Splitting By Content217208 -Ref: Splitting By Content-Footnote-1220934 -Node: Multiple Line220974 -Ref: Multiple Line-Footnote-1226821 -Node: Getline227000 -Node: Plain Getline229216 -Node: Getline/Variable231305 -Node: Getline/File232446 -Node: Getline/Variable/File233768 -Ref: Getline/Variable/File-Footnote-1235367 -Node: Getline/Pipe235454 -Node: Getline/Variable/Pipe238014 -Node: Getline/Coprocess239121 -Node: Getline/Variable/Coprocess240364 -Node: Getline Notes241078 -Node: Getline Summary243865 -Ref: table-getline-variants244273 -Node: Read Timeout245131 -Ref: Read Timeout-Footnote-1248876 -Node: Command line directories248933 -Node: Printing249563 -Node: Print251194 -Node: Print Examples252531 -Node: Output Separators255315 -Node: OFMT257075 -Node: Printf258433 -Node: Basic Printf259339 -Node: Control Letters260878 -Node: Format Modifiers264690 -Node: Printf Examples270699 -Node: Redirection273414 -Node: Special Files280398 -Node: Special FD280931 -Ref: Special FD-Footnote-1284556 -Node: Special Network284630 -Node: Special Caveats285480 -Node: Close Files And Pipes286276 -Ref: Close Files And Pipes-Footnote-1293299 -Ref: Close Files And Pipes-Footnote-2293447 -Node: Expressions293597 -Node: Values294729 -Node: Constants295405 -Node: Scalar Constants296085 -Ref: Scalar Constants-Footnote-1296944 -Node: Nondecimal-numbers297126 -Node: Regexp Constants300185 -Node: Using Constant Regexps300660 -Node: Variables303715 -Node: Using Variables304370 -Node: Assignment Options306094 -Node: Conversion307966 -Ref: table-locale-affects313342 -Ref: Conversion-Footnote-1313966 -Node: All Operators314075 -Node: Arithmetic Ops314705 -Node: Concatenation317210 -Ref: Concatenation-Footnote-1320003 -Node: Assignment Ops320123 -Ref: table-assign-ops325111 -Node: Increment Ops326519 -Node: Truth Values and Conditions329989 -Node: Truth Values331072 -Node: Typing and Comparison332121 -Node: Variable Typing332910 -Ref: Variable Typing-Footnote-1336807 -Node: Comparison Operators336929 -Ref: table-relational-ops337339 -Node: POSIX String Comparison340888 -Ref: POSIX String Comparison-Footnote-1341844 -Node: Boolean Ops341982 -Ref: Boolean Ops-Footnote-1346060 -Node: Conditional Exp346151 -Node: Function Calls347883 -Node: Precedence351477 -Node: Locales355146 -Node: Patterns and Actions356235 -Node: Pattern Overview357289 -Node: Regexp Patterns358958 -Node: Expression Patterns359501 -Node: Ranges363186 -Node: BEGIN/END366152 -Node: Using BEGIN/END366914 -Ref: Using BEGIN/END-Footnote-1369645 -Node: I/O And BEGIN/END369751 -Node: BEGINFILE/ENDFILE372033 -Node: Empty374937 -Node: Using Shell Variables375253 -Node: Action Overview377538 -Node: Statements379895 -Node: If Statement381749 -Node: While Statement383248 -Node: Do Statement385292 -Node: For Statement386448 -Node: Switch Statement389600 -Node: Break Statement391697 -Node: Continue Statement393687 -Node: Next Statement395480 -Node: Nextfile Statement397870 -Node: Exit Statement400511 -Node: Built-in Variables402927 -Node: User-modified404022 -Ref: User-modified-Footnote-1412377 -Node: Auto-set412439 -Ref: Auto-set-Footnote-1424790 -Ref: Auto-set-Footnote-2424995 -Node: ARGC and ARGV425051 -Node: Arrays428902 -Node: Array Basics430407 -Node: Array Intro431233 -Node: Reference to Elements435551 -Node: Assigning Elements437821 -Node: Array Example438312 -Node: Scanning an Array440044 -Node: Controlling Scanning442358 -Ref: Controlling Scanning-Footnote-1447291 -Node: Delete447607 -Ref: Delete-Footnote-1450372 -Node: Numeric Array Subscripts450429 -Node: Uninitialized Subscripts452612 -Node: Multi-dimensional454240 -Node: Multi-scanning457334 -Node: Arrays of Arrays458925 -Node: Functions463570 -Node: Built-in464389 -Node: Calling Built-in465467 -Node: Numeric Functions467455 -Ref: Numeric Functions-Footnote-1471287 -Ref: Numeric Functions-Footnote-2471644 -Ref: Numeric Functions-Footnote-3471692 -Node: String Functions471961 -Ref: String Functions-Footnote-1495458 -Ref: String Functions-Footnote-2495587 -Ref: String Functions-Footnote-3495835 -Node: Gory Details495922 -Ref: table-sub-escapes497601 -Ref: table-sub-posix-92498955 -Ref: table-sub-proposed500306 -Ref: table-posix-sub501660 -Ref: table-gensub-escapes503205 -Ref: Gory Details-Footnote-1504412 -Ref: Gory Details-Footnote-2504463 -Node: I/O Functions504614 -Ref: I/O Functions-Footnote-1511719 -Node: Time Functions511866 -Ref: Time Functions-Footnote-1522758 -Ref: Time Functions-Footnote-2522826 -Ref: Time Functions-Footnote-3522984 -Ref: Time Functions-Footnote-4523095 -Ref: Time Functions-Footnote-5523207 -Ref: Time Functions-Footnote-6523434 -Node: Bitwise Functions523700 -Ref: table-bitwise-ops524258 -Ref: Bitwise Functions-Footnote-1528479 -Node: Type Functions528663 -Node: I18N Functions529133 -Node: User-defined530760 -Node: Definition Syntax531564 -Ref: Definition Syntax-Footnote-1536474 -Node: Function Example536543 -Node: Function Caveats539137 -Node: Calling A Function539558 -Node: Variable Scope540673 -Node: Pass By Value/Reference543636 -Node: Return Statement547076 -Node: Dynamic Typing550057 -Node: Indirect Calls550792 -Node: Library Functions560477 -Ref: Library Functions-Footnote-1563476 -Node: Library Names563647 -Ref: Library Names-Footnote-1567118 -Ref: Library Names-Footnote-2567338 -Node: General Functions567424 -Node: Strtonum Function568377 -Node: Assert Function571307 -Node: Round Function574633 -Node: Cliff Random Function576176 -Node: Ordinal Functions577192 -Ref: Ordinal Functions-Footnote-1580262 -Ref: Ordinal Functions-Footnote-2580514 -Node: Join Function580723 -Ref: Join Function-Footnote-1582494 -Node: Getlocaltime Function582694 -Node: Data File Management586409 -Node: Filetrans Function587041 -Node: Rewind Function591180 -Node: File Checking592567 -Node: Empty Files593661 -Node: Ignoring Assigns595891 -Node: Getopt Function597444 -Ref: Getopt Function-Footnote-1608748 -Node: Passwd Functions608951 -Ref: Passwd Functions-Footnote-1617926 -Node: Group Functions618014 -Node: Walking Arrays626098 -Node: Sample Programs627667 -Node: Running Examples628344 -Node: Clones629072 -Node: Cut Program630296 -Node: Egrep Program640141 -Ref: Egrep Program-Footnote-1647914 -Node: Id Program648024 -Node: Split Program651640 -Ref: Split Program-Footnote-1655159 -Node: Tee Program655287 -Node: Uniq Program658090 -Node: Wc Program665519 -Ref: Wc Program-Footnote-1669785 -Ref: Wc Program-Footnote-2669985 -Node: Miscellaneous Programs670077 -Node: Dupword Program671265 -Node: Alarm Program673296 -Node: Translate Program678045 -Ref: Translate Program-Footnote-1682432 -Ref: Translate Program-Footnote-2682660 -Node: Labels Program682794 -Ref: Labels Program-Footnote-1686165 -Node: Word Sorting686249 -Node: History Sorting690133 -Node: Extract Program691972 -Ref: Extract Program-Footnote-1699455 -Node: Simple Sed699583 -Node: Igawk Program702645 -Ref: Igawk Program-Footnote-1717802 -Ref: Igawk Program-Footnote-2718003 -Node: Anagram Program718141 -Node: Signature Program721209 -Node: Internationalization722309 -Node: I18N and L10N723741 -Node: Explaining gettext724427 -Ref: Explaining gettext-Footnote-1729493 -Ref: Explaining gettext-Footnote-2729677 -Node: Programmer i18n729842 -Node: Translator i18n734042 -Node: String Extraction734835 -Ref: String Extraction-Footnote-1735796 -Node: Printf Ordering735882 -Ref: Printf Ordering-Footnote-1738666 -Node: I18N Portability738730 -Ref: I18N Portability-Footnote-1741179 -Node: I18N Example741242 -Ref: I18N Example-Footnote-1743877 -Node: Gawk I18N743949 -Node: Advanced Features744566 -Node: Nondecimal Data746070 -Node: Array Sorting747653 -Node: Controlling Array Traversal748350 -Node: Array Sorting Functions756588 -Ref: Array Sorting Functions-Footnote-1760262 -Ref: Array Sorting Functions-Footnote-2760355 -Node: Two-way I/O760549 -Ref: Two-way I/O-Footnote-1765981 -Node: TCP/IP Networking766051 -Node: Profiling768895 -Node: Debugger776349 -Node: Debugging777317 -Node: Debugging Concepts777750 -Node: Debugging Terms779606 -Node: Awk Debugging782203 -Node: Sample Debugging Session783095 -Node: Debugger Invocation783615 -Node: Finding The Bug784944 -Node: List of Debugger Commands791432 -Node: Breakpoint Control792766 -Node: Debugger Execution Control796430 -Node: Viewing And Changing Data799790 -Node: Execution Stack803146 -Node: Debugger Info804613 -Node: Miscellaneous Debugger Commands808594 -Node: Readline Support814039 -Node: Limitations814870 -Node: Arbitrary Precision Arithmetic817122 -Ref: Arbitrary Precision Arithmetic-Footnote-1818764 -Node: General Arithmetic818912 -Node: Floating Point Issues820632 -Node: String Conversion Precision821513 -Ref: String Conversion Precision-Footnote-1823219 -Node: Unexpected Results823328 -Node: POSIX Floating Point Problems825481 -Ref: POSIX Floating Point Problems-Footnote-1829306 -Node: Integer Programming829344 -Node: Floating-point Programming831097 -Ref: Floating-point Programming-Footnote-1837406 -Node: Floating-point Representation837670 -Node: Floating-point Context838835 -Ref: table-ieee-formats839677 -Node: Rounding Mode841061 -Ref: table-rounding-modes841540 -Ref: Rounding Mode-Footnote-1844544 -Node: Gawk and MPFR844725 -Node: Arbitrary Precision Floats845967 -Ref: Arbitrary Precision Floats-Footnote-1848396 -Node: Setting Precision848707 -Node: Setting Rounding Mode851440 -Ref: table-gawk-rounding-modes851844 -Node: Floating-point Constants853024 -Node: Changing Precision854448 -Ref: Changing Precision-Footnote-1855848 -Node: Exact Arithmetic856022 -Node: Arbitrary Precision Integers859130 -Ref: Arbitrary Precision Integers-Footnote-1862130 -Node: Dynamic Extensions862277 -Node: Extension Intro863663 -Node: Plugin License864871 -Node: Extension Design865545 -Node: Old Extension Problems866616 -Ref: Old Extension Problems-Footnote-1868126 -Node: Extension New Mechanism Goals868183 -Ref: Extension New Mechanism Goals-Footnote-1870895 -Node: Extension Other Design Decisions871081 -Node: Extension Mechanism Outline873193 -Ref: load-extension874218 -Ref: load-new-function875696 -Ref: call-new-function876677 -Node: Extension Future Growth878671 -Node: Extension API Description879489 -Node: Extension API Functions Introduction880817 -Node: General Data Types885595 -Ref: General Data Types-Footnote-1891197 -Node: Requesting Values891496 -Ref: table-value-types-returned892227 -Node: Constructor Functions893181 -Node: Registration Functions896177 -Node: Extension Functions896862 -Node: Exit Callback Functions899036 -Node: Extension Version String900279 -Node: Input Parsers900929 -Node: Output Wrappers909516 -Node: Two-way processors913932 -Node: Printing Messages916062 -Ref: Printing Messages-Footnote-1917139 -Node: Updating `ERRNO'917291 -Node: Accessing Parameters918030 -Node: Symbol Table Access919260 -Node: Symbol table by name919772 -Ref: Symbol table by name-Footnote-1921942 -Node: Symbol table by cookie922022 -Ref: Symbol table by cookie-Footnote-1926151 -Node: Cached values926214 -Ref: Cached values-Footnote-1929657 -Node: Array Manipulation929748 -Ref: Array Manipulation-Footnote-1930846 -Node: Array Data Types930885 -Ref: Array Data Types-Footnote-1933588 -Node: Array Functions933680 -Node: Flattening Arrays937446 -Node: Creating Arrays944279 -Node: Extension API Variables949074 -Node: Extension Versioning949710 -Node: Extension API Informational Variables951611 -Node: Extension API Boilerplate952697 -Node: Finding Extensions956528 -Node: Extension Example957075 -Node: Internal File Description957813 -Node: Internal File Ops961501 -Ref: Internal File Ops-Footnote-1972948 -Node: Using Internal File Ops973088 -Ref: Using Internal File Ops-Footnote-1975441 -Node: Extension Samples975707 -Node: Extension Sample File Functions977150 -Node: Extension Sample Fnmatch985623 -Node: Extension Sample Fork987349 -Node: Extension Sample Ord988563 -Node: Extension Sample Readdir989339 -Node: Extension Sample Revout990843 -Node: Extension Sample Rev2way991436 -Node: Extension Sample Read write array992126 -Node: Extension Sample Readfile994009 -Node: Extension Sample API Tests994764 -Node: Extension Sample Time995289 -Node: gawkextlib996596 -Node: Language History998977 -Node: V7/SVR3.11000499 -Node: SVR41002820 -Node: POSIX1004262 -Node: BTL1005270 -Node: POSIX/GNU1006075 -Node: Common Extensions1011610 -Node: Ranges and Locales1012669 -Ref: Ranges and Locales-Footnote-11017287 -Ref: Ranges and Locales-Footnote-21017314 -Ref: Ranges and Locales-Footnote-31017574 -Node: Contributors1017795 -Node: Installation1022091 -Node: Gawk Distribution1022985 -Node: Getting1023469 -Node: Extracting1024295 -Node: Distribution contents1025987 -Node: Unix Installation1031248 -Node: Quick Installation1031865 -Node: Additional Configuration Options1033827 -Node: Configuration Philosophy1035304 -Node: Non-Unix Installation1037646 -Node: PC Installation1038104 -Node: PC Binary Installation1039403 -Node: PC Compiling1041251 -Node: PC Testing1044195 -Node: PC Using1045371 -Node: Cygwin1049556 -Node: MSYS1050556 -Node: VMS Installation1051070 -Node: VMS Compilation1051673 -Ref: VMS Compilation-Footnote-11052680 -Node: VMS Installation Details1052738 -Node: VMS Running1054373 -Node: VMS Old Gawk1055980 -Node: Bugs1056454 -Node: Other Versions1060306 -Node: Notes1065621 -Node: Compatibility Mode1066280 -Node: Additions1067063 -Node: Accessing The Source1067990 -Node: Adding Code1069593 -Node: New Ports1075635 -Node: Derived Files1079770 -Ref: Derived Files-Footnote-11085078 -Ref: Derived Files-Footnote-21085112 -Ref: Derived Files-Footnote-31085712 -Node: Future Extensions1085810 -Node: Implementation Limitations1086391 -Node: Basic Concepts1087618 -Node: Basic High Level1088299 -Ref: figure-general-flow1088570 -Ref: figure-process-flow1089169 -Ref: Basic High Level-Footnote-11092398 -Node: Basic Data Typing1092583 -Node: Glossary1095938 -Node: Copying1121249 -Node: GNU Free Documentation License1158806 -Node: Index1183943 +Node: Foreword40217 +Node: Preface44562 +Ref: Preface-Footnote-147615 +Ref: Preface-Footnote-247721 +Node: History47953 +Node: Names50344 +Ref: Names-Footnote-151821 +Node: This Manual51893 +Ref: This Manual-Footnote-157799 +Node: Conventions57899 +Node: Manual History60033 +Ref: Manual History-Footnote-163303 +Ref: Manual History-Footnote-263344 +Node: How To Contribute63418 +Node: Acknowledgments64562 +Node: Getting Started69058 +Node: Running gawk71437 +Node: One-shot72623 +Node: Read Terminal73848 +Ref: Read Terminal-Footnote-175498 +Ref: Read Terminal-Footnote-275774 +Node: Long75945 +Node: Executable Scripts77321 +Ref: Executable Scripts-Footnote-179190 +Ref: Executable Scripts-Footnote-279292 +Node: Comments79839 +Node: Quoting82306 +Node: DOS Quoting86929 +Node: Sample Data Files87604 +Node: Very Simple90636 +Node: Two Rules95235 +Node: More Complex97382 +Ref: More Complex-Footnote-1100312 +Node: Statements/Lines100397 +Ref: Statements/Lines-Footnote-1104859 +Node: Other Features105124 +Node: When106052 +Node: Invoking Gawk108199 +Node: Command Line109660 +Node: Options110443 +Ref: Options-Footnote-1125841 +Node: Other Arguments125866 +Node: Naming Standard Input128524 +Node: Environment Variables129618 +Node: AWKPATH Variable130176 +Ref: AWKPATH Variable-Footnote-1132934 +Node: AWKLIBPATH Variable133194 +Node: Other Environment Variables133791 +Node: Exit Status136286 +Node: Include Files136961 +Node: Loading Shared Libraries140530 +Node: Obsolete141755 +Node: Undocumented142452 +Node: Regexp142695 +Node: Regexp Usage144084 +Node: Escape Sequences146110 +Node: Regexp Operators151873 +Ref: Regexp Operators-Footnote-1159253 +Ref: Regexp Operators-Footnote-2159400 +Node: Bracket Expressions159498 +Ref: table-char-classes161388 +Node: GNU Regexp Operators163911 +Node: Case-sensitivity167634 +Ref: Case-sensitivity-Footnote-1170602 +Ref: Case-sensitivity-Footnote-2170837 +Node: Leftmost Longest170945 +Node: Computed Regexps172146 +Node: Reading Files175556 +Node: Records177559 +Ref: Records-Footnote-1186483 +Node: Fields186520 +Ref: Fields-Footnote-1189553 +Node: Nonconstant Fields189639 +Node: Changing Fields191841 +Node: Field Separators197822 +Node: Default Field Splitting200451 +Node: Regexp Field Splitting201568 +Node: Single Character Fields204910 +Node: Command Line Field Separator205969 +Node: Field Splitting Summary209410 +Ref: Field Splitting Summary-Footnote-1212602 +Node: Constant Size212703 +Node: Splitting By Content217287 +Ref: Splitting By Content-Footnote-1221013 +Node: Multiple Line221053 +Ref: Multiple Line-Footnote-1226900 +Node: Getline227079 +Node: Plain Getline229295 +Node: Getline/Variable231384 +Node: Getline/File232525 +Node: Getline/Variable/File233847 +Ref: Getline/Variable/File-Footnote-1235446 +Node: Getline/Pipe235533 +Node: Getline/Variable/Pipe238093 +Node: Getline/Coprocess239200 +Node: Getline/Variable/Coprocess240443 +Node: Getline Notes241157 +Node: Getline Summary243944 +Ref: table-getline-variants244352 +Node: Read Timeout245210 +Ref: Read Timeout-Footnote-1248955 +Node: Command line directories249012 +Node: Printing249642 +Node: Print251273 +Node: Print Examples252610 +Node: Output Separators255394 +Node: OFMT257154 +Node: Printf258512 +Node: Basic Printf259418 +Node: Control Letters260957 +Node: Format Modifiers264769 +Node: Printf Examples270778 +Node: Redirection273493 +Node: Special Files280477 +Node: Special FD281010 +Ref: Special FD-Footnote-1284635 +Node: Special Network284709 +Node: Special Caveats285559 +Node: Close Files And Pipes286355 +Ref: Close Files And Pipes-Footnote-1293378 +Ref: Close Files And Pipes-Footnote-2293526 +Node: Expressions293676 +Node: Values294808 +Node: Constants295484 +Node: Scalar Constants296164 +Ref: Scalar Constants-Footnote-1297023 +Node: Nondecimal-numbers297205 +Node: Regexp Constants300264 +Node: Using Constant Regexps300739 +Node: Variables303794 +Node: Using Variables304449 +Node: Assignment Options306173 +Node: Conversion308045 +Ref: table-locale-affects313421 +Ref: Conversion-Footnote-1314045 +Node: All Operators314154 +Node: Arithmetic Ops314784 +Node: Concatenation317289 +Ref: Concatenation-Footnote-1320082 +Node: Assignment Ops320202 +Ref: table-assign-ops325190 +Node: Increment Ops326598 +Node: Truth Values and Conditions330068 +Node: Truth Values331151 +Node: Typing and Comparison332200 +Node: Variable Typing332989 +Ref: Variable Typing-Footnote-1336886 +Node: Comparison Operators337008 +Ref: table-relational-ops337418 +Node: POSIX String Comparison340967 +Ref: POSIX String Comparison-Footnote-1341923 +Node: Boolean Ops342061 +Ref: Boolean Ops-Footnote-1346139 +Node: Conditional Exp346230 +Node: Function Calls347962 +Node: Precedence351556 +Node: Locales355225 +Node: Patterns and Actions356314 +Node: Pattern Overview357368 +Node: Regexp Patterns359037 +Node: Expression Patterns359580 +Node: Ranges363265 +Node: BEGIN/END366231 +Node: Using BEGIN/END366993 +Ref: Using BEGIN/END-Footnote-1369724 +Node: I/O And BEGIN/END369830 +Node: BEGINFILE/ENDFILE372112 +Node: Empty375016 +Node: Using Shell Variables375332 +Node: Action Overview377617 +Node: Statements379974 +Node: If Statement381828 +Node: While Statement383327 +Node: Do Statement385371 +Node: For Statement386527 +Node: Switch Statement389679 +Node: Break Statement391776 +Node: Continue Statement393766 +Node: Next Statement395559 +Node: Nextfile Statement397949 +Node: Exit Statement400590 +Node: Built-in Variables403006 +Node: User-modified404101 +Ref: User-modified-Footnote-1412456 +Node: Auto-set412518 +Ref: Auto-set-Footnote-1424869 +Ref: Auto-set-Footnote-2425074 +Node: ARGC and ARGV425130 +Node: Arrays428981 +Node: Array Basics430486 +Node: Array Intro431312 +Node: Reference to Elements435630 +Node: Assigning Elements437900 +Node: Array Example438391 +Node: Scanning an Array440123 +Node: Controlling Scanning442437 +Ref: Controlling Scanning-Footnote-1447370 +Node: Delete447686 +Ref: Delete-Footnote-1450451 +Node: Numeric Array Subscripts450508 +Node: Uninitialized Subscripts452691 +Node: Multi-dimensional454319 +Node: Multi-scanning457413 +Node: Arrays of Arrays459004 +Node: Functions463649 +Node: Built-in464468 +Node: Calling Built-in465546 +Node: Numeric Functions467534 +Ref: Numeric Functions-Footnote-1471366 +Ref: Numeric Functions-Footnote-2471723 +Ref: Numeric Functions-Footnote-3471771 +Node: String Functions472040 +Ref: String Functions-Footnote-1495537 +Ref: String Functions-Footnote-2495666 +Ref: String Functions-Footnote-3495914 +Node: Gory Details496001 +Ref: table-sub-escapes497680 +Ref: table-sub-posix-92499034 +Ref: table-sub-proposed500385 +Ref: table-posix-sub501739 +Ref: table-gensub-escapes503284 +Ref: Gory Details-Footnote-1504491 +Ref: Gory Details-Footnote-2504542 +Node: I/O Functions504693 +Ref: I/O Functions-Footnote-1511798 +Node: Time Functions511945 +Ref: Time Functions-Footnote-1522837 +Ref: Time Functions-Footnote-2522905 +Ref: Time Functions-Footnote-3523063 +Ref: Time Functions-Footnote-4523174 +Ref: Time Functions-Footnote-5523286 +Ref: Time Functions-Footnote-6523513 +Node: Bitwise Functions523779 +Ref: table-bitwise-ops524337 +Ref: Bitwise Functions-Footnote-1528558 +Node: Type Functions528742 +Node: I18N Functions529212 +Node: User-defined530839 +Node: Definition Syntax531643 +Ref: Definition Syntax-Footnote-1536553 +Node: Function Example536622 +Node: Function Caveats539216 +Node: Calling A Function539637 +Node: Variable Scope540752 +Node: Pass By Value/Reference543715 +Node: Return Statement547155 +Node: Dynamic Typing550136 +Node: Indirect Calls550871 +Node: Library Functions560556 +Ref: Library Functions-Footnote-1563555 +Node: Library Names563726 +Ref: Library Names-Footnote-1567197 +Ref: Library Names-Footnote-2567417 +Node: General Functions567503 +Node: Strtonum Function568456 +Node: Assert Function571386 +Node: Round Function574712 +Node: Cliff Random Function576255 +Node: Ordinal Functions577271 +Ref: Ordinal Functions-Footnote-1580341 +Ref: Ordinal Functions-Footnote-2580593 +Node: Join Function580802 +Ref: Join Function-Footnote-1582573 +Node: Getlocaltime Function582773 +Node: Data File Management586488 +Node: Filetrans Function587120 +Node: Rewind Function591259 +Node: File Checking592646 +Node: Empty Files593740 +Node: Ignoring Assigns595970 +Node: Getopt Function597523 +Ref: Getopt Function-Footnote-1608827 +Node: Passwd Functions609030 +Ref: Passwd Functions-Footnote-1618005 +Node: Group Functions618093 +Node: Walking Arrays626177 +Node: Sample Programs627746 +Node: Running Examples628423 +Node: Clones629151 +Node: Cut Program630375 +Node: Egrep Program640220 +Ref: Egrep Program-Footnote-1647993 +Node: Id Program648103 +Node: Split Program651719 +Ref: Split Program-Footnote-1655238 +Node: Tee Program655366 +Node: Uniq Program658169 +Node: Wc Program665598 +Ref: Wc Program-Footnote-1669864 +Ref: Wc Program-Footnote-2670064 +Node: Miscellaneous Programs670156 +Node: Dupword Program671344 +Node: Alarm Program673375 +Node: Translate Program678124 +Ref: Translate Program-Footnote-1682511 +Ref: Translate Program-Footnote-2682739 +Node: Labels Program682873 +Ref: Labels Program-Footnote-1686244 +Node: Word Sorting686328 +Node: History Sorting690212 +Node: Extract Program692051 +Ref: Extract Program-Footnote-1699534 +Node: Simple Sed699662 +Node: Igawk Program702724 +Ref: Igawk Program-Footnote-1717881 +Ref: Igawk Program-Footnote-2718082 +Node: Anagram Program718220 +Node: Signature Program721288 +Node: Internationalization722388 +Node: I18N and L10N723820 +Node: Explaining gettext724506 +Ref: Explaining gettext-Footnote-1729572 +Ref: Explaining gettext-Footnote-2729756 +Node: Programmer i18n729921 +Node: Translator i18n734121 +Node: String Extraction734914 +Ref: String Extraction-Footnote-1735875 +Node: Printf Ordering735961 +Ref: Printf Ordering-Footnote-1738745 +Node: I18N Portability738809 +Ref: I18N Portability-Footnote-1741258 +Node: I18N Example741321 +Ref: I18N Example-Footnote-1743956 +Node: Gawk I18N744028 +Node: Advanced Features744645 +Node: Nondecimal Data746149 +Node: Array Sorting747732 +Node: Controlling Array Traversal748429 +Node: Array Sorting Functions756667 +Ref: Array Sorting Functions-Footnote-1760341 +Ref: Array Sorting Functions-Footnote-2760434 +Node: Two-way I/O760628 +Ref: Two-way I/O-Footnote-1766060 +Node: TCP/IP Networking766130 +Node: Profiling768974 +Node: Debugger776428 +Node: Debugging777396 +Node: Debugging Concepts777829 +Node: Debugging Terms779685 +Node: Awk Debugging782282 +Node: Sample Debugging Session783174 +Node: Debugger Invocation783694 +Node: Finding The Bug785023 +Node: List of Debugger Commands791511 +Node: Breakpoint Control792845 +Node: Debugger Execution Control796509 +Node: Viewing And Changing Data799869 +Node: Execution Stack803225 +Node: Debugger Info804692 +Node: Miscellaneous Debugger Commands808673 +Node: Readline Support814118 +Node: Limitations814949 +Node: Arbitrary Precision Arithmetic817201 +Ref: Arbitrary Precision Arithmetic-Footnote-1818843 +Node: General Arithmetic818991 +Node: Floating Point Issues820711 +Node: String Conversion Precision821592 +Ref: String Conversion Precision-Footnote-1823298 +Node: Unexpected Results823407 +Node: POSIX Floating Point Problems825560 +Ref: POSIX Floating Point Problems-Footnote-1829385 +Node: Integer Programming829423 +Node: Floating-point Programming831176 +Ref: Floating-point Programming-Footnote-1837485 +Node: Floating-point Representation837749 +Node: Floating-point Context838914 +Ref: table-ieee-formats839756 +Node: Rounding Mode841140 +Ref: table-rounding-modes841619 +Ref: Rounding Mode-Footnote-1844623 +Node: Gawk and MPFR844804 +Node: Arbitrary Precision Floats846046 +Ref: Arbitrary Precision Floats-Footnote-1848475 +Node: Setting Precision848786 +Node: Setting Rounding Mode851519 +Ref: table-gawk-rounding-modes851923 +Node: Floating-point Constants853103 +Node: Changing Precision854527 +Ref: Changing Precision-Footnote-1855927 +Node: Exact Arithmetic856101 +Node: Arbitrary Precision Integers859209 +Ref: Arbitrary Precision Integers-Footnote-1862209 +Node: Dynamic Extensions862356 +Node: Extension Intro863742 +Node: Plugin License864950 +Node: Extension Design865624 +Node: Old Extension Problems866695 +Ref: Old Extension Problems-Footnote-1868205 +Node: Extension New Mechanism Goals868262 +Ref: Extension New Mechanism Goals-Footnote-1870974 +Node: Extension Other Design Decisions871160 +Node: Extension Mechanism Outline873272 +Ref: load-extension874297 +Ref: load-new-function875775 +Ref: call-new-function876756 +Node: Extension Future Growth878750 +Node: Extension API Description879568 +Node: Extension API Functions Introduction880896 +Node: General Data Types885674 +Ref: General Data Types-Footnote-1891276 +Node: Requesting Values891575 +Ref: table-value-types-returned892306 +Node: Constructor Functions893260 +Node: Registration Functions896256 +Node: Extension Functions896941 +Node: Exit Callback Functions899115 +Node: Extension Version String900358 +Node: Input Parsers901008 +Node: Output Wrappers909595 +Node: Two-way processors914011 +Node: Printing Messages916141 +Ref: Printing Messages-Footnote-1917218 +Node: Updating `ERRNO'917370 +Node: Accessing Parameters918109 +Node: Symbol Table Access919339 +Node: Symbol table by name919851 +Ref: Symbol table by name-Footnote-1922021 +Node: Symbol table by cookie922101 +Ref: Symbol table by cookie-Footnote-1926230 +Node: Cached values926293 +Ref: Cached values-Footnote-1929736 +Node: Array Manipulation929827 +Ref: Array Manipulation-Footnote-1930925 +Node: Array Data Types930964 +Ref: Array Data Types-Footnote-1933667 +Node: Array Functions933759 +Node: Flattening Arrays937525 +Node: Creating Arrays944358 +Node: Extension API Variables949153 +Node: Extension Versioning949789 +Node: Extension API Informational Variables951690 +Node: Extension API Boilerplate952776 +Node: Finding Extensions956607 +Node: Extension Example957154 +Node: Internal File Description957892 +Node: Internal File Ops961580 +Ref: Internal File Ops-Footnote-1973027 +Node: Using Internal File Ops973167 +Ref: Using Internal File Ops-Footnote-1975520 +Node: Extension Samples975786 +Node: Extension Sample File Functions977229 +Node: Extension Sample Fnmatch985702 +Node: Extension Sample Fork987428 +Node: Extension Sample Ord988642 +Node: Extension Sample Readdir989418 +Node: Extension Sample Revout990922 +Node: Extension Sample Rev2way991515 +Node: Extension Sample Read write array992205 +Node: Extension Sample Readfile994088 +Node: Extension Sample API Tests994843 +Node: Extension Sample Time995368 +Node: gawkextlib996675 +Node: Language History999056 +Node: V7/SVR3.11000578 +Node: SVR41002899 +Node: POSIX1004341 +Node: BTL1005349 +Node: POSIX/GNU1006154 +Node: Common Extensions1011689 +Node: Ranges and Locales1012748 +Ref: Ranges and Locales-Footnote-11017366 +Ref: Ranges and Locales-Footnote-21017393 +Ref: Ranges and Locales-Footnote-31017653 +Node: Contributors1017874 +Node: Installation1022170 +Node: Gawk Distribution1023064 +Node: Getting1023548 +Node: Extracting1024374 +Node: Distribution contents1026066 +Node: Unix Installation1031327 +Node: Quick Installation1031944 +Node: Additional Configuration Options1033906 +Node: Configuration Philosophy1035383 +Node: Non-Unix Installation1037725 +Node: PC Installation1038183 +Node: PC Binary Installation1039482 +Node: PC Compiling1041330 +Node: PC Testing1044274 +Node: PC Using1045450 +Node: Cygwin1049635 +Node: MSYS1050635 +Node: VMS Installation1051149 +Node: VMS Compilation1051752 +Ref: VMS Compilation-Footnote-11052759 +Node: VMS Installation Details1052817 +Node: VMS Running1054452 +Node: VMS Old Gawk1056059 +Node: Bugs1056533 +Node: Other Versions1060385 +Node: Notes1065700 +Node: Compatibility Mode1066430 +Node: Additions1067213 +Node: Accessing The Source1068140 +Node: Adding Code1069743 +Node: New Ports1075785 +Node: Derived Files1079920 +Ref: Derived Files-Footnote-11085228 +Ref: Derived Files-Footnote-21085262 +Ref: Derived Files-Footnote-31085862 +Node: Future Extensions1085960 +Node: Implementation Limitations1086541 +Node: Old Extension Mechansim1087800 +Node: Basic Concepts1089567 +Node: Basic High Level1090248 +Ref: figure-general-flow1090519 +Ref: figure-process-flow1091118 +Ref: Basic High Level-Footnote-11094347 +Node: Basic Data Typing1094532 +Node: Glossary1097887 +Node: Copying1123198 +Node: GNU Free Documentation License1160755 +Node: Index1185892 End Tag Table |