diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2017-04-11 22:39:28 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2017-04-11 22:39:28 +0300 |
commit | c9c9fe5bb2d5c6b07a67f4cf6861aeb6d9bbfcfd (patch) | |
tree | c2b3bbf5da99bb17e7df1c053e9a1b3a1f1f3eef /doc | |
parent | 1a3454c8dc0c0412810e2ba91816ee83f7e39541 (diff) | |
download | egawk-c9c9fe5bb2d5c6b07a67f4cf6861aeb6d9bbfcfd.tar.gz egawk-c9c9fe5bb2d5c6b07a67f4cf6861aeb6d9bbfcfd.tar.bz2 egawk-c9c9fe5bb2d5c6b07a67f4cf6861aeb6d9bbfcfd.zip |
Minor style edits in doc.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 979 | ||||
-rw-r--r-- | doc/gawk.texi | 20 | ||||
-rw-r--r-- | doc/gawktexi.in | 20 |
4 files changed, 513 insertions, 510 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 7b956c44..82ae2ce3 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2017-04-11 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Minor style edits. + 2017-04-10 Andrew J. Schorr <aschorr@telemetry-investments.com> * gawktexi.in: Document FIELDWIDTHS enhancement to support an optional diff --git a/doc/gawk.info b/doc/gawk.info index d33e0180..42c3c197 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -5217,7 +5217,7 @@ value is '"FS"' if regular field splitting is being used, or else if (PROCINFO["FS"] == "FPAT") CONTENT-BASED FIELD SPLITTING ... (see next minor node) else - API INPUT PARSER FIELD SPLITTING ... (*note Input Parsers::) + API INPUT PARSER FIELD SPLITTING ... (advanced feature) This information is useful when writing a function that needs to temporarily change 'FS' or 'FIELDWIDTHS', read some records, and then @@ -24297,10 +24297,10 @@ records. The parameters are as follows: structure supplying field width information to override the default field parsing mechanism. Note that this structure will not be copied by 'gawk'; it must persist at least until the next call to - 'get_record' or 'close_func'. Note also that 'field_width' will be + 'get_record' or 'close_func'. Note also that 'field_width' is 'NULL' when 'getline' is assigning the results to a variable, thus field parsing is not needed. If the parser does set - '*field_width', then 'gawk' will use this layout to parse the input + '*field_width', then 'gawk' uses this layout to parse the input record, and the 'PROCINFO["FS"]' value will be '"API"' while this record is active in '$0'. The 'awk_fieldwidth_info_t' data structure is described below. @@ -24355,7 +24355,7 @@ activate an input parser (*note BEGINFILE/ENDFILE::). Register the input parser pointed to by 'input_parser' with 'gawk'. If you would like to override the default field parsing mechanism for -a given record, then you must populate the 'awk_fieldwidth_info_t' +a given record, then you must populate an 'awk_fieldwidth_info_t' structure, which looks like this: typedef struct { @@ -24382,17 +24382,16 @@ structure, which looks like this: This is a variable-length array whose actual dimension should be 'nf'. For each field, the 'skip' element should be set to the number of characters or bytes, as controlled by the 'use_chars' - flag, to skip before the start of this field. And the 'len' - element provides the length of the field. The values in - 'fields[0]' provide the information for the '$1' field, and so on - through the 'fields[nf-1]' element containing the information for - '$NF'. + flag, to skip before the start of this field. The 'len' element + provides the length of the field. The values in 'fields[0]' + provide the information for '$1', and so on through the + 'fields[nf-1]' element containing the information for '$NF'. A convenience macro 'awk_fieldwidth_info_size(NF)' is provided to calculate the appropriate size of a variable-length 'awk_fieldwidth_info_t' structure containing 'NF' fields. This can be -used as an argument to 'malloc' or in a union to allocate space -statically. Please refer to the sample extension 'readdir_test' for an +used as an argument to 'malloc()' or in a union to allocate space +statically. Please refer to the 'readdir_test' sample extension for an example. @@ -35643,484 +35642,484 @@ Ref: Full Line Fields-Footnote-1228233 Ref: Full Line Fields-Footnote-2228279 Node: Field Splitting Summary228380 Node: Constant Size230454 -Node: Splitting By Content235768 -Ref: Splitting By Content-Footnote-1239908 -Node: Multiple Line240071 -Ref: Multiple Line-Footnote-1245953 -Node: Getline246132 -Node: Plain Getline248599 -Node: Getline/Variable251238 -Node: Getline/File252387 -Node: Getline/Variable/File253773 -Ref: Getline/Variable/File-Footnote-1255376 -Node: Getline/Pipe255464 -Node: Getline/Variable/Pipe258169 -Node: Getline/Coprocess259302 -Node: Getline/Variable/Coprocess260567 -Node: Getline Notes261307 -Node: Getline Summary264102 -Ref: table-getline-variants264524 -Node: Read Timeout265272 -Ref: Read Timeout-Footnote-1269178 -Node: Retrying Input269236 -Node: Command-line directories270435 -Node: Input Summary271341 -Node: Input Exercises274513 -Node: Printing275241 -Node: Print277075 -Node: Print Examples278532 -Node: Output Separators281312 -Node: OFMT283329 -Node: Printf284685 -Node: Basic Printf285470 -Node: Control Letters287044 -Node: Format Modifiers291032 -Node: Printf Examples297047 -Node: Redirection299533 -Node: Special FD306374 -Ref: Special FD-Footnote-1309542 -Node: Special Files309616 -Node: Other Inherited Files310233 -Node: Special Network311234 -Node: Special Caveats312094 -Node: Close Files And Pipes313043 -Ref: table-close-pipe-return-values319950 -Ref: Close Files And Pipes-Footnote-1320733 -Ref: Close Files And Pipes-Footnote-2320881 -Node: Nonfatal321033 -Node: Output Summary323358 -Node: Output Exercises324580 -Node: Expressions325259 -Node: Values326447 -Node: Constants327125 -Node: Scalar Constants327816 -Ref: Scalar Constants-Footnote-1328680 -Node: Nondecimal-numbers328930 -Node: Regexp Constants331931 -Node: Using Constant Regexps332457 -Node: Standard Regexp Constants333079 -Node: Strong Regexp Constants336267 -Node: Variables339225 -Node: Using Variables339882 -Node: Assignment Options341792 -Node: Conversion343665 -Node: Strings And Numbers344189 -Ref: Strings And Numbers-Footnote-1347252 -Node: Locale influences conversions347361 -Ref: table-locale-affects350119 -Node: All Operators350737 -Node: Arithmetic Ops351366 -Node: Concatenation353872 -Ref: Concatenation-Footnote-1356719 -Node: Assignment Ops356826 -Ref: table-assign-ops361817 -Node: Increment Ops363130 -Node: Truth Values and Conditions366590 -Node: Truth Values367664 -Node: Typing and Comparison368712 -Node: Variable Typing369532 -Ref: Variable Typing-Footnote-1375995 -Ref: Variable Typing-Footnote-2376067 -Node: Comparison Operators376144 -Ref: table-relational-ops376563 -Node: POSIX String Comparison380058 -Ref: POSIX String Comparison-Footnote-1381753 -Ref: POSIX String Comparison-Footnote-2381892 -Node: Boolean Ops381976 -Ref: Boolean Ops-Footnote-1386458 -Node: Conditional Exp386550 -Node: Function Calls388286 -Node: Precedence392163 -Node: Locales395822 -Node: Expressions Summary397454 -Node: Patterns and Actions400027 -Node: Pattern Overview401147 -Node: Regexp Patterns402824 -Node: Expression Patterns403366 -Node: Ranges407147 -Node: BEGIN/END410255 -Node: Using BEGIN/END411016 -Ref: Using BEGIN/END-Footnote-1413752 -Node: I/O And BEGIN/END413858 -Node: BEGINFILE/ENDFILE416172 -Node: Empty419079 -Node: Using Shell Variables419396 -Node: Action Overview421670 -Node: Statements423995 -Node: If Statement425843 -Node: While Statement427338 -Node: Do Statement429366 -Node: For Statement430514 -Node: Switch Statement433672 -Node: Break Statement436058 -Node: Continue Statement438150 -Node: Next Statement439977 -Node: Nextfile Statement442360 -Node: Exit Statement445012 -Node: Built-in Variables447415 -Node: User-modified448548 -Node: Auto-set456315 -Ref: Auto-set-Footnote-1471043 -Ref: Auto-set-Footnote-2471249 -Node: ARGC and ARGV471305 -Node: Pattern Action Summary475518 -Node: Arrays477948 -Node: Array Basics479277 -Node: Array Intro480121 -Ref: figure-array-elements482096 -Ref: Array Intro-Footnote-1484800 -Node: Reference to Elements484928 -Node: Assigning Elements487392 -Node: Array Example487883 -Node: Scanning an Array489642 -Node: Controlling Scanning492664 -Ref: Controlling Scanning-Footnote-1498063 -Node: Numeric Array Subscripts498379 -Node: Uninitialized Subscripts500563 -Node: Delete502182 -Ref: Delete-Footnote-1504934 -Node: Multidimensional504991 -Node: Multiscanning508086 -Node: Arrays of Arrays509677 -Node: Arrays Summary514444 -Node: Functions516537 -Node: Built-in517575 -Node: Calling Built-in518656 -Node: Numeric Functions520652 -Ref: Numeric Functions-Footnote-1525485 -Ref: Numeric Functions-Footnote-2525842 -Ref: Numeric Functions-Footnote-3525890 -Node: String Functions526162 -Ref: String Functions-Footnote-1549666 -Ref: String Functions-Footnote-2549794 -Ref: String Functions-Footnote-3550042 -Node: Gory Details550129 -Ref: table-sub-escapes551920 -Ref: table-sub-proposed553439 -Ref: table-posix-sub554802 -Ref: table-gensub-escapes556343 -Ref: Gory Details-Footnote-1557166 -Node: I/O Functions557320 -Ref: table-system-return-values563902 -Ref: I/O Functions-Footnote-1565882 -Ref: I/O Functions-Footnote-2566030 -Node: Time Functions566150 -Ref: Time Functions-Footnote-1576817 -Ref: Time Functions-Footnote-2576885 -Ref: Time Functions-Footnote-3577043 -Ref: Time Functions-Footnote-4577154 -Ref: Time Functions-Footnote-5577266 -Ref: Time Functions-Footnote-6577493 -Node: Bitwise Functions577759 -Ref: table-bitwise-ops578353 -Ref: Bitwise Functions-Footnote-1584386 -Ref: Bitwise Functions-Footnote-2584559 -Node: Type Functions584750 -Node: I18N Functions587425 -Node: User-defined589076 -Node: Definition Syntax589881 -Ref: Definition Syntax-Footnote-1595568 -Node: Function Example595639 -Ref: Function Example-Footnote-1598561 -Node: Function Caveats598583 -Node: Calling A Function599101 -Node: Variable Scope600059 -Node: Pass By Value/Reference603053 -Node: Return Statement606552 -Node: Dynamic Typing609531 -Node: Indirect Calls610461 -Ref: Indirect Calls-Footnote-1620712 -Node: Functions Summary620840 -Node: Library Functions623545 -Ref: Library Functions-Footnote-1627152 -Ref: Library Functions-Footnote-2627295 -Node: Library Names627466 -Ref: Library Names-Footnote-1630926 -Ref: Library Names-Footnote-2631149 -Node: General Functions631235 -Node: Strtonum Function632338 -Node: Assert Function635360 -Node: Round Function638686 -Node: Cliff Random Function640227 -Node: Ordinal Functions641243 -Ref: Ordinal Functions-Footnote-1644306 -Ref: Ordinal Functions-Footnote-2644558 -Node: Join Function644768 -Ref: Join Function-Footnote-1646538 -Node: Getlocaltime Function646738 -Node: Readfile Function650480 -Node: Shell Quoting652452 -Node: Data File Management653853 -Node: Filetrans Function654485 -Node: Rewind Function658581 -Node: File Checking660487 -Ref: File Checking-Footnote-1661821 -Node: Empty Files662022 -Node: Ignoring Assigns664001 -Node: Getopt Function665551 -Ref: Getopt Function-Footnote-1677020 -Node: Passwd Functions677220 -Ref: Passwd Functions-Footnote-1686059 -Node: Group Functions686147 -Ref: Group Functions-Footnote-1694045 -Node: Walking Arrays694252 -Node: Library Functions Summary697260 -Node: Library Exercises698666 -Node: Sample Programs699131 -Node: Running Examples699901 -Node: Clones700629 -Node: Cut Program701853 -Node: Egrep Program711782 -Ref: Egrep Program-Footnote-1719294 -Node: Id Program719404 -Node: Split Program723084 -Ref: Split Program-Footnote-1726543 -Node: Tee Program726672 -Node: Uniq Program729462 -Node: Wc Program736888 -Ref: Wc Program-Footnote-1741143 -Node: Miscellaneous Programs741237 -Node: Dupword Program742450 -Node: Alarm Program744480 -Node: Translate Program749335 -Ref: Translate Program-Footnote-1753900 -Node: Labels Program754170 -Ref: Labels Program-Footnote-1757521 -Node: Word Sorting757605 -Node: History Sorting761677 -Node: Extract Program763512 -Node: Simple Sed771041 -Node: Igawk Program774115 -Ref: Igawk Program-Footnote-1788446 -Ref: Igawk Program-Footnote-2788648 -Ref: Igawk Program-Footnote-3788770 -Node: Anagram Program788885 -Node: Signature Program791947 -Node: Programs Summary793194 -Node: Programs Exercises794408 -Ref: Programs Exercises-Footnote-1798537 -Node: Advanced Features798628 -Node: Nondecimal Data800618 -Node: Array Sorting802209 -Node: Controlling Array Traversal802909 -Ref: Controlling Array Traversal-Footnote-1811276 -Node: Array Sorting Functions811394 -Ref: Array Sorting Functions-Footnote-1816485 -Node: Two-way I/O816681 -Ref: Two-way I/O-Footnote-1823232 -Ref: Two-way I/O-Footnote-2823419 -Node: TCP/IP Networking823501 -Node: Profiling826619 -Ref: Profiling-Footnote-1835291 -Node: Advanced Features Summary835614 -Node: Internationalization837458 -Node: I18N and L10N838938 -Node: Explaining gettext839625 -Ref: Explaining gettext-Footnote-1845517 -Ref: Explaining gettext-Footnote-2845702 -Node: Programmer i18n845867 -Ref: Programmer i18n-Footnote-1850816 -Node: Translator i18n850865 -Node: String Extraction851659 -Ref: String Extraction-Footnote-1852791 -Node: Printf Ordering852877 -Ref: Printf Ordering-Footnote-1855663 -Node: I18N Portability855727 -Ref: I18N Portability-Footnote-1858183 -Node: I18N Example858246 -Ref: I18N Example-Footnote-1861052 -Node: Gawk I18N861125 -Node: I18N Summary861770 -Node: Debugger863111 -Node: Debugging864133 -Node: Debugging Concepts864574 -Node: Debugging Terms866383 -Node: Awk Debugging868958 -Node: Sample Debugging Session869864 -Node: Debugger Invocation870398 -Node: Finding The Bug871784 -Node: List of Debugger Commands878262 -Node: Breakpoint Control879595 -Node: Debugger Execution Control883289 -Node: Viewing And Changing Data886651 -Node: Execution Stack890025 -Node: Debugger Info891662 -Node: Miscellaneous Debugger Commands895733 -Node: Readline Support900821 -Node: Limitations901717 -Node: Debugging Summary903826 -Node: Arbitrary Precision Arithmetic905105 -Node: Computer Arithmetic906521 -Ref: table-numeric-ranges910112 -Ref: Computer Arithmetic-Footnote-1910834 -Node: Math Definitions910891 -Ref: table-ieee-formats914205 -Ref: Math Definitions-Footnote-1914808 -Node: MPFR features914913 -Node: FP Math Caution916630 -Ref: FP Math Caution-Footnote-1917702 -Node: Inexactness of computations918071 -Node: Inexact representation919031 -Node: Comparing FP Values920391 -Node: Errors accumulate921473 -Node: Getting Accuracy922906 -Node: Try To Round925616 -Node: Setting precision926515 -Ref: table-predefined-precision-strings927212 -Node: Setting the rounding mode929042 -Ref: table-gawk-rounding-modes929416 -Ref: Setting the rounding mode-Footnote-1932824 -Node: Arbitrary Precision Integers933003 -Ref: Arbitrary Precision Integers-Footnote-1937920 -Node: POSIX Floating Point Problems938069 -Ref: POSIX Floating Point Problems-Footnote-1941951 -Node: Floating point summary941989 -Node: Dynamic Extensions944179 -Node: Extension Intro945732 -Node: Plugin License946998 -Node: Extension Mechanism Outline947795 -Ref: figure-load-extension948234 -Ref: figure-register-new-function949799 -Ref: figure-call-new-function950891 -Node: Extension API Description952953 -Node: Extension API Functions Introduction954595 -Node: General Data Types959929 -Ref: General Data Types-Footnote-1967134 -Node: Memory Allocation Functions967433 -Ref: Memory Allocation Functions-Footnote-1970278 -Node: Constructor Functions970377 -Node: Registration Functions973376 -Node: Extension Functions974061 -Node: Exit Callback Functions979274 -Node: Extension Version String980524 -Node: Input Parsers981187 -Node: Output Wrappers993921 -Node: Two-way processors998433 -Node: Printing Messages1000698 -Ref: Printing Messages-Footnote-11001869 -Node: Updating ERRNO1002022 -Node: Requesting Values1002761 -Ref: table-value-types-returned1003498 -Node: Accessing Parameters1004434 -Node: Symbol Table Access1005669 -Node: Symbol table by name1006181 -Node: Symbol table by cookie1007970 -Ref: Symbol table by cookie-Footnote-11012155 -Node: Cached values1012219 -Ref: Cached values-Footnote-11015755 -Node: Array Manipulation1015846 -Ref: Array Manipulation-Footnote-11016937 -Node: Array Data Types1016974 -Ref: Array Data Types-Footnote-11019632 -Node: Array Functions1019724 -Node: Flattening Arrays1024123 -Node: Creating Arrays1031064 -Node: Redirection API1035833 -Node: Extension API Variables1038675 -Node: Extension Versioning1039308 -Ref: gawk-api-version1039745 -Node: Extension API Informational Variables1041473 -Node: Extension API Boilerplate1042537 -Node: Changes from API V11046399 -Node: Finding Extensions1047059 -Node: Extension Example1047618 -Node: Internal File Description1048416 -Node: Internal File Ops1052496 -Ref: Internal File Ops-Footnote-11063896 -Node: Using Internal File Ops1064036 -Ref: Using Internal File Ops-Footnote-11066419 -Node: Extension Samples1066693 -Node: Extension Sample File Functions1068222 -Node: Extension Sample Fnmatch1075871 -Node: Extension Sample Fork1077358 -Node: Extension Sample Inplace1078576 -Node: Extension Sample Ord1081786 -Node: Extension Sample Readdir1082622 -Ref: table-readdir-file-types1083511 -Node: Extension Sample Revout1084316 -Node: Extension Sample Rev2way1084905 -Node: Extension Sample Read write array1085645 -Node: Extension Sample Readfile1087587 -Node: Extension Sample Time1088682 -Node: Extension Sample API Tests1090030 -Node: gawkextlib1090522 -Node: Extension summary1092969 -Node: Extension Exercises1096671 -Node: Language History1098169 -Node: V7/SVR3.11099825 -Node: SVR41101977 -Node: POSIX1103411 -Node: BTL1104790 -Node: POSIX/GNU1105519 -Node: Feature History1111411 -Node: Common Extensions1125781 -Node: Ranges and Locales1127064 -Ref: Ranges and Locales-Footnote-11131680 -Ref: Ranges and Locales-Footnote-21131707 -Ref: Ranges and Locales-Footnote-31131942 -Node: Contributors1132163 -Node: History summary1137723 -Node: Installation1139103 -Node: Gawk Distribution1140047 -Node: Getting1140531 -Node: Extracting1141492 -Node: Distribution contents1143130 -Node: Unix Installation1149472 -Node: Quick Installation1150154 -Node: Shell Startup Files1152568 -Node: Additional Configuration Options1153657 -Node: Configuration Philosophy1155462 -Node: Non-Unix Installation1157831 -Node: PC Installation1158291 -Node: PC Binary Installation1159129 -Node: PC Compiling1159564 -Node: PC Using1160681 -Node: Cygwin1163726 -Node: MSYS1164496 -Node: VMS Installation1164997 -Node: VMS Compilation1165788 -Ref: VMS Compilation-Footnote-11167017 -Node: VMS Dynamic Extensions1167075 -Node: VMS Installation Details1168760 -Node: VMS Running1171013 -Node: VMS GNV1175292 -Node: VMS Old Gawk1176027 -Node: Bugs1176498 -Node: Bug address1177161 -Node: Usenet1179558 -Node: Maintainers1180335 -Node: Other Versions1181711 -Node: Installation summary1188295 -Node: Notes1189330 -Node: Compatibility Mode1190195 -Node: Additions1190977 -Node: Accessing The Source1191902 -Node: Adding Code1193337 -Node: New Ports1199555 -Node: Derived Files1204043 -Ref: Derived Files-Footnote-11209528 -Ref: Derived Files-Footnote-21209563 -Ref: Derived Files-Footnote-31210161 -Node: Future Extensions1210275 -Node: Implementation Limitations1210933 -Node: Extension Design1212116 -Node: Old Extension Problems1213270 -Ref: Old Extension Problems-Footnote-11214788 -Node: Extension New Mechanism Goals1214845 -Ref: Extension New Mechanism Goals-Footnote-11218209 -Node: Extension Other Design Decisions1218398 -Node: Extension Future Growth1220511 -Node: Old Extension Mechanism1221347 -Node: Notes summary1223110 -Node: Basic Concepts1224292 -Node: Basic High Level1224973 -Ref: figure-general-flow1225255 -Ref: figure-process-flow1225940 -Ref: Basic High Level-Footnote-11229241 -Node: Basic Data Typing1229426 -Node: Glossary1232754 -Node: Copying1264701 -Node: GNU Free Documentation License1302240 -Node: Index1327358 +Node: Splitting By Content235763 +Ref: Splitting By Content-Footnote-1239903 +Node: Multiple Line240066 +Ref: Multiple Line-Footnote-1245948 +Node: Getline246127 +Node: Plain Getline248594 +Node: Getline/Variable251233 +Node: Getline/File252382 +Node: Getline/Variable/File253768 +Ref: Getline/Variable/File-Footnote-1255371 +Node: Getline/Pipe255459 +Node: Getline/Variable/Pipe258164 +Node: Getline/Coprocess259297 +Node: Getline/Variable/Coprocess260562 +Node: Getline Notes261302 +Node: Getline Summary264097 +Ref: table-getline-variants264519 +Node: Read Timeout265267 +Ref: Read Timeout-Footnote-1269173 +Node: Retrying Input269231 +Node: Command-line directories270430 +Node: Input Summary271336 +Node: Input Exercises274508 +Node: Printing275236 +Node: Print277070 +Node: Print Examples278527 +Node: Output Separators281307 +Node: OFMT283324 +Node: Printf284680 +Node: Basic Printf285465 +Node: Control Letters287039 +Node: Format Modifiers291027 +Node: Printf Examples297042 +Node: Redirection299528 +Node: Special FD306369 +Ref: Special FD-Footnote-1309537 +Node: Special Files309611 +Node: Other Inherited Files310228 +Node: Special Network311229 +Node: Special Caveats312089 +Node: Close Files And Pipes313038 +Ref: table-close-pipe-return-values319945 +Ref: Close Files And Pipes-Footnote-1320728 +Ref: Close Files And Pipes-Footnote-2320876 +Node: Nonfatal321028 +Node: Output Summary323353 +Node: Output Exercises324575 +Node: Expressions325254 +Node: Values326442 +Node: Constants327120 +Node: Scalar Constants327811 +Ref: Scalar Constants-Footnote-1328675 +Node: Nondecimal-numbers328925 +Node: Regexp Constants331926 +Node: Using Constant Regexps332452 +Node: Standard Regexp Constants333074 +Node: Strong Regexp Constants336262 +Node: Variables339220 +Node: Using Variables339877 +Node: Assignment Options341787 +Node: Conversion343660 +Node: Strings And Numbers344184 +Ref: Strings And Numbers-Footnote-1347247 +Node: Locale influences conversions347356 +Ref: table-locale-affects350114 +Node: All Operators350732 +Node: Arithmetic Ops351361 +Node: Concatenation353867 +Ref: Concatenation-Footnote-1356714 +Node: Assignment Ops356821 +Ref: table-assign-ops361812 +Node: Increment Ops363125 +Node: Truth Values and Conditions366585 +Node: Truth Values367659 +Node: Typing and Comparison368707 +Node: Variable Typing369527 +Ref: Variable Typing-Footnote-1375990 +Ref: Variable Typing-Footnote-2376062 +Node: Comparison Operators376139 +Ref: table-relational-ops376558 +Node: POSIX String Comparison380053 +Ref: POSIX String Comparison-Footnote-1381748 +Ref: POSIX String Comparison-Footnote-2381887 +Node: Boolean Ops381971 +Ref: Boolean Ops-Footnote-1386453 +Node: Conditional Exp386545 +Node: Function Calls388281 +Node: Precedence392158 +Node: Locales395817 +Node: Expressions Summary397449 +Node: Patterns and Actions400022 +Node: Pattern Overview401142 +Node: Regexp Patterns402819 +Node: Expression Patterns403361 +Node: Ranges407142 +Node: BEGIN/END410250 +Node: Using BEGIN/END411011 +Ref: Using BEGIN/END-Footnote-1413747 +Node: I/O And BEGIN/END413853 +Node: BEGINFILE/ENDFILE416167 +Node: Empty419074 +Node: Using Shell Variables419391 +Node: Action Overview421665 +Node: Statements423990 +Node: If Statement425838 +Node: While Statement427333 +Node: Do Statement429361 +Node: For Statement430509 +Node: Switch Statement433667 +Node: Break Statement436053 +Node: Continue Statement438145 +Node: Next Statement439972 +Node: Nextfile Statement442355 +Node: Exit Statement445007 +Node: Built-in Variables447410 +Node: User-modified448543 +Node: Auto-set456310 +Ref: Auto-set-Footnote-1471038 +Ref: Auto-set-Footnote-2471244 +Node: ARGC and ARGV471300 +Node: Pattern Action Summary475513 +Node: Arrays477943 +Node: Array Basics479272 +Node: Array Intro480116 +Ref: figure-array-elements482091 +Ref: Array Intro-Footnote-1484795 +Node: Reference to Elements484923 +Node: Assigning Elements487387 +Node: Array Example487878 +Node: Scanning an Array489637 +Node: Controlling Scanning492659 +Ref: Controlling Scanning-Footnote-1498058 +Node: Numeric Array Subscripts498374 +Node: Uninitialized Subscripts500558 +Node: Delete502177 +Ref: Delete-Footnote-1504929 +Node: Multidimensional504986 +Node: Multiscanning508081 +Node: Arrays of Arrays509672 +Node: Arrays Summary514439 +Node: Functions516532 +Node: Built-in517570 +Node: Calling Built-in518651 +Node: Numeric Functions520647 +Ref: Numeric Functions-Footnote-1525480 +Ref: Numeric Functions-Footnote-2525837 +Ref: Numeric Functions-Footnote-3525885 +Node: String Functions526157 +Ref: String Functions-Footnote-1549661 +Ref: String Functions-Footnote-2549789 +Ref: String Functions-Footnote-3550037 +Node: Gory Details550124 +Ref: table-sub-escapes551915 +Ref: table-sub-proposed553434 +Ref: table-posix-sub554797 +Ref: table-gensub-escapes556338 +Ref: Gory Details-Footnote-1557161 +Node: I/O Functions557315 +Ref: table-system-return-values563897 +Ref: I/O Functions-Footnote-1565877 +Ref: I/O Functions-Footnote-2566025 +Node: Time Functions566145 +Ref: Time Functions-Footnote-1576812 +Ref: Time Functions-Footnote-2576880 +Ref: Time Functions-Footnote-3577038 +Ref: Time Functions-Footnote-4577149 +Ref: Time Functions-Footnote-5577261 +Ref: Time Functions-Footnote-6577488 +Node: Bitwise Functions577754 +Ref: table-bitwise-ops578348 +Ref: Bitwise Functions-Footnote-1584381 +Ref: Bitwise Functions-Footnote-2584554 +Node: Type Functions584745 +Node: I18N Functions587420 +Node: User-defined589071 +Node: Definition Syntax589876 +Ref: Definition Syntax-Footnote-1595563 +Node: Function Example595634 +Ref: Function Example-Footnote-1598556 +Node: Function Caveats598578 +Node: Calling A Function599096 +Node: Variable Scope600054 +Node: Pass By Value/Reference603048 +Node: Return Statement606547 +Node: Dynamic Typing609526 +Node: Indirect Calls610456 +Ref: Indirect Calls-Footnote-1620707 +Node: Functions Summary620835 +Node: Library Functions623540 +Ref: Library Functions-Footnote-1627147 +Ref: Library Functions-Footnote-2627290 +Node: Library Names627461 +Ref: Library Names-Footnote-1630921 +Ref: Library Names-Footnote-2631144 +Node: General Functions631230 +Node: Strtonum Function632333 +Node: Assert Function635355 +Node: Round Function638681 +Node: Cliff Random Function640222 +Node: Ordinal Functions641238 +Ref: Ordinal Functions-Footnote-1644301 +Ref: Ordinal Functions-Footnote-2644553 +Node: Join Function644763 +Ref: Join Function-Footnote-1646533 +Node: Getlocaltime Function646733 +Node: Readfile Function650475 +Node: Shell Quoting652447 +Node: Data File Management653848 +Node: Filetrans Function654480 +Node: Rewind Function658576 +Node: File Checking660482 +Ref: File Checking-Footnote-1661816 +Node: Empty Files662017 +Node: Ignoring Assigns663996 +Node: Getopt Function665546 +Ref: Getopt Function-Footnote-1677015 +Node: Passwd Functions677215 +Ref: Passwd Functions-Footnote-1686054 +Node: Group Functions686142 +Ref: Group Functions-Footnote-1694040 +Node: Walking Arrays694247 +Node: Library Functions Summary697255 +Node: Library Exercises698661 +Node: Sample Programs699126 +Node: Running Examples699896 +Node: Clones700624 +Node: Cut Program701848 +Node: Egrep Program711777 +Ref: Egrep Program-Footnote-1719289 +Node: Id Program719399 +Node: Split Program723079 +Ref: Split Program-Footnote-1726538 +Node: Tee Program726667 +Node: Uniq Program729457 +Node: Wc Program736883 +Ref: Wc Program-Footnote-1741138 +Node: Miscellaneous Programs741232 +Node: Dupword Program742445 +Node: Alarm Program744475 +Node: Translate Program749330 +Ref: Translate Program-Footnote-1753895 +Node: Labels Program754165 +Ref: Labels Program-Footnote-1757516 +Node: Word Sorting757600 +Node: History Sorting761672 +Node: Extract Program763507 +Node: Simple Sed771036 +Node: Igawk Program774110 +Ref: Igawk Program-Footnote-1788441 +Ref: Igawk Program-Footnote-2788643 +Ref: Igawk Program-Footnote-3788765 +Node: Anagram Program788880 +Node: Signature Program791942 +Node: Programs Summary793189 +Node: Programs Exercises794403 +Ref: Programs Exercises-Footnote-1798532 +Node: Advanced Features798623 +Node: Nondecimal Data800613 +Node: Array Sorting802204 +Node: Controlling Array Traversal802904 +Ref: Controlling Array Traversal-Footnote-1811271 +Node: Array Sorting Functions811389 +Ref: Array Sorting Functions-Footnote-1816480 +Node: Two-way I/O816676 +Ref: Two-way I/O-Footnote-1823227 +Ref: Two-way I/O-Footnote-2823414 +Node: TCP/IP Networking823496 +Node: Profiling826614 +Ref: Profiling-Footnote-1835286 +Node: Advanced Features Summary835609 +Node: Internationalization837453 +Node: I18N and L10N838933 +Node: Explaining gettext839620 +Ref: Explaining gettext-Footnote-1845512 +Ref: Explaining gettext-Footnote-2845697 +Node: Programmer i18n845862 +Ref: Programmer i18n-Footnote-1850811 +Node: Translator i18n850860 +Node: String Extraction851654 +Ref: String Extraction-Footnote-1852786 +Node: Printf Ordering852872 +Ref: Printf Ordering-Footnote-1855658 +Node: I18N Portability855722 +Ref: I18N Portability-Footnote-1858178 +Node: I18N Example858241 +Ref: I18N Example-Footnote-1861047 +Node: Gawk I18N861120 +Node: I18N Summary861765 +Node: Debugger863106 +Node: Debugging864128 +Node: Debugging Concepts864569 +Node: Debugging Terms866378 +Node: Awk Debugging868953 +Node: Sample Debugging Session869859 +Node: Debugger Invocation870393 +Node: Finding The Bug871779 +Node: List of Debugger Commands878257 +Node: Breakpoint Control879590 +Node: Debugger Execution Control883284 +Node: Viewing And Changing Data886646 +Node: Execution Stack890020 +Node: Debugger Info891657 +Node: Miscellaneous Debugger Commands895728 +Node: Readline Support900816 +Node: Limitations901712 +Node: Debugging Summary903821 +Node: Arbitrary Precision Arithmetic905100 +Node: Computer Arithmetic906516 +Ref: table-numeric-ranges910107 +Ref: Computer Arithmetic-Footnote-1910829 +Node: Math Definitions910886 +Ref: table-ieee-formats914200 +Ref: Math Definitions-Footnote-1914803 +Node: MPFR features914908 +Node: FP Math Caution916625 +Ref: FP Math Caution-Footnote-1917697 +Node: Inexactness of computations918066 +Node: Inexact representation919026 +Node: Comparing FP Values920386 +Node: Errors accumulate921468 +Node: Getting Accuracy922901 +Node: Try To Round925611 +Node: Setting precision926510 +Ref: table-predefined-precision-strings927207 +Node: Setting the rounding mode929037 +Ref: table-gawk-rounding-modes929411 +Ref: Setting the rounding mode-Footnote-1932819 +Node: Arbitrary Precision Integers932998 +Ref: Arbitrary Precision Integers-Footnote-1937915 +Node: POSIX Floating Point Problems938064 +Ref: POSIX Floating Point Problems-Footnote-1941946 +Node: Floating point summary941984 +Node: Dynamic Extensions944174 +Node: Extension Intro945727 +Node: Plugin License946993 +Node: Extension Mechanism Outline947790 +Ref: figure-load-extension948229 +Ref: figure-register-new-function949794 +Ref: figure-call-new-function950886 +Node: Extension API Description952948 +Node: Extension API Functions Introduction954590 +Node: General Data Types959924 +Ref: General Data Types-Footnote-1967129 +Node: Memory Allocation Functions967428 +Ref: Memory Allocation Functions-Footnote-1970273 +Node: Constructor Functions970372 +Node: Registration Functions973371 +Node: Extension Functions974056 +Node: Exit Callback Functions979269 +Node: Extension Version String980519 +Node: Input Parsers981182 +Node: Output Wrappers993889 +Node: Two-way processors998401 +Node: Printing Messages1000666 +Ref: Printing Messages-Footnote-11001837 +Node: Updating ERRNO1001990 +Node: Requesting Values1002729 +Ref: table-value-types-returned1003466 +Node: Accessing Parameters1004402 +Node: Symbol Table Access1005637 +Node: Symbol table by name1006149 +Node: Symbol table by cookie1007938 +Ref: Symbol table by cookie-Footnote-11012123 +Node: Cached values1012187 +Ref: Cached values-Footnote-11015723 +Node: Array Manipulation1015814 +Ref: Array Manipulation-Footnote-11016905 +Node: Array Data Types1016942 +Ref: Array Data Types-Footnote-11019600 +Node: Array Functions1019692 +Node: Flattening Arrays1024091 +Node: Creating Arrays1031032 +Node: Redirection API1035801 +Node: Extension API Variables1038643 +Node: Extension Versioning1039276 +Ref: gawk-api-version1039713 +Node: Extension API Informational Variables1041441 +Node: Extension API Boilerplate1042505 +Node: Changes from API V11046367 +Node: Finding Extensions1047027 +Node: Extension Example1047586 +Node: Internal File Description1048384 +Node: Internal File Ops1052464 +Ref: Internal File Ops-Footnote-11063864 +Node: Using Internal File Ops1064004 +Ref: Using Internal File Ops-Footnote-11066387 +Node: Extension Samples1066661 +Node: Extension Sample File Functions1068190 +Node: Extension Sample Fnmatch1075839 +Node: Extension Sample Fork1077326 +Node: Extension Sample Inplace1078544 +Node: Extension Sample Ord1081754 +Node: Extension Sample Readdir1082590 +Ref: table-readdir-file-types1083479 +Node: Extension Sample Revout1084284 +Node: Extension Sample Rev2way1084873 +Node: Extension Sample Read write array1085613 +Node: Extension Sample Readfile1087555 +Node: Extension Sample Time1088650 +Node: Extension Sample API Tests1089998 +Node: gawkextlib1090490 +Node: Extension summary1092937 +Node: Extension Exercises1096639 +Node: Language History1098137 +Node: V7/SVR3.11099793 +Node: SVR41101945 +Node: POSIX1103379 +Node: BTL1104758 +Node: POSIX/GNU1105487 +Node: Feature History1111379 +Node: Common Extensions1125749 +Node: Ranges and Locales1127032 +Ref: Ranges and Locales-Footnote-11131648 +Ref: Ranges and Locales-Footnote-21131675 +Ref: Ranges and Locales-Footnote-31131910 +Node: Contributors1132131 +Node: History summary1137691 +Node: Installation1139071 +Node: Gawk Distribution1140015 +Node: Getting1140499 +Node: Extracting1141460 +Node: Distribution contents1143098 +Node: Unix Installation1149440 +Node: Quick Installation1150122 +Node: Shell Startup Files1152536 +Node: Additional Configuration Options1153625 +Node: Configuration Philosophy1155430 +Node: Non-Unix Installation1157799 +Node: PC Installation1158259 +Node: PC Binary Installation1159097 +Node: PC Compiling1159532 +Node: PC Using1160649 +Node: Cygwin1163694 +Node: MSYS1164464 +Node: VMS Installation1164965 +Node: VMS Compilation1165756 +Ref: VMS Compilation-Footnote-11166985 +Node: VMS Dynamic Extensions1167043 +Node: VMS Installation Details1168728 +Node: VMS Running1170981 +Node: VMS GNV1175260 +Node: VMS Old Gawk1175995 +Node: Bugs1176466 +Node: Bug address1177129 +Node: Usenet1179526 +Node: Maintainers1180303 +Node: Other Versions1181679 +Node: Installation summary1188263 +Node: Notes1189298 +Node: Compatibility Mode1190163 +Node: Additions1190945 +Node: Accessing The Source1191870 +Node: Adding Code1193305 +Node: New Ports1199523 +Node: Derived Files1204011 +Ref: Derived Files-Footnote-11209496 +Ref: Derived Files-Footnote-21209531 +Ref: Derived Files-Footnote-31210129 +Node: Future Extensions1210243 +Node: Implementation Limitations1210901 +Node: Extension Design1212084 +Node: Old Extension Problems1213238 +Ref: Old Extension Problems-Footnote-11214756 +Node: Extension New Mechanism Goals1214813 +Ref: Extension New Mechanism Goals-Footnote-11218177 +Node: Extension Other Design Decisions1218366 +Node: Extension Future Growth1220479 +Node: Old Extension Mechanism1221315 +Node: Notes summary1223078 +Node: Basic Concepts1224260 +Node: Basic High Level1224941 +Ref: figure-general-flow1225223 +Ref: figure-process-flow1225908 +Ref: Basic High Level-Footnote-11229209 +Node: Basic Data Typing1229394 +Node: Glossary1232722 +Node: Copying1264669 +Node: GNU Free Documentation License1302208 +Node: Index1327326 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index f2d1751c..0e376104 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -7869,7 +7869,7 @@ else if (PROCINFO["FS"] == "FIELDWIDTHS") else if (PROCINFO["FS"] == "FPAT") @var{content-based field splitting} @dots{} @ii{(see next @value{SECTION})} else - @var{API input parser field splitting} @dots{} @ii{(@pxref{Input Parsers})} + @var{API input parser field splitting} @dots{} @ii{(advanced feature)} @end example This information is useful when writing a function @@ -8010,7 +8010,7 @@ to split input records into fields. The mechanism used is based on which of the three variables---@code{FS}, @code{FIELDWIDTHS}, or @code{FPAT}---was last assigned to. In addition, an API input parser may choose to -override the record parsing mechanism; please refer to @pxref{Input Parsers} +override the record parsing mechanism; please refer to @ref{Input Parsers} for further information about this feature. @node Multiple Line @@ -33307,10 +33307,10 @@ to @code{NULL}, and the function may set it to point to a structure supplying field width information to override the default field parsing mechanism. Note that this structure will not be copied by @command{gawk}; it must persist at least until the next call -to @code{get_record} or @code{close_func}. Note also that @code{field_width} will -be @code{NULL} when @code{getline} is assigning the results to a variable, thus +to @code{get_record} or @code{close_func}. Note also that @code{field_width} is +@code{NULL} when @code{getline} is assigning the results to a variable, thus field parsing is not needed. If the parser does set @code{*field_width}, -then @command{gawk} will use this layout to parse the input record, +then @command{gawk} uses this layout to parse the input record, and the @code{PROCINFO["FS"]} value will be @code{"API"} while this record is active in @code{$0}. The @code{awk_fieldwidth_info_t} data structure @@ -33374,7 +33374,7 @@ Register the input parser pointed to by @code{input_parser} with @end table If you would like to override the default field parsing mechanism for a given -record, then you must populate the @code{awk_fieldwidth_info_t} structure, +record, then you must populate an @code{awk_fieldwidth_info_t} structure, which looks like this: @example @@ -33405,16 +33405,16 @@ Set this to the number of fields in the input record, i.e. @code{NF}. This is a variable-length array whose actual dimension should be @code{nf}. For each field, the @code{skip} element should be set to the number of characters or bytes, as controlled by the @code{use_chars} flag, -to skip before the start of this field. And the @code{len} element provides +to skip before the start of this field. The @code{len} element provides the length of the field. The values in @code{fields[0]} provide the information -for the @code{$1} field, and so on through the @code{fields[nf-1]} element containing the information for @code{$NF}. +for @code{$1}, and so on through the @code{fields[nf-1]} element containing the information for @code{$NF}. @end table A convenience macro @code{awk_fieldwidth_info_size(NF)} is provided to calculate the appropriate size of a variable-length @code{awk_fieldwidth_info_t} structure containing @code{NF} fields. This can -be used as an argument to @code{malloc} or in a union to allocate space -statically. Please refer to the sample extension @code{readdir_test} for an +be used as an argument to @code{malloc()} or in a union to allocate space +statically. Please refer to the @code{readdir_test} sample extension for an example. @node Output Wrappers diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 78a28230..f4fe2596 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -7469,7 +7469,7 @@ else if (PROCINFO["FS"] == "FIELDWIDTHS") else if (PROCINFO["FS"] == "FPAT") @var{content-based field splitting} @dots{} @ii{(see next @value{SECTION})} else - @var{API input parser field splitting} @dots{} @ii{(@pxref{Input Parsers})} + @var{API input parser field splitting} @dots{} @ii{(advanced feature)} @end example This information is useful when writing a function @@ -7610,7 +7610,7 @@ to split input records into fields. The mechanism used is based on which of the three variables---@code{FS}, @code{FIELDWIDTHS}, or @code{FPAT}---was last assigned to. In addition, an API input parser may choose to -override the record parsing mechanism; please refer to @pxref{Input Parsers} +override the record parsing mechanism; please refer to @ref{Input Parsers} for further information about this feature. @node Multiple Line @@ -32321,10 +32321,10 @@ to @code{NULL}, and the function may set it to point to a structure supplying field width information to override the default field parsing mechanism. Note that this structure will not be copied by @command{gawk}; it must persist at least until the next call -to @code{get_record} or @code{close_func}. Note also that @code{field_width} will -be @code{NULL} when @code{getline} is assigning the results to a variable, thus +to @code{get_record} or @code{close_func}. Note also that @code{field_width} is +@code{NULL} when @code{getline} is assigning the results to a variable, thus field parsing is not needed. If the parser does set @code{*field_width}, -then @command{gawk} will use this layout to parse the input record, +then @command{gawk} uses this layout to parse the input record, and the @code{PROCINFO["FS"]} value will be @code{"API"} while this record is active in @code{$0}. The @code{awk_fieldwidth_info_t} data structure @@ -32388,7 +32388,7 @@ Register the input parser pointed to by @code{input_parser} with @end table If you would like to override the default field parsing mechanism for a given -record, then you must populate the @code{awk_fieldwidth_info_t} structure, +record, then you must populate an @code{awk_fieldwidth_info_t} structure, which looks like this: @example @@ -32419,16 +32419,16 @@ Set this to the number of fields in the input record, i.e. @code{NF}. This is a variable-length array whose actual dimension should be @code{nf}. For each field, the @code{skip} element should be set to the number of characters or bytes, as controlled by the @code{use_chars} flag, -to skip before the start of this field. And the @code{len} element provides +to skip before the start of this field. The @code{len} element provides the length of the field. The values in @code{fields[0]} provide the information -for the @code{$1} field, and so on through the @code{fields[nf-1]} element containing the information for @code{$NF}. +for @code{$1}, and so on through the @code{fields[nf-1]} element containing the information for @code{$NF}. @end table A convenience macro @code{awk_fieldwidth_info_size(NF)} is provided to calculate the appropriate size of a variable-length @code{awk_fieldwidth_info_t} structure containing @code{NF} fields. This can -be used as an argument to @code{malloc} or in a union to allocate space -statically. Please refer to the sample extension @code{readdir_test} for an +be used as an argument to @code{malloc()} or in a union to allocate space +statically. Please refer to the @code{readdir_test} sample extension for an example. @node Output Wrappers |