diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 1206 | ||||
-rw-r--r-- | doc/gawk.texi | 10 | ||||
-rw-r--r-- | doc/gawktexi.in | 10 |
4 files changed, 623 insertions, 607 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 79a2326d..696dafaa 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2021-04-04 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Update menues. + 2021-03-31 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (Regexp Operator Details): Added a sidebar on diff --git a/doc/gawk.info b/doc/gawk.info index 2200e998..057f18d9 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -462,6 +462,9 @@ in (a) below. A copy of the license is included in the section entitled * Tee Program:: The 'tee' utility. * Uniq Program:: The 'uniq' utility. * Wc Program:: The 'wc' utility. +* Bytes vs. Characters:: Modern character sets. +* Using extensions:: A brief intro to extensions. +* wc program:: Code for 'wc.awk'. * Miscellaneous Programs:: Some interesting 'awk' programs. * Dupword Program:: Finding duplicated words in a @@ -495,7 +498,8 @@ in (a) below. A copy of the license is included in the section entitled * TCP/IP Networking:: Using 'gawk' for network programming. * Profiling:: Profiling your 'awk' programs. -* Extension Philosophy:: What should be built-in and what should not. +* Extension Philosophy:: What should be built-in and what + should not. * Advanced Features Summary:: Summary of advanced features. * I18N and L10N:: Internationalization and Localization. * Explaining gettext:: How GNU 'gettext' works. @@ -564,8 +568,8 @@ in (a) below. A copy of the license is included in the section entitled * Extension API Functions Introduction:: Introduction to the API functions. * General Data Types:: The data types. * Memory Allocation Functions:: Functions for allocating memory. -* API Ownership of MPFR and GMP Values:: Managing MPFR and GMP Values. * Constructor Functions:: Functions for creating values. +* API Ownership of MPFR and GMP Values:: Managing MPFR and GMP Values. * Registration Functions:: Functions to register things with 'gawk'. * Extension Functions:: Registering extension functions. @@ -19107,7 +19111,7 @@ in one or more input files. * Bytes vs. Characters:: Modern character sets. * Using extensions:: A brief intro to extensions. -* wc program:: Code for 'wc.awk'. +* wc program:: Code for 'wc.awk'. File: gawk.info, Node: Bytes vs. Characters, Next: Using extensions, Up: Wc Program @@ -38121,604 +38125,604 @@ Index Tag Table: Node: Top1200 -Node: Foreword344638 -Node: Foreword449080 -Node: Preface50612 -Ref: Preface-Footnote-153471 -Ref: Preface-Footnote-253580 -Ref: Preface-Footnote-353814 -Node: History53956 -Node: Names56308 -Ref: Names-Footnote-157412 -Node: This Manual57559 -Ref: This Manual-Footnote-164198 -Node: Conventions64298 -Node: Manual History66667 -Ref: Manual History-Footnote-169664 -Ref: Manual History-Footnote-269705 -Node: How To Contribute69779 -Node: Acknowledgments70705 -Node: Getting Started75642 -Node: Running gawk78081 -Node: One-shot79271 -Node: Read Terminal80534 -Node: Long82527 -Node: Executable Scripts84040 -Ref: Executable Scripts-Footnote-186673 -Node: Comments86776 -Node: Quoting89260 -Node: DOS Quoting94786 -Node: Sample Data Files96842 -Node: Very Simple99437 -Node: Two Rules105539 -Node: More Complex107424 -Node: Statements/Lines109756 -Ref: Statements/Lines-Footnote-1114240 -Node: Other Features114505 -Node: When115441 -Ref: When-Footnote-1117195 -Node: Intro Summary117260 -Node: Invoking Gawk118144 -Node: Command Line119658 -Node: Options120456 -Ref: Options-Footnote-1138370 -Ref: Options-Footnote-2138601 -Node: Other Arguments138626 -Node: Naming Standard Input142637 -Node: Environment Variables143847 -Node: AWKPATH Variable144405 -Ref: AWKPATH Variable-Footnote-1147817 -Ref: AWKPATH Variable-Footnote-2147851 -Node: AWKLIBPATH Variable148222 -Ref: AWKLIBPATH Variable-Footnote-1149919 -Node: Other Environment Variables150294 -Node: Exit Status154246 -Node: Include Files154923 -Node: Loading Shared Libraries158613 -Node: Obsolete160041 -Node: Undocumented160733 -Node: Invoking Summary161030 -Node: Regexp163871 -Node: Regexp Usage165325 -Node: Escape Sequences167362 -Node: Regexp Operators173603 -Node: Regexp Operator Details174088 -Ref: Regexp Operator Details-Footnote-1181452 -Node: Interval Expressions181599 -Ref: Interval Expressions-Footnote-1183020 -Node: Bracket Expressions183118 -Ref: table-char-classes185594 -Node: Leftmost Longest188920 -Node: Computed Regexps190223 -Node: GNU Regexp Operators193650 -Node: Case-sensitivity197387 -Ref: Case-sensitivity-Footnote-1200253 -Ref: Case-sensitivity-Footnote-2200488 -Node: Regexp Summary200596 -Node: Reading Files202062 -Node: Records204331 -Node: awk split records205406 -Node: gawk split records210106 -Ref: gawk split records-Footnote-1215180 -Node: Fields215217 -Node: Nonconstant Fields217958 -Ref: Nonconstant Fields-Footnote-1220194 -Node: Changing Fields220398 -Node: Field Separators226429 -Node: Default Field Splitting229127 -Node: Regexp Field Splitting230245 -Node: Single Character Fields233922 -Node: Command Line Field Separator234982 -Node: Full Line Fields238200 -Ref: Full Line Fields-Footnote-1239722 -Ref: Full Line Fields-Footnote-2239768 -Node: Field Splitting Summary239869 -Node: Constant Size241943 -Node: Fixed width data242675 -Node: Skipping intervening246142 -Node: Allowing trailing data246940 -Node: Fields with fixed data247977 -Node: Splitting By Content249495 -Ref: Splitting By Content-Footnote-1253278 -Node: More CSV253441 -Node: Testing field creation255033 -Node: Multiple Line256658 -Node: Getline262935 -Node: Plain Getline265404 -Node: Getline/Variable267977 -Node: Getline/File269128 -Node: Getline/Variable/File270516 -Ref: Getline/Variable/File-Footnote-1272121 -Node: Getline/Pipe272209 -Node: Getline/Variable/Pipe274913 -Node: Getline/Coprocess276048 -Node: Getline/Variable/Coprocess277315 -Node: Getline Notes278057 -Node: Getline Summary280854 -Ref: table-getline-variants281278 -Node: Read Timeout282026 -Ref: Read Timeout-Footnote-1285932 -Node: Retrying Input285990 -Node: Command-line directories287189 -Node: Input Summary288095 -Node: Input Exercises291267 -Node: Printing291701 -Node: Print293535 -Node: Print Examples294992 -Node: Output Separators297772 -Node: OFMT299789 -Node: Printf301145 -Node: Basic Printf301930 -Node: Control Letters303504 -Node: Format Modifiers308666 -Node: Printf Examples314681 -Node: Redirection317167 -Node: Special FD324008 -Ref: Special FD-Footnote-1327176 -Node: Special Files327250 -Node: Other Inherited Files327867 -Node: Special Network328868 -Node: Special Caveats329728 -Node: Close Files And Pipes330677 -Ref: table-close-pipe-return-values337584 -Ref: Close Files And Pipes-Footnote-1338397 -Ref: Close Files And Pipes-Footnote-2338545 -Node: Nonfatal338697 -Node: Output Summary341035 -Node: Output Exercises342257 -Node: Expressions342936 -Node: Values344124 -Node: Constants344802 -Node: Scalar Constants345493 -Ref: Scalar Constants-Footnote-1348003 -Node: Nondecimal-numbers348253 -Node: Regexp Constants351254 -Node: Using Constant Regexps351780 -Node: Standard Regexp Constants352402 -Node: Strong Regexp Constants355590 -Node: Variables358602 -Node: Using Variables359259 -Node: Assignment Options361169 -Node: Conversion363640 -Node: Strings And Numbers364164 -Ref: Strings And Numbers-Footnote-1367227 -Node: Locale influences conversions367336 -Ref: table-locale-affects370094 -Node: All Operators370712 -Node: Arithmetic Ops371341 -Node: Concatenation374057 -Ref: Concatenation-Footnote-1376904 -Node: Assignment Ops377011 -Ref: table-assign-ops382002 -Node: Increment Ops383315 -Node: Truth Values and Conditions386775 -Node: Truth Values387849 -Node: Typing and Comparison388897 -Node: Variable Typing389717 -Ref: Variable Typing-Footnote-1396180 -Ref: Variable Typing-Footnote-2396252 -Node: Comparison Operators396329 -Ref: table-relational-ops396748 -Node: POSIX String Comparison400243 -Ref: POSIX String Comparison-Footnote-1401938 -Ref: POSIX String Comparison-Footnote-2402077 -Node: Boolean Ops402161 -Ref: Boolean Ops-Footnote-1406643 -Node: Conditional Exp406735 -Node: Function Calls408471 -Node: Precedence412348 -Node: Locales416007 -Node: Expressions Summary417639 -Node: Patterns and Actions420212 -Node: Pattern Overview421332 -Node: Regexp Patterns423009 -Node: Expression Patterns423551 -Node: Ranges427332 -Node: BEGIN/END430440 -Node: Using BEGIN/END431201 -Ref: Using BEGIN/END-Footnote-1433955 -Node: I/O And BEGIN/END434061 -Node: BEGINFILE/ENDFILE436374 -Node: Empty439605 -Node: Using Shell Variables439922 -Node: Action Overview442196 -Node: Statements444521 -Node: If Statement446369 -Node: While Statement447864 -Node: Do Statement449892 -Node: For Statement451040 -Node: Switch Statement454211 -Node: Break Statement456652 -Node: Continue Statement458744 -Node: Next Statement460571 -Node: Nextfile Statement462954 -Node: Exit Statement465643 -Node: Built-in Variables468046 -Node: User-modified469179 -Node: Auto-set476946 -Ref: Auto-set-Footnote-1493753 -Ref: Auto-set-Footnote-2493959 -Node: ARGC and ARGV494015 -Node: Pattern Action Summary498228 -Node: Arrays500658 -Node: Array Basics501987 -Node: Array Intro502831 -Ref: figure-array-elements504806 -Ref: Array Intro-Footnote-1507510 -Node: Reference to Elements507638 -Node: Assigning Elements510102 -Node: Array Example510593 -Node: Scanning an Array512352 -Node: Controlling Scanning515374 -Ref: Controlling Scanning-Footnote-1521830 -Node: Numeric Array Subscripts522146 -Node: Uninitialized Subscripts524330 -Node: Delete525949 -Ref: Delete-Footnote-1528701 -Node: Multidimensional528758 -Node: Multiscanning531853 -Node: Arrays of Arrays533444 -Node: Arrays Summary538212 -Node: Functions540305 -Node: Built-in541343 -Node: Calling Built-in542424 -Node: Numeric Functions544420 -Ref: Numeric Functions-Footnote-1548446 -Ref: Numeric Functions-Footnote-2549094 -Ref: Numeric Functions-Footnote-3549142 -Node: String Functions549414 -Ref: String Functions-Footnote-1573555 -Ref: String Functions-Footnote-2573683 -Ref: String Functions-Footnote-3573931 -Node: Gory Details574018 -Ref: table-sub-escapes575809 -Ref: table-sub-proposed577328 -Ref: table-posix-sub578691 -Ref: table-gensub-escapes580232 -Ref: Gory Details-Footnote-1581055 -Node: I/O Functions581209 -Ref: table-system-return-values587663 -Ref: I/O Functions-Footnote-1589743 -Ref: I/O Functions-Footnote-2589891 -Node: Time Functions590011 -Ref: Time Functions-Footnote-1600682 -Ref: Time Functions-Footnote-2600750 -Ref: Time Functions-Footnote-3600908 -Ref: Time Functions-Footnote-4601019 -Ref: Time Functions-Footnote-5601131 -Ref: Time Functions-Footnote-6601358 -Node: Bitwise Functions601624 -Ref: table-bitwise-ops602218 -Ref: Bitwise Functions-Footnote-1608281 -Ref: Bitwise Functions-Footnote-2608454 -Node: Type Functions608645 -Node: I18N Functions611508 -Node: User-defined613159 -Node: Definition Syntax613971 -Ref: Definition Syntax-Footnote-1619665 -Node: Function Example619736 -Ref: Function Example-Footnote-1622658 -Node: Function Calling622680 -Node: Calling A Function623268 -Node: Variable Scope624226 -Node: Pass By Value/Reference627220 -Node: Function Caveats629864 -Ref: Function Caveats-Footnote-1631911 -Node: Return Statement632031 -Node: Dynamic Typing635010 -Node: Indirect Calls635940 -Ref: Indirect Calls-Footnote-1646192 -Node: Functions Summary646320 -Node: Library Functions649025 -Ref: Library Functions-Footnote-1652632 -Ref: Library Functions-Footnote-2652775 -Node: Library Names652946 -Ref: Library Names-Footnote-1656613 -Ref: Library Names-Footnote-2656836 -Node: General Functions656922 -Node: Strtonum Function658025 -Node: Assert Function661047 -Node: Round Function664373 -Node: Cliff Random Function665913 -Node: Ordinal Functions666929 -Ref: Ordinal Functions-Footnote-1669992 -Ref: Ordinal Functions-Footnote-2670244 -Node: Join Function670454 -Ref: Join Function-Footnote-1672224 -Node: Getlocaltime Function672424 -Node: Readfile Function676166 -Node: Shell Quoting678143 -Node: Data File Management679544 -Node: Filetrans Function680176 -Node: Rewind Function684272 -Node: File Checking686181 -Ref: File Checking-Footnote-1687515 -Node: Empty Files687716 -Node: Ignoring Assigns689695 -Node: Getopt Function691245 -Ref: Getopt Function-Footnote-1706456 -Node: Passwd Functions706656 -Ref: Passwd Functions-Footnote-1715495 -Node: Group Functions715583 -Ref: Group Functions-Footnote-1723481 -Node: Walking Arrays723688 -Node: Library Functions Summary726696 -Node: Library Exercises728102 -Node: Sample Programs728567 -Node: Running Examples729337 -Node: Clones730065 -Node: Cut Program731289 -Node: Egrep Program741429 -Node: Id Program750430 -Node: Split Program760377 -Ref: Split Program-Footnote-1770267 -Node: Tee Program770440 -Node: Uniq Program773230 -Node: Wc Program780818 -Node: Bytes vs. Characters781215 -Node: Using extensions782763 -Node: wc program783517 -Node: Miscellaneous Programs788382 -Node: Dupword Program789595 -Node: Alarm Program791625 -Node: Translate Program796480 -Ref: Translate Program-Footnote-1801045 -Node: Labels Program801315 -Ref: Labels Program-Footnote-1804666 -Node: Word Sorting804750 -Node: History Sorting808822 -Node: Extract Program811047 -Node: Simple Sed819101 -Node: Igawk Program822175 -Ref: Igawk Program-Footnote-1836506 -Ref: Igawk Program-Footnote-2836708 -Ref: Igawk Program-Footnote-3836830 -Node: Anagram Program836945 -Node: Signature Program840007 -Node: Programs Summary841254 -Node: Programs Exercises842468 -Ref: Programs Exercises-Footnote-1846598 -Node: Advanced Features846684 -Node: Nondecimal Data848751 -Node: Array Sorting850342 -Node: Controlling Array Traversal851042 -Ref: Controlling Array Traversal-Footnote-1859410 -Node: Array Sorting Functions859528 -Ref: Array Sorting Functions-Footnote-1864619 -Node: Two-way I/O864815 -Ref: Two-way I/O-Footnote-1872536 -Ref: Two-way I/O-Footnote-2872723 -Node: TCP/IP Networking872805 -Node: Profiling875923 -Node: Extension Philosophy885232 -Node: Advanced Features Summary886711 -Node: Internationalization888726 -Node: I18N and L10N890206 -Node: Explaining gettext890893 -Ref: Explaining gettext-Footnote-1896785 -Ref: Explaining gettext-Footnote-2896970 -Node: Programmer i18n897135 -Ref: Programmer i18n-Footnote-1902084 -Node: Translator i18n902133 -Node: String Extraction902927 -Ref: String Extraction-Footnote-1904059 -Node: Printf Ordering904145 -Ref: Printf Ordering-Footnote-1906931 -Node: I18N Portability906995 -Ref: I18N Portability-Footnote-1909451 -Node: I18N Example909514 -Ref: I18N Example-Footnote-1912789 -Ref: I18N Example-Footnote-2912862 -Node: Gawk I18N912971 -Node: I18N Summary913620 -Node: Debugger914961 -Node: Debugging915961 -Node: Debugging Concepts916402 -Node: Debugging Terms918211 -Node: Awk Debugging920786 -Ref: Awk Debugging-Footnote-1921731 -Node: Sample Debugging Session921863 -Node: Debugger Invocation922397 -Node: Finding The Bug923783 -Node: List of Debugger Commands930257 -Node: Breakpoint Control931590 -Node: Debugger Execution Control935284 -Node: Viewing And Changing Data938646 -Node: Execution Stack942187 -Node: Debugger Info943824 -Node: Miscellaneous Debugger Commands947895 -Node: Readline Support952957 -Node: Limitations953853 -Node: Debugging Summary956407 -Node: Namespaces957686 -Node: Global Namespace958797 -Node: Qualified Names960195 -Node: Default Namespace961194 -Node: Changing The Namespace961935 -Node: Naming Rules963549 -Node: Internal Name Management965397 -Node: Namespace Example966439 -Node: Namespace And Features969001 -Node: Namespace Summary970436 -Node: Arbitrary Precision Arithmetic971913 -Node: Computer Arithmetic973400 -Ref: table-numeric-ranges977166 -Ref: table-floating-point-ranges977659 -Ref: Computer Arithmetic-Footnote-1978317 -Node: Math Definitions978374 -Ref: table-ieee-formats981350 -Node: MPFR features981917 -Node: FP Math Caution983635 -Ref: FP Math Caution-Footnote-1984707 -Node: Inexactness of computations985076 -Node: Inexact representation986107 -Node: Comparing FP Values987467 -Node: Errors accumulate988708 -Node: Strange values990164 -Ref: Strange values-Footnote-1992752 -Node: Getting Accuracy992857 -Node: Try To Round995567 -Node: Setting precision996466 -Ref: table-predefined-precision-strings997163 -Node: Setting the rounding mode998993 -Ref: table-gawk-rounding-modes999367 -Ref: Setting the rounding mode-Footnote-11003298 -Node: Arbitrary Precision Integers1003477 -Ref: Arbitrary Precision Integers-Footnote-11006652 -Node: Checking for MPFR1006801 -Node: POSIX Floating Point Problems1008275 -Ref: POSIX Floating Point Problems-Footnote-11012560 -Node: Floating point summary1012598 -Node: Dynamic Extensions1014788 -Node: Extension Intro1016341 -Node: Plugin License1017607 -Node: Extension Mechanism Outline1018404 -Ref: figure-load-extension1018843 -Ref: figure-register-new-function1020408 -Ref: figure-call-new-function1021500 -Node: Extension API Description1023562 -Node: Extension API Functions Introduction1025275 -Ref: table-api-std-headers1027111 -Node: General Data Types1031360 -Ref: General Data Types-Footnote-11040066 -Node: Memory Allocation Functions1040365 -Ref: Memory Allocation Functions-Footnote-11044866 -Node: Constructor Functions1044965 -Node: API Ownership of MPFR and GMP Values1048618 -Node: Registration Functions1049931 -Node: Extension Functions1050631 -Node: Exit Callback Functions1055953 -Node: Extension Version String1057203 -Node: Input Parsers1057866 -Node: Output Wrappers1070587 -Node: Two-way processors1075099 -Node: Printing Messages1077364 -Ref: Printing Messages-Footnote-11078535 -Node: Updating ERRNO1078688 -Node: Requesting Values1079427 -Ref: table-value-types-returned1080164 -Node: Accessing Parameters1081272 -Node: Symbol Table Access1082509 -Node: Symbol table by name1083021 -Ref: Symbol table by name-Footnote-11086045 -Node: Symbol table by cookie1086173 -Ref: Symbol table by cookie-Footnote-11090358 -Node: Cached values1090422 -Ref: Cached values-Footnote-11093958 -Node: Array Manipulation1094111 -Ref: Array Manipulation-Footnote-11095202 -Node: Array Data Types1095239 -Ref: Array Data Types-Footnote-11097897 -Node: Array Functions1097989 -Node: Flattening Arrays1102487 -Node: Creating Arrays1109463 -Node: Redirection API1114230 -Node: Extension API Variables1117063 -Node: Extension Versioning1117774 -Ref: gawk-api-version1118203 -Node: Extension GMP/MPFR Versioning1119934 -Node: Extension API Informational Variables1121562 -Node: Extension API Boilerplate1122635 -Node: Changes from API V11126609 -Node: Finding Extensions1128181 -Node: Extension Example1128740 -Node: Internal File Description1129538 -Node: Internal File Ops1133618 -Ref: Internal File Ops-Footnote-11144968 -Node: Using Internal File Ops1145108 -Ref: Using Internal File Ops-Footnote-11147491 -Node: Extension Samples1147765 -Node: Extension Sample File Functions1149294 -Node: Extension Sample Fnmatch1156943 -Node: Extension Sample Fork1158430 -Node: Extension Sample Inplace1159648 -Node: Extension Sample Ord1163274 -Node: Extension Sample Readdir1164110 -Ref: table-readdir-file-types1164999 -Node: Extension Sample Revout1166066 -Node: Extension Sample Rev2way1166655 -Node: Extension Sample Read write array1167395 -Node: Extension Sample Readfile1169337 -Node: Extension Sample Time1170432 -Node: Extension Sample API Tests1172184 -Node: gawkextlib1172676 -Node: Extension summary1175594 -Node: Extension Exercises1179296 -Node: Language History1180538 -Node: V7/SVR3.11182194 -Node: SVR41184346 -Node: POSIX1185780 -Node: BTL1187161 -Node: POSIX/GNU1187890 -Node: Feature History1193668 -Node: Common Extensions1209987 -Node: Ranges and Locales1211270 -Ref: Ranges and Locales-Footnote-11215886 -Ref: Ranges and Locales-Footnote-21215913 -Ref: Ranges and Locales-Footnote-31216148 -Node: Contributors1216371 -Node: History summary1222368 -Node: Installation1223748 -Node: Gawk Distribution1224692 -Node: Getting1225176 -Node: Extracting1226139 -Node: Distribution contents1227777 -Node: Unix Installation1234257 -Node: Quick Installation1234939 -Node: Shell Startup Files1237353 -Node: Additional Configuration Options1238442 -Node: Configuration Philosophy1240757 -Node: Non-Unix Installation1243126 -Node: PC Installation1243586 -Node: PC Binary Installation1244424 -Node: PC Compiling1244859 -Node: PC Using1245976 -Node: Cygwin1249529 -Node: MSYS1250753 -Node: VMS Installation1251355 -Node: VMS Compilation1252146 -Ref: VMS Compilation-Footnote-11253375 -Node: VMS Dynamic Extensions1253433 -Node: VMS Installation Details1255118 -Node: VMS Running1257371 -Node: VMS GNV1261650 -Node: VMS Old Gawk1262385 -Node: Bugs1262856 -Node: Bug address1263519 -Node: Usenet1266501 -Node: Maintainers1267505 -Node: Other Versions1268690 -Node: Installation summary1276555 -Node: Notes1277764 -Node: Compatibility Mode1278558 -Node: Additions1279340 -Node: Accessing The Source1280265 -Node: Adding Code1281702 -Node: New Ports1287921 -Node: Derived Files1292296 -Ref: Derived Files-Footnote-11297956 -Ref: Derived Files-Footnote-21297991 -Ref: Derived Files-Footnote-31298589 -Node: Future Extensions1298703 -Node: Implementation Limitations1299361 -Node: Extension Design1300571 -Node: Old Extension Problems1301715 -Ref: Old Extension Problems-Footnote-11303233 -Node: Extension New Mechanism Goals1303290 -Ref: Extension New Mechanism Goals-Footnote-11306654 -Node: Extension Other Design Decisions1306843 -Node: Extension Future Growth1308956 -Node: Notes summary1309562 -Node: Basic Concepts1310720 -Node: Basic High Level1311401 -Ref: figure-general-flow1311683 -Ref: figure-process-flow1312368 -Ref: Basic High Level-Footnote-11315669 -Node: Basic Data Typing1315854 -Node: Glossary1319182 -Node: Copying1351067 -Node: GNU Free Documentation License1388610 -Node: Index1413730 +Node: Foreword344859 +Node: Foreword449301 +Node: Preface50833 +Ref: Preface-Footnote-153692 +Ref: Preface-Footnote-253801 +Ref: Preface-Footnote-354035 +Node: History54177 +Node: Names56529 +Ref: Names-Footnote-157633 +Node: This Manual57780 +Ref: This Manual-Footnote-164419 +Node: Conventions64519 +Node: Manual History66888 +Ref: Manual History-Footnote-169885 +Ref: Manual History-Footnote-269926 +Node: How To Contribute70000 +Node: Acknowledgments70926 +Node: Getting Started75863 +Node: Running gawk78302 +Node: One-shot79492 +Node: Read Terminal80755 +Node: Long82748 +Node: Executable Scripts84261 +Ref: Executable Scripts-Footnote-186894 +Node: Comments86997 +Node: Quoting89481 +Node: DOS Quoting95007 +Node: Sample Data Files97063 +Node: Very Simple99658 +Node: Two Rules105760 +Node: More Complex107645 +Node: Statements/Lines109977 +Ref: Statements/Lines-Footnote-1114461 +Node: Other Features114726 +Node: When115662 +Ref: When-Footnote-1117416 +Node: Intro Summary117481 +Node: Invoking Gawk118365 +Node: Command Line119879 +Node: Options120677 +Ref: Options-Footnote-1138591 +Ref: Options-Footnote-2138822 +Node: Other Arguments138847 +Node: Naming Standard Input142858 +Node: Environment Variables144068 +Node: AWKPATH Variable144626 +Ref: AWKPATH Variable-Footnote-1148038 +Ref: AWKPATH Variable-Footnote-2148072 +Node: AWKLIBPATH Variable148443 +Ref: AWKLIBPATH Variable-Footnote-1150140 +Node: Other Environment Variables150515 +Node: Exit Status154467 +Node: Include Files155144 +Node: Loading Shared Libraries158834 +Node: Obsolete160262 +Node: Undocumented160954 +Node: Invoking Summary161251 +Node: Regexp164092 +Node: Regexp Usage165546 +Node: Escape Sequences167583 +Node: Regexp Operators173824 +Node: Regexp Operator Details174309 +Ref: Regexp Operator Details-Footnote-1181673 +Node: Interval Expressions181820 +Ref: Interval Expressions-Footnote-1183241 +Node: Bracket Expressions183339 +Ref: table-char-classes185815 +Node: Leftmost Longest189141 +Node: Computed Regexps190444 +Node: GNU Regexp Operators193871 +Node: Case-sensitivity197608 +Ref: Case-sensitivity-Footnote-1200474 +Ref: Case-sensitivity-Footnote-2200709 +Node: Regexp Summary200817 +Node: Reading Files202283 +Node: Records204552 +Node: awk split records205627 +Node: gawk split records210327 +Ref: gawk split records-Footnote-1215401 +Node: Fields215438 +Node: Nonconstant Fields218179 +Ref: Nonconstant Fields-Footnote-1220415 +Node: Changing Fields220619 +Node: Field Separators226650 +Node: Default Field Splitting229348 +Node: Regexp Field Splitting230466 +Node: Single Character Fields234143 +Node: Command Line Field Separator235203 +Node: Full Line Fields238421 +Ref: Full Line Fields-Footnote-1239943 +Ref: Full Line Fields-Footnote-2239989 +Node: Field Splitting Summary240090 +Node: Constant Size242164 +Node: Fixed width data242896 +Node: Skipping intervening246363 +Node: Allowing trailing data247161 +Node: Fields with fixed data248198 +Node: Splitting By Content249716 +Ref: Splitting By Content-Footnote-1253499 +Node: More CSV253662 +Node: Testing field creation255254 +Node: Multiple Line256879 +Node: Getline263156 +Node: Plain Getline265625 +Node: Getline/Variable268198 +Node: Getline/File269349 +Node: Getline/Variable/File270737 +Ref: Getline/Variable/File-Footnote-1272342 +Node: Getline/Pipe272430 +Node: Getline/Variable/Pipe275134 +Node: Getline/Coprocess276269 +Node: Getline/Variable/Coprocess277536 +Node: Getline Notes278278 +Node: Getline Summary281075 +Ref: table-getline-variants281499 +Node: Read Timeout282247 +Ref: Read Timeout-Footnote-1286153 +Node: Retrying Input286211 +Node: Command-line directories287410 +Node: Input Summary288316 +Node: Input Exercises291488 +Node: Printing291922 +Node: Print293756 +Node: Print Examples295213 +Node: Output Separators297993 +Node: OFMT300010 +Node: Printf301366 +Node: Basic Printf302151 +Node: Control Letters303725 +Node: Format Modifiers308887 +Node: Printf Examples314902 +Node: Redirection317388 +Node: Special FD324229 +Ref: Special FD-Footnote-1327397 +Node: Special Files327471 +Node: Other Inherited Files328088 +Node: Special Network329089 +Node: Special Caveats329949 +Node: Close Files And Pipes330898 +Ref: table-close-pipe-return-values337805 +Ref: Close Files And Pipes-Footnote-1338618 +Ref: Close Files And Pipes-Footnote-2338766 +Node: Nonfatal338918 +Node: Output Summary341256 +Node: Output Exercises342478 +Node: Expressions343157 +Node: Values344345 +Node: Constants345023 +Node: Scalar Constants345714 +Ref: Scalar Constants-Footnote-1348224 +Node: Nondecimal-numbers348474 +Node: Regexp Constants351475 +Node: Using Constant Regexps352001 +Node: Standard Regexp Constants352623 +Node: Strong Regexp Constants355811 +Node: Variables358823 +Node: Using Variables359480 +Node: Assignment Options361390 +Node: Conversion363861 +Node: Strings And Numbers364385 +Ref: Strings And Numbers-Footnote-1367448 +Node: Locale influences conversions367557 +Ref: table-locale-affects370315 +Node: All Operators370933 +Node: Arithmetic Ops371562 +Node: Concatenation374278 +Ref: Concatenation-Footnote-1377125 +Node: Assignment Ops377232 +Ref: table-assign-ops382223 +Node: Increment Ops383536 +Node: Truth Values and Conditions386996 +Node: Truth Values388070 +Node: Typing and Comparison389118 +Node: Variable Typing389938 +Ref: Variable Typing-Footnote-1396401 +Ref: Variable Typing-Footnote-2396473 +Node: Comparison Operators396550 +Ref: table-relational-ops396969 +Node: POSIX String Comparison400464 +Ref: POSIX String Comparison-Footnote-1402159 +Ref: POSIX String Comparison-Footnote-2402298 +Node: Boolean Ops402382 +Ref: Boolean Ops-Footnote-1406864 +Node: Conditional Exp406956 +Node: Function Calls408692 +Node: Precedence412569 +Node: Locales416228 +Node: Expressions Summary417860 +Node: Patterns and Actions420433 +Node: Pattern Overview421553 +Node: Regexp Patterns423230 +Node: Expression Patterns423772 +Node: Ranges427553 +Node: BEGIN/END430661 +Node: Using BEGIN/END431422 +Ref: Using BEGIN/END-Footnote-1434176 +Node: I/O And BEGIN/END434282 +Node: BEGINFILE/ENDFILE436595 +Node: Empty439826 +Node: Using Shell Variables440143 +Node: Action Overview442417 +Node: Statements444742 +Node: If Statement446590 +Node: While Statement448085 +Node: Do Statement450113 +Node: For Statement451261 +Node: Switch Statement454432 +Node: Break Statement456873 +Node: Continue Statement458965 +Node: Next Statement460792 +Node: Nextfile Statement463175 +Node: Exit Statement465864 +Node: Built-in Variables468267 +Node: User-modified469400 +Node: Auto-set477167 +Ref: Auto-set-Footnote-1493974 +Ref: Auto-set-Footnote-2494180 +Node: ARGC and ARGV494236 +Node: Pattern Action Summary498449 +Node: Arrays500879 +Node: Array Basics502208 +Node: Array Intro503052 +Ref: figure-array-elements505027 +Ref: Array Intro-Footnote-1507731 +Node: Reference to Elements507859 +Node: Assigning Elements510323 +Node: Array Example510814 +Node: Scanning an Array512573 +Node: Controlling Scanning515595 +Ref: Controlling Scanning-Footnote-1522051 +Node: Numeric Array Subscripts522367 +Node: Uninitialized Subscripts524551 +Node: Delete526170 +Ref: Delete-Footnote-1528922 +Node: Multidimensional528979 +Node: Multiscanning532074 +Node: Arrays of Arrays533665 +Node: Arrays Summary538433 +Node: Functions540526 +Node: Built-in541564 +Node: Calling Built-in542645 +Node: Numeric Functions544641 +Ref: Numeric Functions-Footnote-1548667 +Ref: Numeric Functions-Footnote-2549315 +Ref: Numeric Functions-Footnote-3549363 +Node: String Functions549635 +Ref: String Functions-Footnote-1573776 +Ref: String Functions-Footnote-2573904 +Ref: String Functions-Footnote-3574152 +Node: Gory Details574239 +Ref: table-sub-escapes576030 +Ref: table-sub-proposed577549 +Ref: table-posix-sub578912 +Ref: table-gensub-escapes580453 +Ref: Gory Details-Footnote-1581276 +Node: I/O Functions581430 +Ref: table-system-return-values587884 +Ref: I/O Functions-Footnote-1589964 +Ref: I/O Functions-Footnote-2590112 +Node: Time Functions590232 +Ref: Time Functions-Footnote-1600903 +Ref: Time Functions-Footnote-2600971 +Ref: Time Functions-Footnote-3601129 +Ref: Time Functions-Footnote-4601240 +Ref: Time Functions-Footnote-5601352 +Ref: Time Functions-Footnote-6601579 +Node: Bitwise Functions601845 +Ref: table-bitwise-ops602439 +Ref: Bitwise Functions-Footnote-1608502 +Ref: Bitwise Functions-Footnote-2608675 +Node: Type Functions608866 +Node: I18N Functions611729 +Node: User-defined613380 +Node: Definition Syntax614192 +Ref: Definition Syntax-Footnote-1619886 +Node: Function Example619957 +Ref: Function Example-Footnote-1622879 +Node: Function Calling622901 +Node: Calling A Function623489 +Node: Variable Scope624447 +Node: Pass By Value/Reference627441 +Node: Function Caveats630085 +Ref: Function Caveats-Footnote-1632132 +Node: Return Statement632252 +Node: Dynamic Typing635231 +Node: Indirect Calls636161 +Ref: Indirect Calls-Footnote-1646413 +Node: Functions Summary646541 +Node: Library Functions649246 +Ref: Library Functions-Footnote-1652853 +Ref: Library Functions-Footnote-2652996 +Node: Library Names653167 +Ref: Library Names-Footnote-1656834 +Ref: Library Names-Footnote-2657057 +Node: General Functions657143 +Node: Strtonum Function658246 +Node: Assert Function661268 +Node: Round Function664594 +Node: Cliff Random Function666134 +Node: Ordinal Functions667150 +Ref: Ordinal Functions-Footnote-1670213 +Ref: Ordinal Functions-Footnote-2670465 +Node: Join Function670675 +Ref: Join Function-Footnote-1672445 +Node: Getlocaltime Function672645 +Node: Readfile Function676387 +Node: Shell Quoting678364 +Node: Data File Management679765 +Node: Filetrans Function680397 +Node: Rewind Function684493 +Node: File Checking686402 +Ref: File Checking-Footnote-1687736 +Node: Empty Files687937 +Node: Ignoring Assigns689916 +Node: Getopt Function691466 +Ref: Getopt Function-Footnote-1706677 +Node: Passwd Functions706877 +Ref: Passwd Functions-Footnote-1715716 +Node: Group Functions715804 +Ref: Group Functions-Footnote-1723702 +Node: Walking Arrays723909 +Node: Library Functions Summary726917 +Node: Library Exercises728323 +Node: Sample Programs728788 +Node: Running Examples729558 +Node: Clones730286 +Node: Cut Program731510 +Node: Egrep Program741650 +Node: Id Program750651 +Node: Split Program760598 +Ref: Split Program-Footnote-1770488 +Node: Tee Program770661 +Node: Uniq Program773451 +Node: Wc Program781039 +Node: Bytes vs. Characters781426 +Node: Using extensions782974 +Node: wc program783728 +Node: Miscellaneous Programs788593 +Node: Dupword Program789806 +Node: Alarm Program791836 +Node: Translate Program796691 +Ref: Translate Program-Footnote-1801256 +Node: Labels Program801526 +Ref: Labels Program-Footnote-1804877 +Node: Word Sorting804961 +Node: History Sorting809033 +Node: Extract Program811258 +Node: Simple Sed819312 +Node: Igawk Program822386 +Ref: Igawk Program-Footnote-1836717 +Ref: Igawk Program-Footnote-2836919 +Ref: Igawk Program-Footnote-3837041 +Node: Anagram Program837156 +Node: Signature Program840218 +Node: Programs Summary841465 +Node: Programs Exercises842679 +Ref: Programs Exercises-Footnote-1846809 +Node: Advanced Features846895 +Node: Nondecimal Data848962 +Node: Array Sorting850553 +Node: Controlling Array Traversal851253 +Ref: Controlling Array Traversal-Footnote-1859621 +Node: Array Sorting Functions859739 +Ref: Array Sorting Functions-Footnote-1864830 +Node: Two-way I/O865026 +Ref: Two-way I/O-Footnote-1872747 +Ref: Two-way I/O-Footnote-2872934 +Node: TCP/IP Networking873016 +Node: Profiling876134 +Node: Extension Philosophy885443 +Node: Advanced Features Summary886922 +Node: Internationalization888937 +Node: I18N and L10N890417 +Node: Explaining gettext891104 +Ref: Explaining gettext-Footnote-1896996 +Ref: Explaining gettext-Footnote-2897181 +Node: Programmer i18n897346 +Ref: Programmer i18n-Footnote-1902295 +Node: Translator i18n902344 +Node: String Extraction903138 +Ref: String Extraction-Footnote-1904270 +Node: Printf Ordering904356 +Ref: Printf Ordering-Footnote-1907142 +Node: I18N Portability907206 +Ref: I18N Portability-Footnote-1909662 +Node: I18N Example909725 +Ref: I18N Example-Footnote-1913000 +Ref: I18N Example-Footnote-2913073 +Node: Gawk I18N913182 +Node: I18N Summary913831 +Node: Debugger915172 +Node: Debugging916172 +Node: Debugging Concepts916613 +Node: Debugging Terms918422 +Node: Awk Debugging920997 +Ref: Awk Debugging-Footnote-1921942 +Node: Sample Debugging Session922074 +Node: Debugger Invocation922608 +Node: Finding The Bug923994 +Node: List of Debugger Commands930468 +Node: Breakpoint Control931801 +Node: Debugger Execution Control935495 +Node: Viewing And Changing Data938857 +Node: Execution Stack942398 +Node: Debugger Info944035 +Node: Miscellaneous Debugger Commands948106 +Node: Readline Support953168 +Node: Limitations954064 +Node: Debugging Summary956618 +Node: Namespaces957897 +Node: Global Namespace959008 +Node: Qualified Names960406 +Node: Default Namespace961405 +Node: Changing The Namespace962146 +Node: Naming Rules963760 +Node: Internal Name Management965608 +Node: Namespace Example966650 +Node: Namespace And Features969212 +Node: Namespace Summary970647 +Node: Arbitrary Precision Arithmetic972124 +Node: Computer Arithmetic973611 +Ref: table-numeric-ranges977377 +Ref: table-floating-point-ranges977870 +Ref: Computer Arithmetic-Footnote-1978528 +Node: Math Definitions978585 +Ref: table-ieee-formats981561 +Node: MPFR features982128 +Node: FP Math Caution983846 +Ref: FP Math Caution-Footnote-1984918 +Node: Inexactness of computations985287 +Node: Inexact representation986318 +Node: Comparing FP Values987678 +Node: Errors accumulate988919 +Node: Strange values990375 +Ref: Strange values-Footnote-1992963 +Node: Getting Accuracy993068 +Node: Try To Round995778 +Node: Setting precision996677 +Ref: table-predefined-precision-strings997374 +Node: Setting the rounding mode999204 +Ref: table-gawk-rounding-modes999578 +Ref: Setting the rounding mode-Footnote-11003509 +Node: Arbitrary Precision Integers1003688 +Ref: Arbitrary Precision Integers-Footnote-11006863 +Node: Checking for MPFR1007012 +Node: POSIX Floating Point Problems1008486 +Ref: POSIX Floating Point Problems-Footnote-11012771 +Node: Floating point summary1012809 +Node: Dynamic Extensions1014999 +Node: Extension Intro1016552 +Node: Plugin License1017818 +Node: Extension Mechanism Outline1018615 +Ref: figure-load-extension1019054 +Ref: figure-register-new-function1020619 +Ref: figure-call-new-function1021711 +Node: Extension API Description1023773 +Node: Extension API Functions Introduction1025486 +Ref: table-api-std-headers1027322 +Node: General Data Types1031571 +Ref: General Data Types-Footnote-11040277 +Node: Memory Allocation Functions1040576 +Ref: Memory Allocation Functions-Footnote-11045077 +Node: Constructor Functions1045176 +Node: API Ownership of MPFR and GMP Values1048829 +Node: Registration Functions1050142 +Node: Extension Functions1050842 +Node: Exit Callback Functions1056164 +Node: Extension Version String1057414 +Node: Input Parsers1058077 +Node: Output Wrappers1070798 +Node: Two-way processors1075310 +Node: Printing Messages1077575 +Ref: Printing Messages-Footnote-11078746 +Node: Updating ERRNO1078899 +Node: Requesting Values1079638 +Ref: table-value-types-returned1080375 +Node: Accessing Parameters1081483 +Node: Symbol Table Access1082720 +Node: Symbol table by name1083232 +Ref: Symbol table by name-Footnote-11086256 +Node: Symbol table by cookie1086384 +Ref: Symbol table by cookie-Footnote-11090569 +Node: Cached values1090633 +Ref: Cached values-Footnote-11094169 +Node: Array Manipulation1094322 +Ref: Array Manipulation-Footnote-11095413 +Node: Array Data Types1095450 +Ref: Array Data Types-Footnote-11098108 +Node: Array Functions1098200 +Node: Flattening Arrays1102698 +Node: Creating Arrays1109674 +Node: Redirection API1114441 +Node: Extension API Variables1117274 +Node: Extension Versioning1117985 +Ref: gawk-api-version1118414 +Node: Extension GMP/MPFR Versioning1120145 +Node: Extension API Informational Variables1121773 +Node: Extension API Boilerplate1122846 +Node: Changes from API V11126820 +Node: Finding Extensions1128392 +Node: Extension Example1128951 +Node: Internal File Description1129749 +Node: Internal File Ops1133829 +Ref: Internal File Ops-Footnote-11145179 +Node: Using Internal File Ops1145319 +Ref: Using Internal File Ops-Footnote-11147702 +Node: Extension Samples1147976 +Node: Extension Sample File Functions1149505 +Node: Extension Sample Fnmatch1157154 +Node: Extension Sample Fork1158641 +Node: Extension Sample Inplace1159859 +Node: Extension Sample Ord1163485 +Node: Extension Sample Readdir1164321 +Ref: table-readdir-file-types1165210 +Node: Extension Sample Revout1166277 +Node: Extension Sample Rev2way1166866 +Node: Extension Sample Read write array1167606 +Node: Extension Sample Readfile1169548 +Node: Extension Sample Time1170643 +Node: Extension Sample API Tests1172395 +Node: gawkextlib1172887 +Node: Extension summary1175805 +Node: Extension Exercises1179507 +Node: Language History1180749 +Node: V7/SVR3.11182405 +Node: SVR41184557 +Node: POSIX1185991 +Node: BTL1187372 +Node: POSIX/GNU1188101 +Node: Feature History1193879 +Node: Common Extensions1210198 +Node: Ranges and Locales1211481 +Ref: Ranges and Locales-Footnote-11216097 +Ref: Ranges and Locales-Footnote-21216124 +Ref: Ranges and Locales-Footnote-31216359 +Node: Contributors1216582 +Node: History summary1222579 +Node: Installation1223959 +Node: Gawk Distribution1224903 +Node: Getting1225387 +Node: Extracting1226350 +Node: Distribution contents1227988 +Node: Unix Installation1234468 +Node: Quick Installation1235150 +Node: Shell Startup Files1237564 +Node: Additional Configuration Options1238653 +Node: Configuration Philosophy1240968 +Node: Non-Unix Installation1243337 +Node: PC Installation1243797 +Node: PC Binary Installation1244635 +Node: PC Compiling1245070 +Node: PC Using1246187 +Node: Cygwin1249740 +Node: MSYS1250964 +Node: VMS Installation1251566 +Node: VMS Compilation1252357 +Ref: VMS Compilation-Footnote-11253586 +Node: VMS Dynamic Extensions1253644 +Node: VMS Installation Details1255329 +Node: VMS Running1257582 +Node: VMS GNV1261861 +Node: VMS Old Gawk1262596 +Node: Bugs1263067 +Node: Bug address1263730 +Node: Usenet1266712 +Node: Maintainers1267716 +Node: Other Versions1268901 +Node: Installation summary1276766 +Node: Notes1277975 +Node: Compatibility Mode1278769 +Node: Additions1279551 +Node: Accessing The Source1280476 +Node: Adding Code1281913 +Node: New Ports1288132 +Node: Derived Files1292507 +Ref: Derived Files-Footnote-11298167 +Ref: Derived Files-Footnote-21298202 +Ref: Derived Files-Footnote-31298800 +Node: Future Extensions1298914 +Node: Implementation Limitations1299572 +Node: Extension Design1300782 +Node: Old Extension Problems1301926 +Ref: Old Extension Problems-Footnote-11303444 +Node: Extension New Mechanism Goals1303501 +Ref: Extension New Mechanism Goals-Footnote-11306865 +Node: Extension Other Design Decisions1307054 +Node: Extension Future Growth1309167 +Node: Notes summary1309773 +Node: Basic Concepts1310931 +Node: Basic High Level1311612 +Ref: figure-general-flow1311894 +Ref: figure-process-flow1312579 +Ref: Basic High Level-Footnote-11315880 +Node: Basic Data Typing1316065 +Node: Glossary1319393 +Node: Copying1351278 +Node: GNU Free Documentation License1388821 +Node: Index1413941 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index fabf79b2..88b0a2ca 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -835,6 +835,9 @@ particular records in a file and perform operations upon them. * Tee Program:: The @command{tee} utility. * Uniq Program:: The @command{uniq} utility. * Wc Program:: The @command{wc} utility. +* Bytes vs. Characters:: Modern character sets. +* Using extensions:: A brief intro to extensions. +* @command{wc} program:: Code for @file{wc.awk}. * Miscellaneous Programs:: Some interesting @command{awk} programs. * Dupword Program:: Finding duplicated words in a @@ -868,7 +871,8 @@ particular records in a file and perform operations upon them. * TCP/IP Networking:: Using @command{gawk} for network programming. * Profiling:: Profiling your @command{awk} programs. -* Extension Philosophy:: What should be built-in and what should not. +* Extension Philosophy:: What should be built-in and what + should not. * Advanced Features Summary:: Summary of advanced features. * I18N and L10N:: Internationalization and Localization. * Explaining gettext:: How GNU @command{gettext} works. @@ -937,8 +941,8 @@ particular records in a file and perform operations upon them. * Extension API Functions Introduction:: Introduction to the API functions. * General Data Types:: The data types. * Memory Allocation Functions:: Functions for allocating memory. -* API Ownership of MPFR and GMP Values:: Managing MPFR and GMP Values. * Constructor Functions:: Functions for creating values. +* API Ownership of MPFR and GMP Values:: Managing MPFR and GMP Values. * Registration Functions:: Functions to register things with @command{gawk}. * Extension Functions:: Registering extension functions. @@ -27013,7 +27017,7 @@ and bytes in one or more input files. @menu * Bytes vs. Characters:: Modern character sets. * Using extensions:: A brief intro to extensions. -* @command{wc} program:: Code for @file{wc.awk}. +* @command{wc} program:: Code for @file{wc.awk}. @end menu @node Bytes vs. Characters diff --git a/doc/gawktexi.in b/doc/gawktexi.in index efe30c10..598d6a1b 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -830,6 +830,9 @@ particular records in a file and perform operations upon them. * Tee Program:: The @command{tee} utility. * Uniq Program:: The @command{uniq} utility. * Wc Program:: The @command{wc} utility. +* Bytes vs. Characters:: Modern character sets. +* Using extensions:: A brief intro to extensions. +* @command{wc} program:: Code for @file{wc.awk}. * Miscellaneous Programs:: Some interesting @command{awk} programs. * Dupword Program:: Finding duplicated words in a @@ -863,7 +866,8 @@ particular records in a file and perform operations upon them. * TCP/IP Networking:: Using @command{gawk} for network programming. * Profiling:: Profiling your @command{awk} programs. -* Extension Philosophy:: What should be built-in and what should not. +* Extension Philosophy:: What should be built-in and what + should not. * Advanced Features Summary:: Summary of advanced features. * I18N and L10N:: Internationalization and Localization. * Explaining gettext:: How GNU @command{gettext} works. @@ -932,8 +936,8 @@ particular records in a file and perform operations upon them. * Extension API Functions Introduction:: Introduction to the API functions. * General Data Types:: The data types. * Memory Allocation Functions:: Functions for allocating memory. -* API Ownership of MPFR and GMP Values:: Managing MPFR and GMP Values. * Constructor Functions:: Functions for creating values. +* API Ownership of MPFR and GMP Values:: Managing MPFR and GMP Values. * Registration Functions:: Functions to register things with @command{gawk}. * Extension Functions:: Registering extension functions. @@ -25895,7 +25899,7 @@ and bytes in one or more input files. @menu * Bytes vs. Characters:: Modern character sets. * Using extensions:: A brief intro to extensions. -* @command{wc} program:: Code for @file{wc.awk}. +* @command{wc} program:: Code for @file{wc.awk}. @end menu @node Bytes vs. Characters |