diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1044 |
1 files changed, 494 insertions, 550 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 97c9d3c0..cbcf450c 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -4136,54 +4136,6 @@ that you can define a variable to be a number or a string: str = "hi" String variable re = /foo/ Wrong! re is the result of $0 ~ /foo/ - For a number of more advanced use cases (described later on in this -Info file), it would be nice to have regexp constants that are "strongly -typed"; in other words, that denote a regexp useful for matching, and -not an expression. - - 'gawk' provides this feature. A strongly typed regexp constant looks -almost like a regular regexp constant, except that it is preceded by an -'@' sign: - - re = @/foo/ Regexp variable - - Strongly typed regexp constants _cannot_ be used eveywhere that a -regular regexp constant can, because this would make the language even -more confusing. Instead, you may use them only in certain contexts: - - * On the righthand side of the '~' and '!~' operators: 'some_var ~ - @/foo/' (*note Regexp Usage::). - - * In the 'case' part of a 'switch' statement (*note Switch - Statement::). - - * As an argument to one of the built-in functions that accept regexp - constants: 'gensub()', 'gsub()', 'match()', 'patsplit()', - 'split()', and 'sub()' (*note String Functions::). - - * As a parameter in a call to a user-defined function (*note - User-defined::). - - * On the righthand side of an assignment to a variable: 'some_var = - @/foo/'. In this case, the type of 'some_var' is regexp. - Additionally, 'some_var' can be used with '~' and '!~', passed to - one of the built-in functions listed above, or passed as a - parameter to a user-defined function. - - You may use the 'typeof()' built-in function (*note Type Functions::) -to determine if a variable or function parameter is a regexp variable. - - The true power of this feature comes from the ability to create -variables that have regexp type. Such variables can be passed on to -user-defined functions, without the confusing aspects of computed -regular expressions created from strings or string constants. They may -also be passed through indirect function calls (*note Indirect Calls::) -onto the built-in functions that accept regexp constants. - - When used in numeric conversions, strongly typed regexp variables -convert to zero. When used in string conversions, they convert to the -string value of the original regexp text. - File: gawk.info, Node: Regexp Summary, Prev: Strong Regexp Constants, Up: Regexp @@ -4221,9 +4173,6 @@ File: gawk.info, Node: Regexp Summary, Prev: Strong Regexp Constants, Up: Reg sensitivity of regexp matching. In other 'awk' versions, use 'tolower()' or 'toupper()'. - * Strongly typed regexp constants ('@/.../') enable certain advanced - use cases to be described later on in the Info file. - File: gawk.info, Node: Reading Files, Next: Printing, Prev: Regexp, Up: Top @@ -13601,10 +13550,6 @@ contexts. '"array"' X is an array. - '"regexp"' - X is a strongly typed regexp (*note Strong Regexp - Constants::). - '"number"' X is a number. @@ -13651,8 +13596,7 @@ parameter is an array or not. turning it into a scalar. The 'typeof()' function is general; it allows you to determine if a -variable or function parameter is a scalar, an array, or a strongly -typed regexp. +variable or function parameter is a scalar, an array. 'isarray()' is deprecated; you should use 'typeof()' instead. You should replace any existing uses of 'isarray(var)' in your code with @@ -35386,498 +35330,498 @@ Node: Case-sensitivity185992 Ref: Case-sensitivity-Footnote-1188888 Ref: Case-sensitivity-Footnote-2189123 Node: Strong Regexp Constants189231 -Node: Regexp Summary192173 -Node: Reading Files193779 -Node: Records195942 -Node: awk split records196675 -Node: gawk split records201606 -Ref: gawk split records-Footnote-1206146 -Node: Fields206183 -Node: Nonconstant Fields208924 -Ref: Nonconstant Fields-Footnote-1211160 -Node: Changing Fields211364 -Node: Field Separators217292 -Node: Default Field Splitting219990 -Node: Regexp Field Splitting221108 -Node: Single Character Fields224461 -Node: Command Line Field Separator225521 -Node: Full Line Fields228739 -Ref: Full Line Fields-Footnote-1230261 -Ref: Full Line Fields-Footnote-2230307 -Node: Field Splitting Summary230408 -Node: Constant Size232482 -Node: Splitting By Content237060 -Ref: Splitting By Content-Footnote-1241031 -Node: Multiple Line241194 -Ref: Multiple Line-Footnote-1247076 -Node: Getline247255 -Node: Plain Getline249721 -Node: Getline/Variable252360 -Node: Getline/File253509 -Node: Getline/Variable/File254895 -Ref: Getline/Variable/File-Footnote-1256498 -Node: Getline/Pipe256586 -Node: Getline/Variable/Pipe259291 -Node: Getline/Coprocess260424 -Node: Getline/Variable/Coprocess261689 -Node: Getline Notes262429 -Node: Getline Summary265224 -Ref: table-getline-variants265646 -Node: Read Timeout266394 -Ref: Read Timeout-Footnote-1270300 -Node: Retrying Input270358 -Node: Command-line directories271557 -Node: Input Summary272463 -Node: Input Exercises275635 -Node: Printing276363 -Node: Print278197 -Node: Print Examples279654 -Node: Output Separators282434 -Node: OFMT284451 -Node: Printf285807 -Node: Basic Printf286592 -Node: Control Letters288166 -Node: Format Modifiers292154 -Node: Printf Examples298169 -Node: Redirection300655 -Node: Special FD307496 -Ref: Special FD-Footnote-1310664 -Node: Special Files310738 -Node: Other Inherited Files311355 -Node: Special Network312356 -Node: Special Caveats313216 -Node: Close Files And Pipes314165 -Ref: table-close-pipe-return-values321072 -Ref: Close Files And Pipes-Footnote-1321855 -Ref: Close Files And Pipes-Footnote-2322003 -Node: Nonfatal322155 -Node: Output Summary324480 -Node: Output Exercises325702 -Node: Expressions326381 -Node: Values327569 -Node: Constants328247 -Node: Scalar Constants328938 -Ref: Scalar Constants-Footnote-1329802 -Node: Nondecimal-numbers330052 -Node: Regexp Constants333065 -Node: Using Constant Regexps333591 -Node: Variables336754 -Node: Using Variables337411 -Node: Assignment Options339321 -Node: Conversion341194 -Node: Strings And Numbers341718 -Ref: Strings And Numbers-Footnote-1344781 -Node: Locale influences conversions344890 -Ref: table-locale-affects347648 -Node: All Operators348266 -Node: Arithmetic Ops348895 -Node: Concatenation351401 -Ref: Concatenation-Footnote-1354248 -Node: Assignment Ops354355 -Ref: table-assign-ops359346 -Node: Increment Ops360659 -Node: Truth Values and Conditions364119 -Node: Truth Values365193 -Node: Typing and Comparison366241 -Node: Variable Typing367061 -Node: Comparison Operators370685 -Ref: table-relational-ops371104 -Node: POSIX String Comparison374599 -Ref: POSIX String Comparison-Footnote-1375673 -Node: Boolean Ops375812 -Ref: Boolean Ops-Footnote-1380294 -Node: Conditional Exp380386 -Node: Function Calls382122 -Node: Precedence385999 -Node: Locales389658 -Node: Expressions Summary391290 -Node: Patterns and Actions393863 -Node: Pattern Overview394983 -Node: Regexp Patterns396660 -Node: Expression Patterns397202 -Node: Ranges400983 -Node: BEGIN/END404091 -Node: Using BEGIN/END404852 -Ref: Using BEGIN/END-Footnote-1407588 -Node: I/O And BEGIN/END407694 -Node: BEGINFILE/ENDFILE410008 -Node: Empty412915 -Node: Using Shell Variables413232 -Node: Action Overview415506 -Node: Statements417831 -Node: If Statement419679 -Node: While Statement421174 -Node: Do Statement423202 -Node: For Statement424350 -Node: Switch Statement427508 -Node: Break Statement429894 -Node: Continue Statement431986 -Node: Next Statement433813 -Node: Nextfile Statement436196 -Node: Exit Statement438848 -Node: Built-in Variables441251 -Node: User-modified442384 -Node: Auto-set449970 -Ref: Auto-set-Footnote-1464623 -Ref: Auto-set-Footnote-2464829 -Node: ARGC and ARGV464885 -Node: Pattern Action Summary469098 -Node: Arrays471528 -Node: Array Basics472857 -Node: Array Intro473701 -Ref: figure-array-elements475676 -Ref: Array Intro-Footnote-1478380 -Node: Reference to Elements478508 -Node: Assigning Elements480972 -Node: Array Example481463 -Node: Scanning an Array483222 -Node: Controlling Scanning486244 -Ref: Controlling Scanning-Footnote-1491643 -Node: Numeric Array Subscripts491959 -Node: Uninitialized Subscripts494143 -Node: Delete495762 -Ref: Delete-Footnote-1498514 -Node: Multidimensional498571 -Node: Multiscanning501666 -Node: Arrays of Arrays503257 -Node: Arrays Summary508024 -Node: Functions510117 -Node: Built-in511155 -Node: Calling Built-in512236 -Node: Numeric Functions514232 -Ref: Numeric Functions-Footnote-1519065 -Ref: Numeric Functions-Footnote-2519422 -Ref: Numeric Functions-Footnote-3519470 -Node: String Functions519742 -Ref: String Functions-Footnote-1543246 -Ref: String Functions-Footnote-2543374 -Ref: String Functions-Footnote-3543622 -Node: Gory Details543709 -Ref: table-sub-escapes545500 -Ref: table-sub-proposed547019 -Ref: table-posix-sub548382 -Ref: table-gensub-escapes549923 -Ref: Gory Details-Footnote-1550746 -Node: I/O Functions550900 -Ref: table-system-return-values557482 -Ref: I/O Functions-Footnote-1559462 -Ref: I/O Functions-Footnote-2559610 -Node: Time Functions559730 -Ref: Time Functions-Footnote-1570235 -Ref: Time Functions-Footnote-2570303 -Ref: Time Functions-Footnote-3570461 -Ref: Time Functions-Footnote-4570572 -Ref: Time Functions-Footnote-5570684 -Ref: Time Functions-Footnote-6570911 -Node: Bitwise Functions571177 -Ref: table-bitwise-ops571771 -Ref: Bitwise Functions-Footnote-1576109 -Node: Type Functions576282 -Node: I18N Functions578943 -Node: User-defined580594 -Node: Definition Syntax581399 -Ref: Definition Syntax-Footnote-1587086 -Node: Function Example587157 -Ref: Function Example-Footnote-1590079 -Node: Function Caveats590101 -Node: Calling A Function590619 -Node: Variable Scope591577 -Node: Pass By Value/Reference594571 -Node: Return Statement598070 -Node: Dynamic Typing601049 -Node: Indirect Calls601979 -Ref: Indirect Calls-Footnote-1612230 -Node: Functions Summary612358 -Node: Library Functions615063 -Ref: Library Functions-Footnote-1618670 -Ref: Library Functions-Footnote-2618813 -Node: Library Names618984 -Ref: Library Names-Footnote-1622444 -Ref: Library Names-Footnote-2622667 -Node: General Functions622753 -Node: Strtonum Function623856 -Node: Assert Function626878 -Node: Round Function630204 -Node: Cliff Random Function631745 -Node: Ordinal Functions632761 -Ref: Ordinal Functions-Footnote-1635824 -Ref: Ordinal Functions-Footnote-2636076 -Node: Join Function636286 -Ref: Join Function-Footnote-1638056 -Node: Getlocaltime Function638256 -Node: Readfile Function641998 -Node: Shell Quoting643970 -Node: Data File Management645371 -Node: Filetrans Function646003 -Node: Rewind Function650099 -Node: File Checking652004 -Ref: File Checking-Footnote-1653338 -Node: Empty Files653539 -Node: Ignoring Assigns655518 -Node: Getopt Function657068 -Ref: Getopt Function-Footnote-1668537 -Node: Passwd Functions668737 -Ref: Passwd Functions-Footnote-1677576 -Node: Group Functions677664 -Ref: Group Functions-Footnote-1685561 -Node: Walking Arrays685768 -Node: Library Functions Summary688776 -Node: Library Exercises690182 -Node: Sample Programs690647 -Node: Running Examples691417 -Node: Clones692145 -Node: Cut Program693369 -Node: Egrep Program703298 -Ref: Egrep Program-Footnote-1710810 -Node: Id Program710920 -Node: Split Program714600 -Ref: Split Program-Footnote-1718059 -Node: Tee Program718188 -Node: Uniq Program720978 -Node: Wc Program728404 -Ref: Wc Program-Footnote-1732659 -Node: Miscellaneous Programs732753 -Node: Dupword Program733966 -Node: Alarm Program735996 -Node: Translate Program740851 -Ref: Translate Program-Footnote-1745416 -Node: Labels Program745686 -Ref: Labels Program-Footnote-1749037 -Node: Word Sorting749121 -Node: History Sorting753193 -Node: Extract Program755028 -Node: Simple Sed762557 -Node: Igawk Program765631 -Ref: Igawk Program-Footnote-1779962 -Ref: Igawk Program-Footnote-2780164 -Ref: Igawk Program-Footnote-3780286 -Node: Anagram Program780401 -Node: Signature Program783463 -Node: Programs Summary784710 -Node: Programs Exercises785924 -Ref: Programs Exercises-Footnote-1790053 -Node: Advanced Features790144 -Node: Nondecimal Data792134 -Node: Array Sorting793725 -Node: Controlling Array Traversal794425 -Ref: Controlling Array Traversal-Footnote-1802792 -Node: Array Sorting Functions802910 -Ref: Array Sorting Functions-Footnote-1808001 -Node: Two-way I/O808197 -Ref: Two-way I/O-Footnote-1814747 -Ref: Two-way I/O-Footnote-2814934 -Node: TCP/IP Networking815016 -Node: Profiling818134 -Ref: Profiling-Footnote-1826627 -Node: Advanced Features Summary826950 -Node: Internationalization828794 -Node: I18N and L10N830274 -Node: Explaining gettext830961 -Ref: Explaining gettext-Footnote-1836853 -Ref: Explaining gettext-Footnote-2837038 -Node: Programmer i18n837203 -Ref: Programmer i18n-Footnote-1842058 -Node: Translator i18n842107 -Node: String Extraction842901 -Ref: String Extraction-Footnote-1844033 -Node: Printf Ordering844119 -Ref: Printf Ordering-Footnote-1846905 -Node: I18N Portability846969 -Ref: I18N Portability-Footnote-1849425 -Node: I18N Example849488 -Ref: I18N Example-Footnote-1852294 -Node: Gawk I18N852367 -Node: I18N Summary853012 -Node: Debugger854353 -Node: Debugging855375 -Node: Debugging Concepts855816 -Node: Debugging Terms857625 -Node: Awk Debugging860200 -Node: Sample Debugging Session861106 -Node: Debugger Invocation861640 -Node: Finding The Bug863026 -Node: List of Debugger Commands869504 -Node: Breakpoint Control870837 -Node: Debugger Execution Control874531 -Node: Viewing And Changing Data877893 -Node: Execution Stack881267 -Node: Debugger Info882904 -Node: Miscellaneous Debugger Commands886975 -Node: Readline Support892063 -Node: Limitations892959 -Ref: Limitations-Footnote-1897190 -Node: Debugging Summary897241 -Node: Arbitrary Precision Arithmetic898520 -Node: Computer Arithmetic899936 -Ref: table-numeric-ranges903527 -Ref: Computer Arithmetic-Footnote-1904249 -Node: Math Definitions904306 -Ref: table-ieee-formats907620 -Ref: Math Definitions-Footnote-1908223 -Node: MPFR features908328 -Node: FP Math Caution910045 -Ref: FP Math Caution-Footnote-1911117 -Node: Inexactness of computations911486 -Node: Inexact representation912446 -Node: Comparing FP Values913806 -Node: Errors accumulate914888 -Node: Getting Accuracy916321 -Node: Try To Round919031 -Node: Setting precision919930 -Ref: table-predefined-precision-strings920627 -Node: Setting the rounding mode922457 -Ref: table-gawk-rounding-modes922831 -Ref: Setting the rounding mode-Footnote-1926239 -Node: Arbitrary Precision Integers926418 -Ref: Arbitrary Precision Integers-Footnote-1931335 -Node: POSIX Floating Point Problems931484 -Ref: POSIX Floating Point Problems-Footnote-1935366 -Node: Floating point summary935404 -Node: Dynamic Extensions937594 -Node: Extension Intro939147 -Node: Plugin License940413 -Node: Extension Mechanism Outline941210 -Ref: figure-load-extension941649 -Ref: figure-register-new-function943214 -Ref: figure-call-new-function944306 -Node: Extension API Description946368 -Node: Extension API Functions Introduction947900 -Node: General Data Types952759 -Ref: General Data Types-Footnote-1958714 -Node: Memory Allocation Functions959013 -Ref: Memory Allocation Functions-Footnote-1961858 -Node: Constructor Functions961957 -Node: Registration Functions963702 -Node: Extension Functions964387 -Node: Exit Callback Functions967010 -Node: Extension Version String968260 -Node: Input Parsers968923 -Node: Output Wrappers978805 -Node: Two-way processors983317 -Node: Printing Messages985582 -Ref: Printing Messages-Footnote-1986753 -Node: Updating ERRNO986906 -Node: Requesting Values987645 -Ref: table-value-types-returned988382 -Node: Accessing Parameters989265 -Node: Symbol Table Access990500 -Node: Symbol table by name991012 -Node: Symbol table by cookie993033 -Ref: Symbol table by cookie-Footnote-1997185 -Node: Cached values997249 -Ref: Cached values-Footnote-11000756 -Node: Array Manipulation1000847 -Ref: Array Manipulation-Footnote-11001938 -Node: Array Data Types1001975 -Ref: Array Data Types-Footnote-11004633 -Node: Array Functions1004725 -Node: Flattening Arrays1008583 -Node: Creating Arrays1015491 -Node: Redirection API1020260 -Node: Extension API Variables1023091 -Node: Extension Versioning1023724 -Ref: gawk-api-version1024161 -Node: Extension API Informational Variables1025917 -Node: Extension API Boilerplate1026981 -Node: Finding Extensions1030795 -Node: Extension Example1031354 -Node: Internal File Description1032152 -Node: Internal File Ops1036232 -Ref: Internal File Ops-Footnote-11047994 -Node: Using Internal File Ops1048134 -Ref: Using Internal File Ops-Footnote-11050517 -Node: Extension Samples1050791 -Node: Extension Sample File Functions1052320 -Node: Extension Sample Fnmatch1059969 -Node: Extension Sample Fork1061456 -Node: Extension Sample Inplace1062674 -Node: Extension Sample Ord1065884 -Node: Extension Sample Readdir1066720 -Ref: table-readdir-file-types1067609 -Node: Extension Sample Revout1068414 -Node: Extension Sample Rev2way1069003 -Node: Extension Sample Read write array1069743 -Node: Extension Sample Readfile1071685 -Node: Extension Sample Time1072780 -Node: Extension Sample API Tests1074128 -Node: gawkextlib1074620 -Node: Extension summary1077067 -Node: Extension Exercises1080769 -Node: Language History1082267 -Node: V7/SVR3.11083923 -Node: SVR41086075 -Node: POSIX1087509 -Node: BTL1088888 -Node: POSIX/GNU1089617 -Node: Feature History1095479 -Node: Common Extensions1109849 -Node: Ranges and Locales1111132 -Ref: Ranges and Locales-Footnote-11115748 -Ref: Ranges and Locales-Footnote-21115775 -Ref: Ranges and Locales-Footnote-31116010 -Node: Contributors1116231 -Node: History summary1121791 -Node: Installation1123171 -Node: Gawk Distribution1124115 -Node: Getting1124599 -Node: Extracting1125560 -Node: Distribution contents1127198 -Node: Unix Installation1133292 -Node: Quick Installation1133974 -Node: Shell Startup Files1136388 -Node: Additional Configuration Options1137466 -Node: Configuration Philosophy1139271 -Node: Non-Unix Installation1141640 -Node: PC Installation1142098 -Node: PC Binary Installation1143418 -Node: PC Compiling1145270 -Ref: PC Compiling-Footnote-11148064 -Node: PC Testing1148173 -Node: PC Using1149353 -Ref: PC Using-Footnote-11153506 -Node: Cygwin1153579 -Node: MSYS1154349 -Node: VMS Installation1154850 -Node: VMS Compilation1155641 -Ref: VMS Compilation-Footnote-11156870 -Node: VMS Dynamic Extensions1156928 -Node: VMS Installation Details1158613 -Node: VMS Running1160866 -Node: VMS GNV1165145 -Node: VMS Old Gawk1165880 -Node: Bugs1166351 -Node: Other Versions1170666 -Node: Installation summary1177250 -Node: Notes1178301 -Node: Compatibility Mode1179166 -Node: Additions1179948 -Node: Accessing The Source1180873 -Node: Adding Code1182308 -Node: New Ports1188527 -Node: Derived Files1193015 -Ref: Derived Files-Footnote-11198500 -Ref: Derived Files-Footnote-21198535 -Ref: Derived Files-Footnote-31199133 -Node: Future Extensions1199247 -Node: Implementation Limitations1199905 -Node: Extension Design1201088 -Node: Old Extension Problems1202242 -Ref: Old Extension Problems-Footnote-11203760 -Node: Extension New Mechanism Goals1203817 -Ref: Extension New Mechanism Goals-Footnote-11207181 -Node: Extension Other Design Decisions1207370 -Node: Extension Future Growth1209483 -Node: Old Extension Mechanism1210319 -Node: Notes summary1212082 -Node: Basic Concepts1213264 -Node: Basic High Level1213945 -Ref: figure-general-flow1214227 -Ref: figure-process-flow1214912 -Ref: Basic High Level-Footnote-11218213 -Node: Basic Data Typing1218398 -Node: Glossary1221726 -Node: Copying1253672 -Node: GNU Free Documentation License1291211 -Node: Index1316329 +Node: Regexp Summary190020 +Node: Reading Files191495 +Node: Records193658 +Node: awk split records194391 +Node: gawk split records199322 +Ref: gawk split records-Footnote-1203862 +Node: Fields203899 +Node: Nonconstant Fields206640 +Ref: Nonconstant Fields-Footnote-1208876 +Node: Changing Fields209080 +Node: Field Separators215008 +Node: Default Field Splitting217706 +Node: Regexp Field Splitting218824 +Node: Single Character Fields222177 +Node: Command Line Field Separator223237 +Node: Full Line Fields226455 +Ref: Full Line Fields-Footnote-1227977 +Ref: Full Line Fields-Footnote-2228023 +Node: Field Splitting Summary228124 +Node: Constant Size230198 +Node: Splitting By Content234776 +Ref: Splitting By Content-Footnote-1238747 +Node: Multiple Line238910 +Ref: Multiple Line-Footnote-1244792 +Node: Getline244971 +Node: Plain Getline247437 +Node: Getline/Variable250076 +Node: Getline/File251225 +Node: Getline/Variable/File252611 +Ref: Getline/Variable/File-Footnote-1254214 +Node: Getline/Pipe254302 +Node: Getline/Variable/Pipe257007 +Node: Getline/Coprocess258140 +Node: Getline/Variable/Coprocess259405 +Node: Getline Notes260145 +Node: Getline Summary262940 +Ref: table-getline-variants263362 +Node: Read Timeout264110 +Ref: Read Timeout-Footnote-1268016 +Node: Retrying Input268074 +Node: Command-line directories269273 +Node: Input Summary270179 +Node: Input Exercises273351 +Node: Printing274079 +Node: Print275913 +Node: Print Examples277370 +Node: Output Separators280150 +Node: OFMT282167 +Node: Printf283523 +Node: Basic Printf284308 +Node: Control Letters285882 +Node: Format Modifiers289870 +Node: Printf Examples295885 +Node: Redirection298371 +Node: Special FD305212 +Ref: Special FD-Footnote-1308380 +Node: Special Files308454 +Node: Other Inherited Files309071 +Node: Special Network310072 +Node: Special Caveats310932 +Node: Close Files And Pipes311881 +Ref: table-close-pipe-return-values318788 +Ref: Close Files And Pipes-Footnote-1319571 +Ref: Close Files And Pipes-Footnote-2319719 +Node: Nonfatal319871 +Node: Output Summary322196 +Node: Output Exercises323418 +Node: Expressions324097 +Node: Values325285 +Node: Constants325963 +Node: Scalar Constants326654 +Ref: Scalar Constants-Footnote-1327518 +Node: Nondecimal-numbers327768 +Node: Regexp Constants330781 +Node: Using Constant Regexps331307 +Node: Variables334470 +Node: Using Variables335127 +Node: Assignment Options337037 +Node: Conversion338910 +Node: Strings And Numbers339434 +Ref: Strings And Numbers-Footnote-1342497 +Node: Locale influences conversions342606 +Ref: table-locale-affects345364 +Node: All Operators345982 +Node: Arithmetic Ops346611 +Node: Concatenation349117 +Ref: Concatenation-Footnote-1351964 +Node: Assignment Ops352071 +Ref: table-assign-ops357062 +Node: Increment Ops358375 +Node: Truth Values and Conditions361835 +Node: Truth Values362909 +Node: Typing and Comparison363957 +Node: Variable Typing364777 +Node: Comparison Operators368401 +Ref: table-relational-ops368820 +Node: POSIX String Comparison372315 +Ref: POSIX String Comparison-Footnote-1373389 +Node: Boolean Ops373528 +Ref: Boolean Ops-Footnote-1378010 +Node: Conditional Exp378102 +Node: Function Calls379838 +Node: Precedence383715 +Node: Locales387374 +Node: Expressions Summary389006 +Node: Patterns and Actions391579 +Node: Pattern Overview392699 +Node: Regexp Patterns394376 +Node: Expression Patterns394918 +Node: Ranges398699 +Node: BEGIN/END401807 +Node: Using BEGIN/END402568 +Ref: Using BEGIN/END-Footnote-1405304 +Node: I/O And BEGIN/END405410 +Node: BEGINFILE/ENDFILE407724 +Node: Empty410631 +Node: Using Shell Variables410948 +Node: Action Overview413222 +Node: Statements415547 +Node: If Statement417395 +Node: While Statement418890 +Node: Do Statement420918 +Node: For Statement422066 +Node: Switch Statement425224 +Node: Break Statement427610 +Node: Continue Statement429702 +Node: Next Statement431529 +Node: Nextfile Statement433912 +Node: Exit Statement436564 +Node: Built-in Variables438967 +Node: User-modified440100 +Node: Auto-set447686 +Ref: Auto-set-Footnote-1462339 +Ref: Auto-set-Footnote-2462545 +Node: ARGC and ARGV462601 +Node: Pattern Action Summary466814 +Node: Arrays469244 +Node: Array Basics470573 +Node: Array Intro471417 +Ref: figure-array-elements473392 +Ref: Array Intro-Footnote-1476096 +Node: Reference to Elements476224 +Node: Assigning Elements478688 +Node: Array Example479179 +Node: Scanning an Array480938 +Node: Controlling Scanning483960 +Ref: Controlling Scanning-Footnote-1489359 +Node: Numeric Array Subscripts489675 +Node: Uninitialized Subscripts491859 +Node: Delete493478 +Ref: Delete-Footnote-1496230 +Node: Multidimensional496287 +Node: Multiscanning499382 +Node: Arrays of Arrays500973 +Node: Arrays Summary505740 +Node: Functions507833 +Node: Built-in508871 +Node: Calling Built-in509952 +Node: Numeric Functions511948 +Ref: Numeric Functions-Footnote-1516781 +Ref: Numeric Functions-Footnote-2517138 +Ref: Numeric Functions-Footnote-3517186 +Node: String Functions517458 +Ref: String Functions-Footnote-1540962 +Ref: String Functions-Footnote-2541090 +Ref: String Functions-Footnote-3541338 +Node: Gory Details541425 +Ref: table-sub-escapes543216 +Ref: table-sub-proposed544735 +Ref: table-posix-sub546098 +Ref: table-gensub-escapes547639 +Ref: Gory Details-Footnote-1548462 +Node: I/O Functions548616 +Ref: table-system-return-values555198 +Ref: I/O Functions-Footnote-1557178 +Ref: I/O Functions-Footnote-2557326 +Node: Time Functions557446 +Ref: Time Functions-Footnote-1567951 +Ref: Time Functions-Footnote-2568019 +Ref: Time Functions-Footnote-3568177 +Ref: Time Functions-Footnote-4568288 +Ref: Time Functions-Footnote-5568400 +Ref: Time Functions-Footnote-6568627 +Node: Bitwise Functions568893 +Ref: table-bitwise-ops569487 +Ref: Bitwise Functions-Footnote-1573825 +Node: Type Functions573998 +Node: I18N Functions576530 +Node: User-defined578181 +Node: Definition Syntax578986 +Ref: Definition Syntax-Footnote-1584673 +Node: Function Example584744 +Ref: Function Example-Footnote-1587666 +Node: Function Caveats587688 +Node: Calling A Function588206 +Node: Variable Scope589164 +Node: Pass By Value/Reference592158 +Node: Return Statement595657 +Node: Dynamic Typing598636 +Node: Indirect Calls599566 +Ref: Indirect Calls-Footnote-1609817 +Node: Functions Summary609945 +Node: Library Functions612650 +Ref: Library Functions-Footnote-1616257 +Ref: Library Functions-Footnote-2616400 +Node: Library Names616571 +Ref: Library Names-Footnote-1620031 +Ref: Library Names-Footnote-2620254 +Node: General Functions620340 +Node: Strtonum Function621443 +Node: Assert Function624465 +Node: Round Function627791 +Node: Cliff Random Function629332 +Node: Ordinal Functions630348 +Ref: Ordinal Functions-Footnote-1633411 +Ref: Ordinal Functions-Footnote-2633663 +Node: Join Function633873 +Ref: Join Function-Footnote-1635643 +Node: Getlocaltime Function635843 +Node: Readfile Function639585 +Node: Shell Quoting641557 +Node: Data File Management642958 +Node: Filetrans Function643590 +Node: Rewind Function647686 +Node: File Checking649591 +Ref: File Checking-Footnote-1650925 +Node: Empty Files651126 +Node: Ignoring Assigns653105 +Node: Getopt Function654655 +Ref: Getopt Function-Footnote-1666124 +Node: Passwd Functions666324 +Ref: Passwd Functions-Footnote-1675163 +Node: Group Functions675251 +Ref: Group Functions-Footnote-1683148 +Node: Walking Arrays683355 +Node: Library Functions Summary686363 +Node: Library Exercises687769 +Node: Sample Programs688234 +Node: Running Examples689004 +Node: Clones689732 +Node: Cut Program690956 +Node: Egrep Program700885 +Ref: Egrep Program-Footnote-1708397 +Node: Id Program708507 +Node: Split Program712187 +Ref: Split Program-Footnote-1715646 +Node: Tee Program715775 +Node: Uniq Program718565 +Node: Wc Program725991 +Ref: Wc Program-Footnote-1730246 +Node: Miscellaneous Programs730340 +Node: Dupword Program731553 +Node: Alarm Program733583 +Node: Translate Program738438 +Ref: Translate Program-Footnote-1743003 +Node: Labels Program743273 +Ref: Labels Program-Footnote-1746624 +Node: Word Sorting746708 +Node: History Sorting750780 +Node: Extract Program752615 +Node: Simple Sed760144 +Node: Igawk Program763218 +Ref: Igawk Program-Footnote-1777549 +Ref: Igawk Program-Footnote-2777751 +Ref: Igawk Program-Footnote-3777873 +Node: Anagram Program777988 +Node: Signature Program781050 +Node: Programs Summary782297 +Node: Programs Exercises783511 +Ref: Programs Exercises-Footnote-1787640 +Node: Advanced Features787731 +Node: Nondecimal Data789721 +Node: Array Sorting791312 +Node: Controlling Array Traversal792012 +Ref: Controlling Array Traversal-Footnote-1800379 +Node: Array Sorting Functions800497 +Ref: Array Sorting Functions-Footnote-1805588 +Node: Two-way I/O805784 +Ref: Two-way I/O-Footnote-1812334 +Ref: Two-way I/O-Footnote-2812521 +Node: TCP/IP Networking812603 +Node: Profiling815721 +Ref: Profiling-Footnote-1824214 +Node: Advanced Features Summary824537 +Node: Internationalization826381 +Node: I18N and L10N827861 +Node: Explaining gettext828548 +Ref: Explaining gettext-Footnote-1834440 +Ref: Explaining gettext-Footnote-2834625 +Node: Programmer i18n834790 +Ref: Programmer i18n-Footnote-1839645 +Node: Translator i18n839694 +Node: String Extraction840488 +Ref: String Extraction-Footnote-1841620 +Node: Printf Ordering841706 +Ref: Printf Ordering-Footnote-1844492 +Node: I18N Portability844556 +Ref: I18N Portability-Footnote-1847012 +Node: I18N Example847075 +Ref: I18N Example-Footnote-1849881 +Node: Gawk I18N849954 +Node: I18N Summary850599 +Node: Debugger851940 +Node: Debugging852962 +Node: Debugging Concepts853403 +Node: Debugging Terms855212 +Node: Awk Debugging857787 +Node: Sample Debugging Session858693 +Node: Debugger Invocation859227 +Node: Finding The Bug860613 +Node: List of Debugger Commands867091 +Node: Breakpoint Control868424 +Node: Debugger Execution Control872118 +Node: Viewing And Changing Data875480 +Node: Execution Stack878854 +Node: Debugger Info880491 +Node: Miscellaneous Debugger Commands884562 +Node: Readline Support889650 +Node: Limitations890546 +Ref: Limitations-Footnote-1894777 +Node: Debugging Summary894828 +Node: Arbitrary Precision Arithmetic896107 +Node: Computer Arithmetic897523 +Ref: table-numeric-ranges901114 +Ref: Computer Arithmetic-Footnote-1901836 +Node: Math Definitions901893 +Ref: table-ieee-formats905207 +Ref: Math Definitions-Footnote-1905810 +Node: MPFR features905915 +Node: FP Math Caution907632 +Ref: FP Math Caution-Footnote-1908704 +Node: Inexactness of computations909073 +Node: Inexact representation910033 +Node: Comparing FP Values911393 +Node: Errors accumulate912475 +Node: Getting Accuracy913908 +Node: Try To Round916618 +Node: Setting precision917517 +Ref: table-predefined-precision-strings918214 +Node: Setting the rounding mode920044 +Ref: table-gawk-rounding-modes920418 +Ref: Setting the rounding mode-Footnote-1923826 +Node: Arbitrary Precision Integers924005 +Ref: Arbitrary Precision Integers-Footnote-1928922 +Node: POSIX Floating Point Problems929071 +Ref: POSIX Floating Point Problems-Footnote-1932953 +Node: Floating point summary932991 +Node: Dynamic Extensions935181 +Node: Extension Intro936734 +Node: Plugin License938000 +Node: Extension Mechanism Outline938797 +Ref: figure-load-extension939236 +Ref: figure-register-new-function940801 +Ref: figure-call-new-function941893 +Node: Extension API Description943955 +Node: Extension API Functions Introduction945487 +Node: General Data Types950346 +Ref: General Data Types-Footnote-1956301 +Node: Memory Allocation Functions956600 +Ref: Memory Allocation Functions-Footnote-1959445 +Node: Constructor Functions959544 +Node: Registration Functions961289 +Node: Extension Functions961974 +Node: Exit Callback Functions964597 +Node: Extension Version String965847 +Node: Input Parsers966510 +Node: Output Wrappers976392 +Node: Two-way processors980904 +Node: Printing Messages983169 +Ref: Printing Messages-Footnote-1984340 +Node: Updating ERRNO984493 +Node: Requesting Values985232 +Ref: table-value-types-returned985969 +Node: Accessing Parameters986852 +Node: Symbol Table Access988087 +Node: Symbol table by name988599 +Node: Symbol table by cookie990620 +Ref: Symbol table by cookie-Footnote-1994772 +Node: Cached values994836 +Ref: Cached values-Footnote-1998343 +Node: Array Manipulation998434 +Ref: Array Manipulation-Footnote-1999525 +Node: Array Data Types999562 +Ref: Array Data Types-Footnote-11002220 +Node: Array Functions1002312 +Node: Flattening Arrays1006170 +Node: Creating Arrays1013078 +Node: Redirection API1017847 +Node: Extension API Variables1020678 +Node: Extension Versioning1021311 +Ref: gawk-api-version1021748 +Node: Extension API Informational Variables1023504 +Node: Extension API Boilerplate1024568 +Node: Finding Extensions1028382 +Node: Extension Example1028941 +Node: Internal File Description1029739 +Node: Internal File Ops1033819 +Ref: Internal File Ops-Footnote-11045581 +Node: Using Internal File Ops1045721 +Ref: Using Internal File Ops-Footnote-11048104 +Node: Extension Samples1048378 +Node: Extension Sample File Functions1049907 +Node: Extension Sample Fnmatch1057556 +Node: Extension Sample Fork1059043 +Node: Extension Sample Inplace1060261 +Node: Extension Sample Ord1063471 +Node: Extension Sample Readdir1064307 +Ref: table-readdir-file-types1065196 +Node: Extension Sample Revout1066001 +Node: Extension Sample Rev2way1066590 +Node: Extension Sample Read write array1067330 +Node: Extension Sample Readfile1069272 +Node: Extension Sample Time1070367 +Node: Extension Sample API Tests1071715 +Node: gawkextlib1072207 +Node: Extension summary1074654 +Node: Extension Exercises1078356 +Node: Language History1079854 +Node: V7/SVR3.11081510 +Node: SVR41083662 +Node: POSIX1085096 +Node: BTL1086475 +Node: POSIX/GNU1087204 +Node: Feature History1093066 +Node: Common Extensions1107436 +Node: Ranges and Locales1108719 +Ref: Ranges and Locales-Footnote-11113335 +Ref: Ranges and Locales-Footnote-21113362 +Ref: Ranges and Locales-Footnote-31113597 +Node: Contributors1113818 +Node: History summary1119378 +Node: Installation1120758 +Node: Gawk Distribution1121702 +Node: Getting1122186 +Node: Extracting1123147 +Node: Distribution contents1124785 +Node: Unix Installation1130879 +Node: Quick Installation1131561 +Node: Shell Startup Files1133975 +Node: Additional Configuration Options1135053 +Node: Configuration Philosophy1136858 +Node: Non-Unix Installation1139227 +Node: PC Installation1139685 +Node: PC Binary Installation1141005 +Node: PC Compiling1142857 +Ref: PC Compiling-Footnote-11145651 +Node: PC Testing1145760 +Node: PC Using1146940 +Ref: PC Using-Footnote-11151093 +Node: Cygwin1151166 +Node: MSYS1151936 +Node: VMS Installation1152437 +Node: VMS Compilation1153228 +Ref: VMS Compilation-Footnote-11154457 +Node: VMS Dynamic Extensions1154515 +Node: VMS Installation Details1156200 +Node: VMS Running1158453 +Node: VMS GNV1162732 +Node: VMS Old Gawk1163467 +Node: Bugs1163938 +Node: Other Versions1168253 +Node: Installation summary1174837 +Node: Notes1175888 +Node: Compatibility Mode1176753 +Node: Additions1177535 +Node: Accessing The Source1178460 +Node: Adding Code1179895 +Node: New Ports1186114 +Node: Derived Files1190602 +Ref: Derived Files-Footnote-11196087 +Ref: Derived Files-Footnote-21196122 +Ref: Derived Files-Footnote-31196720 +Node: Future Extensions1196834 +Node: Implementation Limitations1197492 +Node: Extension Design1198675 +Node: Old Extension Problems1199829 +Ref: Old Extension Problems-Footnote-11201347 +Node: Extension New Mechanism Goals1201404 +Ref: Extension New Mechanism Goals-Footnote-11204768 +Node: Extension Other Design Decisions1204957 +Node: Extension Future Growth1207070 +Node: Old Extension Mechanism1207906 +Node: Notes summary1209669 +Node: Basic Concepts1210851 +Node: Basic High Level1211532 +Ref: figure-general-flow1211814 +Ref: figure-process-flow1212499 +Ref: Basic High Level-Footnote-11215800 +Node: Basic Data Typing1215985 +Node: Glossary1219313 +Node: Copying1251259 +Node: GNU Free Documentation License1288798 +Node: Index1313916 End Tag Table |