diff options
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 971 | ||||
-rw-r--r-- | doc/gawk.texi | 95 | ||||
-rw-r--r-- | doc/gawktexi.in | 95 |
4 files changed, 649 insertions, 517 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 194cf695..beb0413c 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2014-05-07 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Docbook edits for preface and parts. + Document AWKBUFSIZE. + 2014-05-05 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Editing progress. Through Chapter 9. diff --git a/doc/gawk.info b/doc/gawk.info index 706dace1..9bcd7e0c 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -2875,9 +2875,18 @@ used by regular users. the `gawk' developers for testing and tuning. They are subject to change. The variables are: +`AWKBUFSIZE' + This variable only affects `gawk' on POSIX-compliant systems. + With a value of `exact', `gawk' uses the size of each input file + as the size of the memory buffer to allocate for I/O. Otherwise, + the value should be a number, and `gawk' uses that number as the + size of the buffer to allocate. (When this variable is not set, + `gawk' uses the smaller of the file's size and the "default" + blocksize, which is usually the file systems I/O blocksize.) + `AWK_HASH' - If this variable exists with a value of `gst', `gawk' will switch - to using the hash function from GNU Smalltalk for managing arrays. + If this variable exists with a value of `gst', `gawk' switches to + using the hash function from GNU Smalltalk for managing arrays. This function may be marginally faster than the standard function. `AWKREADFUNC' @@ -33243,484 +33252,484 @@ Ref: AWKPATH Variable-Footnote-1133823 Ref: AWKPATH Variable-Footnote-2133868 Node: AWKLIBPATH Variable134128 Node: Other Environment Variables134887 -Node: Exit Status138052 -Node: Include Files138727 -Node: Loading Shared Libraries142305 -Node: Obsolete143688 -Node: Undocumented144385 -Node: Regexp144627 -Node: Regexp Usage146016 -Node: Escape Sequences148049 -Node: Regexp Operators153716 -Ref: Regexp Operators-Footnote-1161196 -Ref: Regexp Operators-Footnote-2161343 -Node: Bracket Expressions161441 -Ref: table-char-classes163331 -Node: GNU Regexp Operators165854 -Node: Case-sensitivity169577 -Ref: Case-sensitivity-Footnote-1172469 -Ref: Case-sensitivity-Footnote-2172704 -Node: Leftmost Longest172812 -Node: Computed Regexps174013 -Node: Reading Files177362 -Node: Records179364 -Node: awk split records180099 -Node: gawk split records184957 -Ref: gawk split records-Footnote-1189478 -Node: Fields189515 -Ref: Fields-Footnote-1192479 -Node: Nonconstant Fields192565 -Ref: Nonconstant Fields-Footnote-1194795 -Node: Changing Fields194997 -Node: Field Separators200951 -Node: Default Field Splitting203653 -Node: Regexp Field Splitting204770 -Node: Single Character Fields208111 -Node: Command Line Field Separator209170 -Node: Full Line Fields212512 -Ref: Full Line Fields-Footnote-1213020 -Node: Field Splitting Summary213066 -Ref: Field Splitting Summary-Footnote-1216165 -Node: Constant Size216266 -Node: Splitting By Content220873 -Ref: Splitting By Content-Footnote-1224623 -Node: Multiple Line224663 -Ref: Multiple Line-Footnote-1230519 -Node: Getline230698 -Node: Plain Getline232914 -Node: Getline/Variable235009 -Node: Getline/File236156 -Node: Getline/Variable/File237540 -Ref: Getline/Variable/File-Footnote-1239139 -Node: Getline/Pipe239226 -Node: Getline/Variable/Pipe241925 -Node: Getline/Coprocess243032 -Node: Getline/Variable/Coprocess244284 -Node: Getline Notes245021 -Node: Getline Summary247825 -Ref: table-getline-variants248233 -Node: Read Timeout249145 -Ref: Read Timeout-Footnote-1252972 -Node: Command line directories253030 -Node: Printing253912 -Node: Print255543 -Node: Print Examples256884 -Node: Output Separators259663 -Node: OFMT261679 -Node: Printf263037 -Node: Basic Printf263943 -Node: Control Letters265482 -Node: Format Modifiers269336 -Node: Printf Examples275363 -Node: Redirection278070 -Node: Special Files285042 -Node: Special FD285575 -Ref: Special FD-Footnote-1289199 -Node: Special Network289273 -Node: Special Caveats290123 -Node: Close Files And Pipes290919 -Ref: Close Files And Pipes-Footnote-1298057 -Ref: Close Files And Pipes-Footnote-2298205 -Node: Expressions298355 -Node: Values299487 -Node: Constants300163 -Node: Scalar Constants300843 -Ref: Scalar Constants-Footnote-1301702 -Node: Nondecimal-numbers301952 -Node: Regexp Constants304952 -Node: Using Constant Regexps305427 -Node: Variables308497 -Node: Using Variables309152 -Node: Assignment Options310876 -Node: Conversion312751 -Ref: table-locale-affects318187 -Ref: Conversion-Footnote-1318811 -Node: All Operators318920 -Node: Arithmetic Ops319550 -Node: Concatenation322055 -Ref: Concatenation-Footnote-1324851 -Node: Assignment Ops324971 -Ref: table-assign-ops329954 -Node: Increment Ops331271 -Node: Truth Values and Conditions334709 -Node: Truth Values335792 -Node: Typing and Comparison336841 -Node: Variable Typing337634 -Ref: Variable Typing-Footnote-1341534 -Node: Comparison Operators341656 -Ref: table-relational-ops342066 -Node: POSIX String Comparison345614 -Ref: POSIX String Comparison-Footnote-1346698 -Node: Boolean Ops346836 -Ref: Boolean Ops-Footnote-1350906 -Node: Conditional Exp350997 -Node: Function Calls352724 -Node: Precedence356482 -Node: Locales360151 -Node: Patterns and Actions361754 -Node: Pattern Overview362808 -Node: Regexp Patterns364485 -Node: Expression Patterns365028 -Node: Ranges368809 -Node: BEGIN/END371915 -Node: Using BEGIN/END372677 -Ref: Using BEGIN/END-Footnote-1375413 -Node: I/O And BEGIN/END375519 -Node: BEGINFILE/ENDFILE377804 -Node: Empty380740 -Node: Using Shell Variables381057 -Node: Action Overview383340 -Node: Statements385685 -Node: If Statement387539 -Node: While Statement389038 -Node: Do Statement391082 -Node: For Statement392238 -Node: Switch Statement395390 -Node: Break Statement397493 -Node: Continue Statement399548 -Node: Next Statement401341 -Node: Nextfile Statement403731 -Node: Exit Statement406386 -Node: Built-in Variables408788 -Node: User-modified409884 -Ref: User-modified-Footnote-1417569 -Node: Auto-set417631 -Ref: Auto-set-Footnote-1430196 -Ref: Auto-set-Footnote-2430401 -Node: ARGC and ARGV430457 -Node: Arrays434311 -Node: Array Basics435809 -Node: Array Intro436635 -Ref: figure-array-elements438608 -Node: Reference to Elements441015 -Node: Assigning Elements443288 -Node: Array Example443779 -Node: Scanning an Array445511 -Node: Controlling Scanning448526 -Ref: Controlling Scanning-Footnote-1453699 -Node: Delete454015 -Ref: Delete-Footnote-1456780 -Node: Numeric Array Subscripts456837 -Node: Uninitialized Subscripts459020 -Node: Multidimensional460645 -Node: Multiscanning463738 -Node: Arrays of Arrays465327 -Node: Functions469967 -Node: Built-in470786 -Node: Calling Built-in471864 -Node: Numeric Functions473852 -Ref: Numeric Functions-Footnote-1477686 -Ref: Numeric Functions-Footnote-2478043 -Ref: Numeric Functions-Footnote-3478091 -Node: String Functions478360 -Ref: String Functions-Footnote-1501371 -Ref: String Functions-Footnote-2501500 -Ref: String Functions-Footnote-3501748 -Node: Gory Details501835 -Ref: table-sub-escapes503504 -Ref: table-sub-posix-92504858 -Ref: table-sub-proposed506209 -Ref: table-posix-sub507563 -Ref: table-gensub-escapes509108 -Ref: Gory Details-Footnote-1510284 -Ref: Gory Details-Footnote-2510335 -Node: I/O Functions510486 -Ref: I/O Functions-Footnote-1517609 -Node: Time Functions517756 -Ref: Time Functions-Footnote-1528220 -Ref: Time Functions-Footnote-2528288 -Ref: Time Functions-Footnote-3528446 -Ref: Time Functions-Footnote-4528557 -Ref: Time Functions-Footnote-5528669 -Ref: Time Functions-Footnote-6528896 -Node: Bitwise Functions529162 -Ref: table-bitwise-ops529724 -Ref: Bitwise Functions-Footnote-1533969 -Node: Type Functions534153 -Node: I18N Functions535295 -Node: User-defined536940 -Node: Definition Syntax537744 -Ref: Definition Syntax-Footnote-1542659 -Node: Function Example542728 -Ref: Function Example-Footnote-1545372 -Node: Function Caveats545394 -Node: Calling A Function545912 -Node: Variable Scope546867 -Node: Pass By Value/Reference549855 -Node: Return Statement553363 -Node: Dynamic Typing556345 -Node: Indirect Calls557274 -Node: Library Functions566961 -Ref: Library Functions-Footnote-1570474 -Ref: Library Functions-Footnote-2570617 -Node: Library Names570788 -Ref: Library Names-Footnote-1574261 -Ref: Library Names-Footnote-2574481 -Node: General Functions574567 -Node: Strtonum Function575595 -Node: Assert Function578525 -Node: Round Function581851 -Node: Cliff Random Function583392 -Node: Ordinal Functions584408 -Ref: Ordinal Functions-Footnote-1587485 -Ref: Ordinal Functions-Footnote-2587737 -Node: Join Function587948 -Ref: Join Function-Footnote-1589719 -Node: Getlocaltime Function589919 -Node: Readfile Function593660 -Node: Data File Management595499 -Node: Filetrans Function596131 -Node: Rewind Function600200 -Node: File Checking601587 -Node: Empty Files602681 -Node: Ignoring Assigns604911 -Node: Getopt Function606465 -Ref: Getopt Function-Footnote-1617768 -Node: Passwd Functions617971 -Ref: Passwd Functions-Footnote-1626949 -Node: Group Functions627037 -Node: Walking Arrays635121 -Node: Sample Programs637257 -Node: Running Examples637931 -Node: Clones638659 -Node: Cut Program639883 -Node: Egrep Program649734 -Ref: Egrep Program-Footnote-1657507 -Node: Id Program657617 -Node: Split Program661266 -Ref: Split Program-Footnote-1664785 -Node: Tee Program664913 -Node: Uniq Program667716 -Node: Wc Program675145 -Ref: Wc Program-Footnote-1679411 -Ref: Wc Program-Footnote-2679611 -Node: Miscellaneous Programs679703 -Node: Dupword Program680891 -Node: Alarm Program682922 -Node: Translate Program687729 -Ref: Translate Program-Footnote-1692116 -Ref: Translate Program-Footnote-2692364 -Node: Labels Program692498 -Ref: Labels Program-Footnote-1695869 -Node: Word Sorting695953 -Node: History Sorting699837 -Node: Extract Program701676 -Ref: Extract Program-Footnote-1709179 -Node: Simple Sed709307 -Node: Igawk Program712369 -Ref: Igawk Program-Footnote-1727540 -Ref: Igawk Program-Footnote-2727741 -Node: Anagram Program727879 -Node: Signature Program730947 -Node: Advanced Features732047 -Node: Nondecimal Data733933 -Node: Array Sorting735516 -Node: Controlling Array Traversal736213 -Node: Array Sorting Functions744497 -Ref: Array Sorting Functions-Footnote-1748366 -Node: Two-way I/O748560 -Ref: Two-way I/O-Footnote-1753992 -Node: TCP/IP Networking754074 -Node: Profiling756918 -Node: Internationalization764421 -Node: I18N and L10N765846 -Node: Explaining gettext766532 -Ref: Explaining gettext-Footnote-1771600 -Ref: Explaining gettext-Footnote-2771784 -Node: Programmer i18n771949 -Node: Translator i18n776176 -Node: String Extraction776970 -Ref: String Extraction-Footnote-1777931 -Node: Printf Ordering778017 -Ref: Printf Ordering-Footnote-1780799 -Node: I18N Portability780863 -Ref: I18N Portability-Footnote-1783312 -Node: I18N Example783375 -Ref: I18N Example-Footnote-1786013 -Node: Gawk I18N786085 -Node: Debugger786706 -Node: Debugging787677 -Node: Debugging Concepts788110 -Node: Debugging Terms789966 -Node: Awk Debugging792563 -Node: Sample Debugging Session793455 -Node: Debugger Invocation793975 -Node: Finding The Bug795308 -Node: List of Debugger Commands801795 -Node: Breakpoint Control803129 -Node: Debugger Execution Control806793 -Node: Viewing And Changing Data810153 -Node: Execution Stack813509 -Node: Debugger Info814976 -Node: Miscellaneous Debugger Commands818970 -Node: Readline Support824148 -Node: Limitations824979 -Node: Arbitrary Precision Arithmetic827231 -Ref: Arbitrary Precision Arithmetic-Footnote-1828880 -Node: General Arithmetic829028 -Node: Floating Point Issues830748 -Node: String Conversion Precision831629 -Ref: String Conversion Precision-Footnote-1833334 -Node: Unexpected Results833443 -Node: POSIX Floating Point Problems835596 -Ref: POSIX Floating Point Problems-Footnote-1839421 -Node: Integer Programming839459 -Node: Floating-point Programming841198 -Ref: Floating-point Programming-Footnote-1847529 -Ref: Floating-point Programming-Footnote-2847799 -Node: Floating-point Representation848063 -Node: Floating-point Context849228 -Ref: table-ieee-formats850067 -Node: Rounding Mode851451 -Ref: table-rounding-modes851930 -Ref: Rounding Mode-Footnote-1854945 -Node: Gawk and MPFR855124 -Node: Arbitrary Precision Floats856533 -Ref: Arbitrary Precision Floats-Footnote-1858976 -Node: Setting Precision859292 -Ref: table-predefined-precision-strings859978 -Node: Setting Rounding Mode862123 -Ref: table-gawk-rounding-modes862527 -Node: Floating-point Constants863714 -Node: Changing Precision865143 -Ref: Changing Precision-Footnote-1866540 -Node: Exact Arithmetic866714 -Node: Arbitrary Precision Integers869852 -Ref: Arbitrary Precision Integers-Footnote-1872867 -Node: Dynamic Extensions873014 -Node: Extension Intro874472 -Node: Plugin License875737 -Node: Extension Mechanism Outline876422 -Ref: load-extension876839 -Ref: load-new-function878317 -Ref: call-new-function879312 -Node: Extension API Description881327 -Node: Extension API Functions Introduction882614 -Node: General Data Types887541 -Ref: General Data Types-Footnote-1893236 -Node: Requesting Values893535 -Ref: table-value-types-returned894272 -Node: Memory Allocation Functions895226 -Ref: Memory Allocation Functions-Footnote-1897972 -Node: Constructor Functions898068 -Node: Registration Functions899826 -Node: Extension Functions900511 -Node: Exit Callback Functions902813 -Node: Extension Version String904062 -Node: Input Parsers904712 -Node: Output Wrappers914469 -Node: Two-way processors918979 -Node: Printing Messages921187 -Ref: Printing Messages-Footnote-1922264 -Node: Updating `ERRNO'922416 -Node: Accessing Parameters923155 -Node: Symbol Table Access924385 -Node: Symbol table by name924899 -Node: Symbol table by cookie926875 -Ref: Symbol table by cookie-Footnote-1931007 -Node: Cached values931070 -Ref: Cached values-Footnote-1934560 -Node: Array Manipulation934651 -Ref: Array Manipulation-Footnote-1935749 -Node: Array Data Types935788 -Ref: Array Data Types-Footnote-1938491 -Node: Array Functions938583 -Node: Flattening Arrays942419 -Node: Creating Arrays949271 -Node: Extension API Variables953996 -Node: Extension Versioning954632 -Node: Extension API Informational Variables956533 -Node: Extension API Boilerplate957619 -Node: Finding Extensions961423 -Node: Extension Example961983 -Node: Internal File Description962713 -Node: Internal File Ops966804 -Ref: Internal File Ops-Footnote-1978313 -Node: Using Internal File Ops978453 -Ref: Using Internal File Ops-Footnote-1980800 -Node: Extension Samples981066 -Node: Extension Sample File Functions982590 -Node: Extension Sample Fnmatch991077 -Node: Extension Sample Fork992846 -Node: Extension Sample Inplace994059 -Node: Extension Sample Ord995837 -Node: Extension Sample Readdir996673 -Node: Extension Sample Revout998205 -Node: Extension Sample Rev2way998798 -Node: Extension Sample Read write array999488 -Node: Extension Sample Readfile1001371 -Node: Extension Sample API Tests1002471 -Node: Extension Sample Time1002996 -Node: gawkextlib1004360 -Node: Language History1007141 -Node: V7/SVR3.11008734 -Node: SVR41011054 -Node: POSIX1012496 -Node: BTL1013882 -Node: POSIX/GNU1014616 -Node: Feature History1020215 -Node: Common Extensions1033191 -Node: Ranges and Locales1034503 -Ref: Ranges and Locales-Footnote-11039120 -Ref: Ranges and Locales-Footnote-21039147 -Ref: Ranges and Locales-Footnote-31039381 -Node: Contributors1039602 -Node: Installation1044983 -Node: Gawk Distribution1045877 -Node: Getting1046361 -Node: Extracting1047187 -Node: Distribution contents1048879 -Node: Unix Installation1054600 -Node: Quick Installation1055217 -Node: Additional Configuration Options1057663 -Node: Configuration Philosophy1059399 -Node: Non-Unix Installation1061753 -Node: PC Installation1062211 -Node: PC Binary Installation1063510 -Node: PC Compiling1065358 -Node: PC Testing1068302 -Node: PC Using1069478 -Node: Cygwin1073646 -Node: MSYS1074455 -Node: VMS Installation1074969 -Node: VMS Compilation1075765 -Ref: VMS Compilation-Footnote-11077017 -Node: VMS Dynamic Extensions1077075 -Node: VMS Installation Details1078448 -Node: VMS Running1080699 -Node: VMS GNV1083533 -Node: VMS Old Gawk1084256 -Node: Bugs1084726 -Node: Other Versions1088644 -Node: Notes1094728 -Node: Compatibility Mode1095528 -Node: Additions1096311 -Node: Accessing The Source1097238 -Node: Adding Code1098678 -Node: New Ports1104723 -Node: Derived Files1108858 -Ref: Derived Files-Footnote-11114179 -Ref: Derived Files-Footnote-21114213 -Ref: Derived Files-Footnote-31114813 -Node: Future Extensions1114911 -Node: Implementation Limitations1115494 -Node: Extension Design1116742 -Node: Old Extension Problems1117896 -Ref: Old Extension Problems-Footnote-11119404 -Node: Extension New Mechanism Goals1119461 -Ref: Extension New Mechanism Goals-Footnote-11122826 -Node: Extension Other Design Decisions1123012 -Node: Extension Future Growth1125118 -Node: Old Extension Mechanism1125954 -Node: Basic Concepts1127694 -Node: Basic High Level1128375 -Ref: figure-general-flow1128647 -Ref: figure-process-flow1129246 -Ref: Basic High Level-Footnote-11132475 -Node: Basic Data Typing1132660 -Node: Glossary1136015 -Node: Copying1161246 -Node: GNU Free Documentation License1198802 -Node: Index1223938 +Node: Exit Status138542 +Node: Include Files139217 +Node: Loading Shared Libraries142795 +Node: Obsolete144178 +Node: Undocumented144875 +Node: Regexp145117 +Node: Regexp Usage146506 +Node: Escape Sequences148539 +Node: Regexp Operators154206 +Ref: Regexp Operators-Footnote-1161686 +Ref: Regexp Operators-Footnote-2161833 +Node: Bracket Expressions161931 +Ref: table-char-classes163821 +Node: GNU Regexp Operators166344 +Node: Case-sensitivity170067 +Ref: Case-sensitivity-Footnote-1172959 +Ref: Case-sensitivity-Footnote-2173194 +Node: Leftmost Longest173302 +Node: Computed Regexps174503 +Node: Reading Files177852 +Node: Records179854 +Node: awk split records180589 +Node: gawk split records185447 +Ref: gawk split records-Footnote-1189968 +Node: Fields190005 +Ref: Fields-Footnote-1192969 +Node: Nonconstant Fields193055 +Ref: Nonconstant Fields-Footnote-1195285 +Node: Changing Fields195487 +Node: Field Separators201441 +Node: Default Field Splitting204143 +Node: Regexp Field Splitting205260 +Node: Single Character Fields208601 +Node: Command Line Field Separator209660 +Node: Full Line Fields213002 +Ref: Full Line Fields-Footnote-1213510 +Node: Field Splitting Summary213556 +Ref: Field Splitting Summary-Footnote-1216655 +Node: Constant Size216756 +Node: Splitting By Content221363 +Ref: Splitting By Content-Footnote-1225113 +Node: Multiple Line225153 +Ref: Multiple Line-Footnote-1231009 +Node: Getline231188 +Node: Plain Getline233404 +Node: Getline/Variable235499 +Node: Getline/File236646 +Node: Getline/Variable/File238030 +Ref: Getline/Variable/File-Footnote-1239629 +Node: Getline/Pipe239716 +Node: Getline/Variable/Pipe242415 +Node: Getline/Coprocess243522 +Node: Getline/Variable/Coprocess244774 +Node: Getline Notes245511 +Node: Getline Summary248315 +Ref: table-getline-variants248723 +Node: Read Timeout249635 +Ref: Read Timeout-Footnote-1253462 +Node: Command line directories253520 +Node: Printing254402 +Node: Print256033 +Node: Print Examples257374 +Node: Output Separators260153 +Node: OFMT262169 +Node: Printf263527 +Node: Basic Printf264433 +Node: Control Letters265972 +Node: Format Modifiers269826 +Node: Printf Examples275853 +Node: Redirection278560 +Node: Special Files285532 +Node: Special FD286065 +Ref: Special FD-Footnote-1289689 +Node: Special Network289763 +Node: Special Caveats290613 +Node: Close Files And Pipes291409 +Ref: Close Files And Pipes-Footnote-1298547 +Ref: Close Files And Pipes-Footnote-2298695 +Node: Expressions298845 +Node: Values299977 +Node: Constants300653 +Node: Scalar Constants301333 +Ref: Scalar Constants-Footnote-1302192 +Node: Nondecimal-numbers302442 +Node: Regexp Constants305442 +Node: Using Constant Regexps305917 +Node: Variables308987 +Node: Using Variables309642 +Node: Assignment Options311366 +Node: Conversion313241 +Ref: table-locale-affects318677 +Ref: Conversion-Footnote-1319301 +Node: All Operators319410 +Node: Arithmetic Ops320040 +Node: Concatenation322545 +Ref: Concatenation-Footnote-1325341 +Node: Assignment Ops325461 +Ref: table-assign-ops330444 +Node: Increment Ops331761 +Node: Truth Values and Conditions335199 +Node: Truth Values336282 +Node: Typing and Comparison337331 +Node: Variable Typing338124 +Ref: Variable Typing-Footnote-1342024 +Node: Comparison Operators342146 +Ref: table-relational-ops342556 +Node: POSIX String Comparison346104 +Ref: POSIX String Comparison-Footnote-1347188 +Node: Boolean Ops347326 +Ref: Boolean Ops-Footnote-1351396 +Node: Conditional Exp351487 +Node: Function Calls353214 +Node: Precedence356972 +Node: Locales360641 +Node: Patterns and Actions362244 +Node: Pattern Overview363298 +Node: Regexp Patterns364975 +Node: Expression Patterns365518 +Node: Ranges369299 +Node: BEGIN/END372405 +Node: Using BEGIN/END373167 +Ref: Using BEGIN/END-Footnote-1375903 +Node: I/O And BEGIN/END376009 +Node: BEGINFILE/ENDFILE378294 +Node: Empty381230 +Node: Using Shell Variables381547 +Node: Action Overview383830 +Node: Statements386175 +Node: If Statement388029 +Node: While Statement389528 +Node: Do Statement391572 +Node: For Statement392728 +Node: Switch Statement395880 +Node: Break Statement397983 +Node: Continue Statement400038 +Node: Next Statement401831 +Node: Nextfile Statement404221 +Node: Exit Statement406876 +Node: Built-in Variables409278 +Node: User-modified410374 +Ref: User-modified-Footnote-1418059 +Node: Auto-set418121 +Ref: Auto-set-Footnote-1430686 +Ref: Auto-set-Footnote-2430891 +Node: ARGC and ARGV430947 +Node: Arrays434801 +Node: Array Basics436299 +Node: Array Intro437125 +Ref: figure-array-elements439098 +Node: Reference to Elements441505 +Node: Assigning Elements443778 +Node: Array Example444269 +Node: Scanning an Array446001 +Node: Controlling Scanning449016 +Ref: Controlling Scanning-Footnote-1454189 +Node: Delete454505 +Ref: Delete-Footnote-1457270 +Node: Numeric Array Subscripts457327 +Node: Uninitialized Subscripts459510 +Node: Multidimensional461135 +Node: Multiscanning464228 +Node: Arrays of Arrays465817 +Node: Functions470457 +Node: Built-in471276 +Node: Calling Built-in472354 +Node: Numeric Functions474342 +Ref: Numeric Functions-Footnote-1478176 +Ref: Numeric Functions-Footnote-2478533 +Ref: Numeric Functions-Footnote-3478581 +Node: String Functions478850 +Ref: String Functions-Footnote-1501861 +Ref: String Functions-Footnote-2501990 +Ref: String Functions-Footnote-3502238 +Node: Gory Details502325 +Ref: table-sub-escapes503994 +Ref: table-sub-posix-92505348 +Ref: table-sub-proposed506699 +Ref: table-posix-sub508053 +Ref: table-gensub-escapes509598 +Ref: Gory Details-Footnote-1510774 +Ref: Gory Details-Footnote-2510825 +Node: I/O Functions510976 +Ref: I/O Functions-Footnote-1518099 +Node: Time Functions518246 +Ref: Time Functions-Footnote-1528710 +Ref: Time Functions-Footnote-2528778 +Ref: Time Functions-Footnote-3528936 +Ref: Time Functions-Footnote-4529047 +Ref: Time Functions-Footnote-5529159 +Ref: Time Functions-Footnote-6529386 +Node: Bitwise Functions529652 +Ref: table-bitwise-ops530214 +Ref: Bitwise Functions-Footnote-1534459 +Node: Type Functions534643 +Node: I18N Functions535785 +Node: User-defined537430 +Node: Definition Syntax538234 +Ref: Definition Syntax-Footnote-1543149 +Node: Function Example543218 +Ref: Function Example-Footnote-1545862 +Node: Function Caveats545884 +Node: Calling A Function546402 +Node: Variable Scope547357 +Node: Pass By Value/Reference550345 +Node: Return Statement553853 +Node: Dynamic Typing556835 +Node: Indirect Calls557764 +Node: Library Functions567451 +Ref: Library Functions-Footnote-1570964 +Ref: Library Functions-Footnote-2571107 +Node: Library Names571278 +Ref: Library Names-Footnote-1574751 +Ref: Library Names-Footnote-2574971 +Node: General Functions575057 +Node: Strtonum Function576085 +Node: Assert Function579015 +Node: Round Function582341 +Node: Cliff Random Function583882 +Node: Ordinal Functions584898 +Ref: Ordinal Functions-Footnote-1587975 +Ref: Ordinal Functions-Footnote-2588227 +Node: Join Function588438 +Ref: Join Function-Footnote-1590209 +Node: Getlocaltime Function590409 +Node: Readfile Function594150 +Node: Data File Management595989 +Node: Filetrans Function596621 +Node: Rewind Function600690 +Node: File Checking602077 +Node: Empty Files603171 +Node: Ignoring Assigns605401 +Node: Getopt Function606955 +Ref: Getopt Function-Footnote-1618258 +Node: Passwd Functions618461 +Ref: Passwd Functions-Footnote-1627439 +Node: Group Functions627527 +Node: Walking Arrays635611 +Node: Sample Programs637747 +Node: Running Examples638421 +Node: Clones639149 +Node: Cut Program640373 +Node: Egrep Program650224 +Ref: Egrep Program-Footnote-1657997 +Node: Id Program658107 +Node: Split Program661756 +Ref: Split Program-Footnote-1665275 +Node: Tee Program665403 +Node: Uniq Program668206 +Node: Wc Program675635 +Ref: Wc Program-Footnote-1679901 +Ref: Wc Program-Footnote-2680101 +Node: Miscellaneous Programs680193 +Node: Dupword Program681381 +Node: Alarm Program683412 +Node: Translate Program688219 +Ref: Translate Program-Footnote-1692606 +Ref: Translate Program-Footnote-2692854 +Node: Labels Program692988 +Ref: Labels Program-Footnote-1696359 +Node: Word Sorting696443 +Node: History Sorting700327 +Node: Extract Program702166 +Ref: Extract Program-Footnote-1709669 +Node: Simple Sed709797 +Node: Igawk Program712859 +Ref: Igawk Program-Footnote-1728030 +Ref: Igawk Program-Footnote-2728231 +Node: Anagram Program728369 +Node: Signature Program731437 +Node: Advanced Features732537 +Node: Nondecimal Data734423 +Node: Array Sorting736006 +Node: Controlling Array Traversal736703 +Node: Array Sorting Functions744987 +Ref: Array Sorting Functions-Footnote-1748856 +Node: Two-way I/O749050 +Ref: Two-way I/O-Footnote-1754482 +Node: TCP/IP Networking754564 +Node: Profiling757408 +Node: Internationalization764911 +Node: I18N and L10N766336 +Node: Explaining gettext767022 +Ref: Explaining gettext-Footnote-1772090 +Ref: Explaining gettext-Footnote-2772274 +Node: Programmer i18n772439 +Node: Translator i18n776666 +Node: String Extraction777460 +Ref: String Extraction-Footnote-1778421 +Node: Printf Ordering778507 +Ref: Printf Ordering-Footnote-1781289 +Node: I18N Portability781353 +Ref: I18N Portability-Footnote-1783802 +Node: I18N Example783865 +Ref: I18N Example-Footnote-1786503 +Node: Gawk I18N786575 +Node: Debugger787196 +Node: Debugging788167 +Node: Debugging Concepts788600 +Node: Debugging Terms790456 +Node: Awk Debugging793053 +Node: Sample Debugging Session793945 +Node: Debugger Invocation794465 +Node: Finding The Bug795798 +Node: List of Debugger Commands802285 +Node: Breakpoint Control803619 +Node: Debugger Execution Control807283 +Node: Viewing And Changing Data810643 +Node: Execution Stack813999 +Node: Debugger Info815466 +Node: Miscellaneous Debugger Commands819460 +Node: Readline Support824638 +Node: Limitations825469 +Node: Arbitrary Precision Arithmetic827721 +Ref: Arbitrary Precision Arithmetic-Footnote-1829370 +Node: General Arithmetic829518 +Node: Floating Point Issues831238 +Node: String Conversion Precision832119 +Ref: String Conversion Precision-Footnote-1833824 +Node: Unexpected Results833933 +Node: POSIX Floating Point Problems836086 +Ref: POSIX Floating Point Problems-Footnote-1839911 +Node: Integer Programming839949 +Node: Floating-point Programming841688 +Ref: Floating-point Programming-Footnote-1848019 +Ref: Floating-point Programming-Footnote-2848289 +Node: Floating-point Representation848553 +Node: Floating-point Context849718 +Ref: table-ieee-formats850557 +Node: Rounding Mode851941 +Ref: table-rounding-modes852420 +Ref: Rounding Mode-Footnote-1855435 +Node: Gawk and MPFR855614 +Node: Arbitrary Precision Floats857023 +Ref: Arbitrary Precision Floats-Footnote-1859466 +Node: Setting Precision859782 +Ref: table-predefined-precision-strings860468 +Node: Setting Rounding Mode862613 +Ref: table-gawk-rounding-modes863017 +Node: Floating-point Constants864204 +Node: Changing Precision865633 +Ref: Changing Precision-Footnote-1867030 +Node: Exact Arithmetic867204 +Node: Arbitrary Precision Integers870342 +Ref: Arbitrary Precision Integers-Footnote-1873357 +Node: Dynamic Extensions873504 +Node: Extension Intro874962 +Node: Plugin License876227 +Node: Extension Mechanism Outline876912 +Ref: load-extension877329 +Ref: load-new-function878807 +Ref: call-new-function879802 +Node: Extension API Description881817 +Node: Extension API Functions Introduction883104 +Node: General Data Types888031 +Ref: General Data Types-Footnote-1893726 +Node: Requesting Values894025 +Ref: table-value-types-returned894762 +Node: Memory Allocation Functions895716 +Ref: Memory Allocation Functions-Footnote-1898462 +Node: Constructor Functions898558 +Node: Registration Functions900316 +Node: Extension Functions901001 +Node: Exit Callback Functions903303 +Node: Extension Version String904552 +Node: Input Parsers905202 +Node: Output Wrappers914959 +Node: Two-way processors919469 +Node: Printing Messages921677 +Ref: Printing Messages-Footnote-1922754 +Node: Updating `ERRNO'922906 +Node: Accessing Parameters923645 +Node: Symbol Table Access924875 +Node: Symbol table by name925389 +Node: Symbol table by cookie927365 +Ref: Symbol table by cookie-Footnote-1931497 +Node: Cached values931560 +Ref: Cached values-Footnote-1935050 +Node: Array Manipulation935141 +Ref: Array Manipulation-Footnote-1936239 +Node: Array Data Types936278 +Ref: Array Data Types-Footnote-1938981 +Node: Array Functions939073 +Node: Flattening Arrays942909 +Node: Creating Arrays949761 +Node: Extension API Variables954486 +Node: Extension Versioning955122 +Node: Extension API Informational Variables957023 +Node: Extension API Boilerplate958109 +Node: Finding Extensions961913 +Node: Extension Example962473 +Node: Internal File Description963203 +Node: Internal File Ops967294 +Ref: Internal File Ops-Footnote-1978803 +Node: Using Internal File Ops978943 +Ref: Using Internal File Ops-Footnote-1981290 +Node: Extension Samples981556 +Node: Extension Sample File Functions983080 +Node: Extension Sample Fnmatch991567 +Node: Extension Sample Fork993336 +Node: Extension Sample Inplace994549 +Node: Extension Sample Ord996327 +Node: Extension Sample Readdir997163 +Node: Extension Sample Revout998695 +Node: Extension Sample Rev2way999288 +Node: Extension Sample Read write array999978 +Node: Extension Sample Readfile1001861 +Node: Extension Sample API Tests1002961 +Node: Extension Sample Time1003486 +Node: gawkextlib1004850 +Node: Language History1007631 +Node: V7/SVR3.11009224 +Node: SVR41011544 +Node: POSIX1012986 +Node: BTL1014372 +Node: POSIX/GNU1015106 +Node: Feature History1020705 +Node: Common Extensions1033681 +Node: Ranges and Locales1034993 +Ref: Ranges and Locales-Footnote-11039610 +Ref: Ranges and Locales-Footnote-21039637 +Ref: Ranges and Locales-Footnote-31039871 +Node: Contributors1040092 +Node: Installation1045473 +Node: Gawk Distribution1046367 +Node: Getting1046851 +Node: Extracting1047677 +Node: Distribution contents1049369 +Node: Unix Installation1055090 +Node: Quick Installation1055707 +Node: Additional Configuration Options1058153 +Node: Configuration Philosophy1059889 +Node: Non-Unix Installation1062243 +Node: PC Installation1062701 +Node: PC Binary Installation1064000 +Node: PC Compiling1065848 +Node: PC Testing1068792 +Node: PC Using1069968 +Node: Cygwin1074136 +Node: MSYS1074945 +Node: VMS Installation1075459 +Node: VMS Compilation1076255 +Ref: VMS Compilation-Footnote-11077507 +Node: VMS Dynamic Extensions1077565 +Node: VMS Installation Details1078938 +Node: VMS Running1081189 +Node: VMS GNV1084023 +Node: VMS Old Gawk1084746 +Node: Bugs1085216 +Node: Other Versions1089134 +Node: Notes1095218 +Node: Compatibility Mode1096018 +Node: Additions1096801 +Node: Accessing The Source1097728 +Node: Adding Code1099168 +Node: New Ports1105213 +Node: Derived Files1109348 +Ref: Derived Files-Footnote-11114669 +Ref: Derived Files-Footnote-21114703 +Ref: Derived Files-Footnote-31115303 +Node: Future Extensions1115401 +Node: Implementation Limitations1115984 +Node: Extension Design1117232 +Node: Old Extension Problems1118386 +Ref: Old Extension Problems-Footnote-11119894 +Node: Extension New Mechanism Goals1119951 +Ref: Extension New Mechanism Goals-Footnote-11123316 +Node: Extension Other Design Decisions1123502 +Node: Extension Future Growth1125608 +Node: Old Extension Mechanism1126444 +Node: Basic Concepts1128184 +Node: Basic High Level1128865 +Ref: figure-general-flow1129137 +Ref: figure-process-flow1129736 +Ref: Basic High Level-Footnote-11132965 +Node: Basic Data Typing1133150 +Node: Glossary1136505 +Node: Copying1161736 +Node: GNU Free Documentation License1199292 +Node: Index1224428 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 3a81e85b..c69be641 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -105,6 +105,21 @@ @set COMMONEXT (c.e.) @end ifplaintext +@ifdocbook +@c empty on purpose +@set PART1 +@set PART2 +@set PART3 +@set PART4 +@end ifdocbook + +@ifnotdocbook +@set PART1 Part I:@* +@set PART2 Part II:@* +@set PART3 Part III:@* +@set PART4 Part IV:@* +@end ifnotdocbook + @c some special symbols @iftex @set LEQ @math{@leq} @@ -963,6 +978,20 @@ for enrichening our lives in innumerable ways. @node Foreword @unnumbered Foreword +@c This bit is post-processed by a script which turns the chapter +@c tag into a preface tag, and moves this stuff to before the title. +@c Bleah. +@docbook + <prefaceinfo> + <author> + <firstname>Michael</firstname> + <surname>Brennan</surname> + <affiliation><jobtitle>Author of <command>mawk</command></jobtitle></affiliation> + </author> + <date>March, 2001</date> + </prefaceinfo> +@end docbook + Arnold Robbins and I are good friends. We were introduced @c 11 years ago in 1990 @@ -1087,12 +1116,14 @@ Arnold has distilled over a decade of experience writing and using AWK programs, and developing @command{gawk}, into this book. If you use AWK or want to learn how, then read this book. +@ifnotdocbook @cindex Brennan, Michael @display Michael Brennan Author of @command{mawk} March, 2001 @end display +@end ifnotdocbook @node Preface @unnumbered Preface @@ -1982,13 +2013,15 @@ Nof Ayalon @* ISRAEL @* May, 2014 -@iftex -@part Part I:@* The @command{awk} Language -@end iftex +@ifnotinfo +@part @value{PART1}The @command{awk} Language +@end ifnotinfo @ifdocbook -@part The @command{awk} Language +@docbook +<partintro> +@end docbook Part I describes the @command{awk} language and @command{gawk} program in detail. It starts with the basics, and continues through all of the features of @command{awk}. Included also are many, but not all, @@ -2023,6 +2056,9 @@ following chapters: @item @ref{Functions}. @end itemize +@docbook +</partintro> +@end docbook @end ifdocbook @node Getting Started @@ -4141,9 +4177,18 @@ for use by the @command{gawk} developers for testing and tuning. They are subject to change. The variables are: @table @env +@item AWKBUFSIZE +This variable only affects @command{gawk} on POSIX-compliant systems. +With a value of @samp{exact}, @command{gawk} uses the size of each input +file as the size of the memory buffer to allocate for I/O. Otherwise, +the value should be a number, and @command{gawk} uses that number as +the size of the buffer to allocate. (When this variable is not set, +@command{gawk} uses the smaller of the file's size and the ``default'' +blocksize, which is usually the file systems I/O blocksize.) + @item AWK_HASH If this variable exists with a value of @samp{gst}, @command{gawk} -will switch to using the hash function from GNU Smalltalk for +switches to using the hash function from GNU Smalltalk for managing arrays. This function may be marginally faster than the standard function. @@ -19424,13 +19469,15 @@ for (i = 1; i <= n; i++) @c ENDOFRANGE funcud -@iftex -@part Part II:@* Problem Solving With @command{awk} -@end iftex +@ifnotinfo +@part @value{PART2}Problem Solving With @command{awk} +@end ifnotinfo @ifdocbook -@part Problem Solving With @command{awk} +@docbook +<partintro> +@end docbook Part II shows how to use @command{awk} and @command{gawk} for problem solving. There is lots of code here for you to read and learn from. It contains the following chapters: @@ -19442,6 +19489,9 @@ It contains the following chapters: @item @ref{Sample Programs}. @end itemize +@docbook +</partintro> +@end docbook @end ifdocbook @node Library Functions @@ -25509,13 +25559,15 @@ BEGIN { } @end ignore -@iftex -@part Part III:@* Moving Beyond Standard @command{awk} With @command{gawk} -@end iftex +@ifnotinfo +@part @value{PART3}Moving Beyond Standard @command{awk} With @command{gawk} +@end ifnotinfo @ifdocbook -@part Moving Beyond Standard @command{awk} With @command{gawk} +@docbook +<partintro> +@end docbook Part III focuses on features specific to @command{gawk}. It contains the following chapters: @@ -25535,6 +25587,9 @@ It contains the following chapters: @item @ref{Dynamic Extensions}. @end itemize +@docbook +</partintro> +@end docbook @end ifdocbook @node Advanced Features @@ -33920,14 +33975,15 @@ If you write an extension that you wish to share with other @code{gawkextlib} project. See the project's web site for more information. -@iftex -@part Part IV:@* Appendices -@end iftex +@ifnotinfo +@part @value{PART4}Appendices +@end ifnotinfo @ifdocbook -@part Appendices - +@docbook +<partintro> +@end docbook @ifclear FOR_PRINT Part IV contains the appendixes (including the two licenses that cover the @command{gawk} source code and this @value{DOCUMENT}, respectively) @@ -33962,6 +34018,9 @@ Part IV contains two appendixes: @ref{GNU Free Documentation License}. @end ifclear @end itemize +@docbook +</partintro> +@end docbook @end ifdocbook @node Language History diff --git a/doc/gawktexi.in b/doc/gawktexi.in index ee781f12..6e1b9fba 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -100,6 +100,21 @@ @set COMMONEXT (c.e.) @end ifplaintext +@ifdocbook +@c empty on purpose +@set PART1 +@set PART2 +@set PART3 +@set PART4 +@end ifdocbook + +@ifnotdocbook +@set PART1 Part I:@* +@set PART2 Part II:@* +@set PART3 Part III:@* +@set PART4 Part IV:@* +@end ifnotdocbook + @c some special symbols @iftex @set LEQ @math{@leq} @@ -958,6 +973,20 @@ for enrichening our lives in innumerable ways. @node Foreword @unnumbered Foreword +@c This bit is post-processed by a script which turns the chapter +@c tag into a preface tag, and moves this stuff to before the title. +@c Bleah. +@docbook + <prefaceinfo> + <author> + <firstname>Michael</firstname> + <surname>Brennan</surname> + <affiliation><jobtitle>Author of <command>mawk</command></jobtitle></affiliation> + </author> + <date>March, 2001</date> + </prefaceinfo> +@end docbook + Arnold Robbins and I are good friends. We were introduced @c 11 years ago in 1990 @@ -1082,12 +1111,14 @@ Arnold has distilled over a decade of experience writing and using AWK programs, and developing @command{gawk}, into this book. If you use AWK or want to learn how, then read this book. +@ifnotdocbook @cindex Brennan, Michael @display Michael Brennan Author of @command{mawk} March, 2001 @end display +@end ifnotdocbook @node Preface @unnumbered Preface @@ -1949,13 +1980,15 @@ Nof Ayalon @* ISRAEL @* May, 2014 -@iftex -@part Part I:@* The @command{awk} Language -@end iftex +@ifnotinfo +@part @value{PART1}The @command{awk} Language +@end ifnotinfo @ifdocbook -@part The @command{awk} Language +@docbook +<partintro> +@end docbook Part I describes the @command{awk} language and @command{gawk} program in detail. It starts with the basics, and continues through all of the features of @command{awk}. Included also are many, but not all, @@ -1990,6 +2023,9 @@ following chapters: @item @ref{Functions}. @end itemize +@docbook +</partintro> +@end docbook @end ifdocbook @node Getting Started @@ -4069,9 +4105,18 @@ for use by the @command{gawk} developers for testing and tuning. They are subject to change. The variables are: @table @env +@item AWKBUFSIZE +This variable only affects @command{gawk} on POSIX-compliant systems. +With a value of @samp{exact}, @command{gawk} uses the size of each input +file as the size of the memory buffer to allocate for I/O. Otherwise, +the value should be a number, and @command{gawk} uses that number as +the size of the buffer to allocate. (When this variable is not set, +@command{gawk} uses the smaller of the file's size and the ``default'' +blocksize, which is usually the file systems I/O blocksize.) + @item AWK_HASH If this variable exists with a value of @samp{gst}, @command{gawk} -will switch to using the hash function from GNU Smalltalk for +switches to using the hash function from GNU Smalltalk for managing arrays. This function may be marginally faster than the standard function. @@ -18597,13 +18642,15 @@ for (i = 1; i <= n; i++) @c ENDOFRANGE funcud -@iftex -@part Part II:@* Problem Solving With @command{awk} -@end iftex +@ifnotinfo +@part @value{PART2}Problem Solving With @command{awk} +@end ifnotinfo @ifdocbook -@part Problem Solving With @command{awk} +@docbook +<partintro> +@end docbook Part II shows how to use @command{awk} and @command{gawk} for problem solving. There is lots of code here for you to read and learn from. It contains the following chapters: @@ -18615,6 +18662,9 @@ It contains the following chapters: @item @ref{Sample Programs}. @end itemize +@docbook +</partintro> +@end docbook @end ifdocbook @node Library Functions @@ -24653,13 +24703,15 @@ BEGIN { } @end ignore -@iftex -@part Part III:@* Moving Beyond Standard @command{awk} With @command{gawk} -@end iftex +@ifnotinfo +@part @value{PART3}Moving Beyond Standard @command{awk} With @command{gawk} +@end ifnotinfo @ifdocbook -@part Moving Beyond Standard @command{awk} With @command{gawk} +@docbook +<partintro> +@end docbook Part III focuses on features specific to @command{gawk}. It contains the following chapters: @@ -24679,6 +24731,9 @@ It contains the following chapters: @item @ref{Dynamic Extensions}. @end itemize +@docbook +</partintro> +@end docbook @end ifdocbook @node Advanced Features @@ -33064,14 +33119,15 @@ If you write an extension that you wish to share with other @code{gawkextlib} project. See the project's web site for more information. -@iftex -@part Part IV:@* Appendices -@end iftex +@ifnotinfo +@part @value{PART4}Appendices +@end ifnotinfo @ifdocbook -@part Appendices - +@docbook +<partintro> +@end docbook @ifclear FOR_PRINT Part IV contains the appendixes (including the two licenses that cover the @command{gawk} source code and this @value{DOCUMENT}, respectively) @@ -33106,6 +33162,9 @@ Part IV contains two appendixes: @ref{GNU Free Documentation License}. @end ifclear @end itemize +@docbook +</partintro> +@end docbook @end ifdocbook @node Language History |