diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1284 |
1 files changed, 666 insertions, 618 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 985e4c6a..22a15a62 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -547,6 +547,7 @@ in (a) below. A copy of the license is included in the section entitled * Inexact representation:: Numbers are not exactly represented. * Comparing FP Values:: How to compare floating point values. * Errors accumulate:: Errors get bigger as they go. +* Strange values:: A few words about infinities and NaNs. * Getting Accuracy:: Getting more accuracy takes some work. * Try To Round:: Add digits and round. * Setting precision:: How to set the precision. @@ -6927,8 +6928,8 @@ width. Here is a list of the format-control letters: On systems supporting IEEE 754 floating-point format, values representing negative infinity are formatted as '-inf' or '-infinity', and positive infinity as 'inf' or 'infinity'. The - special "not a number" value formats as '-nan' or 'nan' (*note Math - Definitions::). + special "not a number" value formats as '-nan' or 'nan' (*note + Strange values::). '%F' Like '%f', but the infinity and "not a number" values are spelled @@ -12820,7 +12821,7 @@ brackets ([ ]): 'log(X)' Return the natural logarithm of X, if X is positive; otherwise, - return 'NaN' ("not a number") on IEEE 754 systems. Additionally, + return NaN ("not a number") on IEEE 754 systems. Additionally, 'gawk' prints a warning message when 'x' is negative. 'rand()' @@ -24203,18 +24204,10 @@ material here: another number and infinity produce infinity. "NaN" - "Not a number."(1) A special value that results from attempting a - calculation that has no answer as a real number. In such a case, - programs can either receive a floating-point exception, or get - 'NaN' back as the result. The IEEE 754 standard recommends that - systems return 'NaN'. Some examples: - - 'sqrt(-1)' - This makes sense in the range of complex numbers, but not in - the range of real numbers, so the result is 'NaN'. - - 'log(-8)' - -8 is out of the domain of 'log()', so the result is 'NaN'. + "Not a number." A special value that results from attempting a + calculation that has no answer as a real number. *Note Strange + values::, for more information about infinity and not-a-number + values. "Normalized" How the significand (see later in this list) is usually stored. @@ -24273,11 +24266,6 @@ Table 16.3: Basic IEEE format values NOTE: The precision numbers include the implied leading one that gives them one extra bit of significand. - ---------- Footnotes ---------- - - (1) Thanks to Michael Brennan for this description, which we have -paraphrased, and for the examples. - File: gawk.info, Node: MPFR features, Next: FP Math Caution, Prev: Math Definitions, Up: Arbitrary Precision Arithmetic @@ -24370,6 +24358,7 @@ be sure of the number of significant decimal places in the final result. * Inexact representation:: Numbers are not exactly represented. * Comparing FP Values:: How to compare floating point values. * Errors accumulate:: Errors get bigger as they go. +* Strange values:: A few words about infinities and NaNs. File: gawk.info, Node: Inexact representation, Next: Comparing FP Values, Up: Inexactness of computations @@ -24434,7 +24423,7 @@ values with a delta, you should be sure to use 'difference < abs(delta)' in case someone passes in a negative delta value. -File: gawk.info, Node: Errors accumulate, Prev: Comparing FP Values, Up: Inexactness of computations +File: gawk.info, Node: Errors accumulate, Next: Strange values, Prev: Comparing FP Values, Up: Inexactness of computations 16.4.1.3 Errors Accumulate .......................... @@ -24482,6 +24471,64 @@ representations yield an unexpected result: -| 4 +File: gawk.info, Node: Strange values, Prev: Errors accumulate, Up: Inexactness of computations + +16.4.1.4 Floating Point Values They Didn't Talk About In School +............................................................... + +Both IEEE 754 floating-point hardware, and MPFR, support two kinds of +values that you probably didn't learn about in school. The first is +"infinity", a special value, that can be either negative or positive, +and which is either smaller than any other value (negative infinity), or +larger than any other value (positive infinity). When such values are +generated, 'gawk' prints them as either '-inf' or '+inf', respectively. +It accepts those strings as data input and converts them to the proper +floating-point values internally. + + Infinity values of the same sign compare as equal to each other. +Otherwise, operations (addition, subtraction, etc.) involving another +number and infinity produce mathematically reasonable results. + + The second kind of value is "not a number", or NaN for short.(1) +This is a special value that results from attempting a calculation that +has no answer as a real number. In such a case, programs can either +receive a floating-point exception, or get NaN back as the result. The +IEEE 754 standard recommends that systems return NaN. Some examples: + +'sqrt(-1)' + This makes sense in the range of complex numbers, but not in the + range of real numbers, so the result is NaN. + +'log(-8)' + -8 is out of the domain of 'log()', so the result is NaN. + + NaN values are strange. In particular, they cannot be compared with +other floating point values; any such comparison, except for "is not +equal to", returns false. NaN values are so much unequal to other +values that even comparing two identical NaN values with '!=' returns +true! + + NaN values can also be signed, although it depends upon the +implementation as to which sign you get for any operation that returns a +NaN. For example, on some systems, 'sqrt(-1)' returns a negative NaN. On +others, it returns a positive NaN. + + When such values are generated, 'gawk' prints them as either '-nan' +or '+nan', respectively. Here too, 'gawk' accepts those strings as data +input and converts them to the proper floating-point values internally. + + If you want to dive more deeply into this topic, you can find test +programs in C, 'awk' and Python in the directory +'awklib/eg/test-programs' in the 'gawk' distribution. These programs +enable comparison among programming languages as to how they handle NaN +and infinity values. + + ---------- Footnotes ---------- + + (1) Thanks to Michael Brennan for this description, which we have +paraphrased, and for the examples. + + File: gawk.info, Node: Getting Accuracy, Next: Try To Round, Prev: Inexactness of computations, Up: FP Math Caution 16.4.2 Getting the Accuracy You Need @@ -37984,603 +38031,604 @@ Index Tag Table: Node: Top1200 -Node: Foreword344559 -Node: Foreword449001 -Node: Preface50533 -Ref: Preface-Footnote-153392 -Ref: Preface-Footnote-253501 -Ref: Preface-Footnote-353735 -Node: History53877 -Node: Names56229 -Ref: Names-Footnote-157333 -Node: This Manual57480 -Ref: This Manual-Footnote-164119 -Node: Conventions64219 -Node: Manual History66588 -Ref: Manual History-Footnote-169585 -Ref: Manual History-Footnote-269626 -Node: How To Contribute69700 -Node: Acknowledgments70626 -Node: Getting Started75563 -Node: Running gawk78002 -Node: One-shot79192 -Node: Read Terminal80455 -Node: Long82448 -Node: Executable Scripts83961 -Ref: Executable Scripts-Footnote-186594 -Node: Comments86697 -Node: Quoting89181 -Node: DOS Quoting94707 -Node: Sample Data Files96763 -Node: Very Simple99358 -Node: Two Rules105460 -Node: More Complex107345 -Node: Statements/Lines109677 -Ref: Statements/Lines-Footnote-1114161 -Node: Other Features114426 -Node: When115362 -Ref: When-Footnote-1117116 -Node: Intro Summary117181 -Node: Invoking Gawk118065 -Node: Command Line119579 -Node: Options120377 -Ref: Options-Footnote-1138291 -Ref: Options-Footnote-2138522 -Node: Other Arguments138547 -Node: Naming Standard Input142558 -Node: Environment Variables143768 -Node: AWKPATH Variable144326 -Ref: AWKPATH Variable-Footnote-1147738 -Ref: AWKPATH Variable-Footnote-2147772 -Node: AWKLIBPATH Variable148143 -Ref: AWKLIBPATH Variable-Footnote-1149840 -Node: Other Environment Variables150215 -Node: Exit Status154036 -Node: Include Files154713 -Node: Loading Shared Libraries158403 -Node: Obsolete159831 -Node: Undocumented160523 -Node: Invoking Summary160820 -Node: Regexp163661 -Node: Regexp Usage165115 -Node: Escape Sequences167152 -Node: Regexp Operators173393 -Node: Regexp Operator Details173878 -Ref: Regexp Operator Details-Footnote-1180310 -Node: Interval Expressions180457 -Ref: Interval Expressions-Footnote-1181878 -Node: Bracket Expressions181976 -Ref: table-char-classes184452 -Node: Leftmost Longest187778 -Node: Computed Regexps189081 -Node: GNU Regexp Operators192508 -Node: Case-sensitivity196245 -Ref: Case-sensitivity-Footnote-1199111 -Ref: Case-sensitivity-Footnote-2199346 -Node: Regexp Summary199454 -Node: Reading Files200920 -Node: Records203189 -Node: awk split records204264 -Node: gawk split records209539 -Ref: gawk split records-Footnote-1214272 -Node: Fields214309 -Node: Nonconstant Fields217050 -Ref: Nonconstant Fields-Footnote-1219286 -Node: Changing Fields219490 -Node: Field Separators225521 -Node: Default Field Splitting228219 -Node: Regexp Field Splitting229337 -Node: Single Character Fields232690 -Node: Command Line Field Separator233750 -Node: Full Line Fields236968 -Ref: Full Line Fields-Footnote-1238490 -Ref: Full Line Fields-Footnote-2238536 -Node: Field Splitting Summary238637 -Node: Constant Size240711 -Node: Fixed width data241443 -Node: Skipping intervening244910 -Node: Allowing trailing data245708 -Node: Fields with fixed data246745 -Node: Splitting By Content248263 -Ref: Splitting By Content-Footnote-1252046 -Node: More CSV252209 -Node: Testing field creation253519 -Node: Multiple Line255144 -Node: Getline261421 -Node: Plain Getline263890 -Node: Getline/Variable266463 -Node: Getline/File267614 -Node: Getline/Variable/File269002 -Ref: Getline/Variable/File-Footnote-1270607 -Node: Getline/Pipe270695 -Node: Getline/Variable/Pipe273399 -Node: Getline/Coprocess274534 -Node: Getline/Variable/Coprocess275801 -Node: Getline Notes276543 -Node: Getline Summary279340 -Ref: table-getline-variants279764 -Node: Read Timeout280512 -Ref: Read Timeout-Footnote-1284418 -Node: Retrying Input284476 -Node: Command-line directories285675 -Node: Input Summary286581 -Node: Input Exercises289753 -Node: Printing290187 -Node: Print292021 -Node: Print Examples293478 -Node: Output Separators296258 -Node: OFMT298275 -Node: Printf299631 -Node: Basic Printf300416 -Node: Control Letters301990 -Node: Format Modifiers307154 -Node: Printf Examples313169 -Node: Redirection315655 -Node: Special FD322496 -Ref: Special FD-Footnote-1325664 -Node: Special Files325738 -Node: Other Inherited Files326355 -Node: Special Network327356 -Node: Special Caveats328216 -Node: Close Files And Pipes329165 -Ref: table-close-pipe-return-values336072 -Ref: Close Files And Pipes-Footnote-1336885 -Ref: Close Files And Pipes-Footnote-2337033 -Node: Nonfatal337185 -Node: Output Summary339523 -Node: Output Exercises340745 -Node: Expressions341424 -Node: Values342612 -Node: Constants343290 -Node: Scalar Constants343981 -Ref: Scalar Constants-Footnote-1346491 -Node: Nondecimal-numbers346741 -Node: Regexp Constants349742 -Node: Using Constant Regexps350268 -Node: Standard Regexp Constants350890 -Node: Strong Regexp Constants354078 -Node: Variables357090 -Node: Using Variables357747 -Node: Assignment Options359657 -Node: Conversion362128 -Node: Strings And Numbers362652 -Ref: Strings And Numbers-Footnote-1365715 -Node: Locale influences conversions365824 -Ref: table-locale-affects368582 -Node: All Operators369200 -Node: Arithmetic Ops369829 -Node: Concatenation372545 -Ref: Concatenation-Footnote-1375392 -Node: Assignment Ops375499 -Ref: table-assign-ops380490 -Node: Increment Ops381803 -Node: Truth Values and Conditions385263 -Node: Truth Values386337 -Node: Typing and Comparison387385 -Node: Variable Typing388205 -Ref: Variable Typing-Footnote-1394668 -Ref: Variable Typing-Footnote-2394740 -Node: Comparison Operators394817 -Ref: table-relational-ops395236 -Node: POSIX String Comparison398731 -Ref: POSIX String Comparison-Footnote-1400426 -Ref: POSIX String Comparison-Footnote-2400565 -Node: Boolean Ops400649 -Ref: Boolean Ops-Footnote-1405131 -Node: Conditional Exp405223 -Node: Function Calls406959 -Node: Precedence410836 -Node: Locales414495 -Node: Expressions Summary416127 -Node: Patterns and Actions418700 -Node: Pattern Overview419820 -Node: Regexp Patterns421497 -Node: Expression Patterns422039 -Node: Ranges425820 -Node: BEGIN/END428928 -Node: Using BEGIN/END429689 -Ref: Using BEGIN/END-Footnote-1432443 -Node: I/O And BEGIN/END432549 -Node: BEGINFILE/ENDFILE434862 -Node: Empty438093 -Node: Using Shell Variables438410 -Node: Action Overview440684 -Node: Statements443009 -Node: If Statement444857 -Node: While Statement446352 -Node: Do Statement448380 -Node: For Statement449528 -Node: Switch Statement452699 -Node: Break Statement455140 -Node: Continue Statement457232 -Node: Next Statement459059 -Node: Nextfile Statement461442 -Node: Exit Statement464131 -Node: Built-in Variables466534 -Node: User-modified467667 -Node: Auto-set475434 -Ref: Auto-set-Footnote-1492241 -Ref: Auto-set-Footnote-2492447 -Node: ARGC and ARGV492503 -Node: Pattern Action Summary496716 -Node: Arrays499146 -Node: Array Basics500475 -Node: Array Intro501319 -Ref: figure-array-elements503294 -Ref: Array Intro-Footnote-1505998 -Node: Reference to Elements506126 -Node: Assigning Elements508590 -Node: Array Example509081 -Node: Scanning an Array510840 -Node: Controlling Scanning513862 -Ref: Controlling Scanning-Footnote-1520318 -Node: Numeric Array Subscripts520634 -Node: Uninitialized Subscripts522818 -Node: Delete524437 -Ref: Delete-Footnote-1527189 -Node: Multidimensional527246 -Node: Multiscanning530341 -Node: Arrays of Arrays531932 -Node: Arrays Summary536700 -Node: Functions538793 -Node: Built-in539831 -Node: Calling Built-in540912 -Node: Numeric Functions542908 -Ref: Numeric Functions-Footnote-1546936 -Ref: Numeric Functions-Footnote-2547584 -Ref: Numeric Functions-Footnote-3547632 -Node: String Functions547904 -Ref: String Functions-Footnote-1572045 -Ref: String Functions-Footnote-2572173 -Ref: String Functions-Footnote-3572421 -Node: Gory Details572508 -Ref: table-sub-escapes574299 -Ref: table-sub-proposed575818 -Ref: table-posix-sub577181 -Ref: table-gensub-escapes578722 -Ref: Gory Details-Footnote-1579545 -Node: I/O Functions579699 -Ref: table-system-return-values586153 -Ref: I/O Functions-Footnote-1588233 -Ref: I/O Functions-Footnote-2588381 -Node: Time Functions588501 -Ref: Time Functions-Footnote-1599172 -Ref: Time Functions-Footnote-2599240 -Ref: Time Functions-Footnote-3599398 -Ref: Time Functions-Footnote-4599509 -Ref: Time Functions-Footnote-5599621 -Ref: Time Functions-Footnote-6599848 -Node: Bitwise Functions600114 -Ref: table-bitwise-ops600708 -Ref: Bitwise Functions-Footnote-1606771 -Ref: Bitwise Functions-Footnote-2606944 -Node: Type Functions607135 -Node: I18N Functions609998 -Node: User-defined611649 -Node: Definition Syntax612461 -Ref: Definition Syntax-Footnote-1618155 -Node: Function Example618226 -Ref: Function Example-Footnote-1621148 -Node: Function Calling621170 -Node: Calling A Function621758 -Node: Variable Scope622716 -Node: Pass By Value/Reference625710 -Node: Function Caveats628354 -Ref: Function Caveats-Footnote-1630401 -Node: Return Statement630521 -Node: Dynamic Typing633500 -Node: Indirect Calls634430 -Ref: Indirect Calls-Footnote-1644682 -Node: Functions Summary644810 -Node: Library Functions647515 -Ref: Library Functions-Footnote-1651122 -Ref: Library Functions-Footnote-2651265 -Node: Library Names651436 -Ref: Library Names-Footnote-1655103 -Ref: Library Names-Footnote-2655326 -Node: General Functions655412 -Node: Strtonum Function656515 -Node: Assert Function659537 -Node: Round Function662863 -Node: Cliff Random Function664403 -Node: Ordinal Functions665419 -Ref: Ordinal Functions-Footnote-1668482 -Ref: Ordinal Functions-Footnote-2668734 -Node: Join Function668944 -Ref: Join Function-Footnote-1670714 -Node: Getlocaltime Function670914 -Node: Readfile Function674656 -Node: Shell Quoting676633 -Node: Data File Management678034 -Node: Filetrans Function678666 -Node: Rewind Function682762 -Node: File Checking684671 -Ref: File Checking-Footnote-1686005 -Node: Empty Files686206 -Node: Ignoring Assigns688185 -Node: Getopt Function689735 -Ref: Getopt Function-Footnote-1704946 -Node: Passwd Functions705146 -Ref: Passwd Functions-Footnote-1713985 -Node: Group Functions714073 -Ref: Group Functions-Footnote-1721971 -Node: Walking Arrays722178 -Node: Library Functions Summary725186 -Node: Library Exercises726592 -Node: Sample Programs727057 -Node: Running Examples727827 -Node: Clones728555 -Node: Cut Program729779 -Node: Egrep Program739919 -Node: Id Program748930 -Node: Split Program758877 -Ref: Split Program-Footnote-1768767 -Node: Tee Program768940 -Node: Uniq Program771730 -Node: Wc Program779318 -Node: Bytes vs. Characters779715 -Node: Using extensions781263 -Node: wc program782017 -Node: Miscellaneous Programs786882 -Node: Dupword Program788095 -Node: Alarm Program790125 -Node: Translate Program794980 -Ref: Translate Program-Footnote-1799545 -Node: Labels Program799815 -Ref: Labels Program-Footnote-1803166 -Node: Word Sorting803250 -Node: History Sorting807322 -Node: Extract Program809547 -Node: Simple Sed817601 -Node: Igawk Program820675 -Ref: Igawk Program-Footnote-1835006 -Ref: Igawk Program-Footnote-2835208 -Ref: Igawk Program-Footnote-3835330 -Node: Anagram Program835445 -Node: Signature Program838507 -Node: Programs Summary839754 -Node: Programs Exercises840968 -Ref: Programs Exercises-Footnote-1845098 -Node: Advanced Features845184 -Node: Nondecimal Data847251 -Node: Array Sorting848842 -Node: Controlling Array Traversal849542 -Ref: Controlling Array Traversal-Footnote-1857910 -Node: Array Sorting Functions858028 -Ref: Array Sorting Functions-Footnote-1863119 -Node: Two-way I/O863315 -Ref: Two-way I/O-Footnote-1871036 -Ref: Two-way I/O-Footnote-2871223 -Node: TCP/IP Networking871305 -Node: Profiling874423 -Node: Extension Philosophy883732 -Node: Advanced Features Summary885183 -Node: Internationalization887182 -Node: I18N and L10N888662 -Node: Explaining gettext889349 -Ref: Explaining gettext-Footnote-1895241 -Ref: Explaining gettext-Footnote-2895426 -Node: Programmer i18n895591 -Ref: Programmer i18n-Footnote-1900540 -Node: Translator i18n900589 -Node: String Extraction901383 -Ref: String Extraction-Footnote-1902515 -Node: Printf Ordering902601 -Ref: Printf Ordering-Footnote-1905387 -Node: I18N Portability905451 -Ref: I18N Portability-Footnote-1907907 -Node: I18N Example907970 -Ref: I18N Example-Footnote-1911245 -Ref: I18N Example-Footnote-2911318 -Node: Gawk I18N911427 -Node: I18N Summary912076 -Node: Debugger913417 -Node: Debugging914417 -Node: Debugging Concepts914858 -Node: Debugging Terms916667 -Node: Awk Debugging919242 -Ref: Awk Debugging-Footnote-1920187 -Node: Sample Debugging Session920319 -Node: Debugger Invocation920853 -Node: Finding The Bug922239 -Node: List of Debugger Commands928713 -Node: Breakpoint Control930046 -Node: Debugger Execution Control933740 -Node: Viewing And Changing Data937102 -Node: Execution Stack940643 -Node: Debugger Info942280 -Node: Miscellaneous Debugger Commands946351 -Node: Readline Support951413 -Node: Limitations952309 -Node: Debugging Summary954863 -Node: Namespaces956142 -Node: Global Namespace957253 -Node: Qualified Names958651 -Node: Default Namespace959650 -Node: Changing The Namespace960391 -Node: Naming Rules962005 -Node: Internal Name Management963853 -Node: Namespace Example964895 -Node: Namespace And Features967457 -Node: Namespace Summary968892 -Node: Arbitrary Precision Arithmetic970369 -Node: Computer Arithmetic971856 -Ref: table-numeric-ranges975622 -Ref: table-floating-point-ranges976115 -Ref: Computer Arithmetic-Footnote-1976773 -Node: Math Definitions976830 -Ref: table-ieee-formats980146 -Ref: Math Definitions-Footnote-1980749 -Node: MPFR features980854 -Node: FP Math Caution982572 -Ref: FP Math Caution-Footnote-1983644 -Node: Inexactness of computations984013 -Node: Inexact representation984973 -Node: Comparing FP Values986333 -Node: Errors accumulate987574 -Node: Getting Accuracy989007 -Node: Try To Round991717 -Node: Setting precision992616 -Ref: table-predefined-precision-strings993313 -Node: Setting the rounding mode995143 -Ref: table-gawk-rounding-modes995517 -Ref: Setting the rounding mode-Footnote-1999448 -Node: Arbitrary Precision Integers999627 -Ref: Arbitrary Precision Integers-Footnote-11002802 -Node: Checking for MPFR1002951 -Node: POSIX Floating Point Problems1004425 -Ref: POSIX Floating Point Problems-Footnote-11008710 -Node: Floating point summary1008748 -Node: Dynamic Extensions1010938 -Node: Extension Intro1012491 -Node: Plugin License1013757 -Node: Extension Mechanism Outline1014554 -Ref: figure-load-extension1014993 -Ref: figure-register-new-function1016558 -Ref: figure-call-new-function1017650 -Node: Extension API Description1019712 -Node: Extension API Functions Introduction1021425 -Ref: table-api-std-headers1023261 -Node: General Data Types1027510 -Ref: General Data Types-Footnote-11036140 -Node: Memory Allocation Functions1036439 -Ref: Memory Allocation Functions-Footnote-11040940 -Node: Constructor Functions1041039 -Node: API Ownership of MPFR and GMP Values1044505 -Node: Registration Functions1045818 -Node: Extension Functions1046518 -Node: Exit Callback Functions1051840 -Node: Extension Version String1053090 -Node: Input Parsers1053753 -Node: Output Wrappers1066474 -Node: Two-way processors1070986 -Node: Printing Messages1073251 -Ref: Printing Messages-Footnote-11074422 -Node: Updating ERRNO1074575 -Node: Requesting Values1075314 -Ref: table-value-types-returned1076051 -Node: Accessing Parameters1076987 -Node: Symbol Table Access1078224 -Node: Symbol table by name1078736 -Ref: Symbol table by name-Footnote-11081760 -Node: Symbol table by cookie1081888 -Ref: Symbol table by cookie-Footnote-11086073 -Node: Cached values1086137 -Ref: Cached values-Footnote-11089673 -Node: Array Manipulation1089826 -Ref: Array Manipulation-Footnote-11090917 -Node: Array Data Types1090954 -Ref: Array Data Types-Footnote-11093612 -Node: Array Functions1093704 -Node: Flattening Arrays1098202 -Node: Creating Arrays1105178 -Node: Redirection API1109945 -Node: Extension API Variables1112778 -Node: Extension Versioning1113489 -Ref: gawk-api-version1113918 -Node: Extension GMP/MPFR Versioning1115649 -Node: Extension API Informational Variables1117277 -Node: Extension API Boilerplate1118350 -Node: Changes from API V11122324 -Node: Finding Extensions1123896 -Node: Extension Example1124455 -Node: Internal File Description1125253 -Node: Internal File Ops1129333 -Ref: Internal File Ops-Footnote-11140683 -Node: Using Internal File Ops1140823 -Ref: Using Internal File Ops-Footnote-11143206 -Node: Extension Samples1143480 -Node: Extension Sample File Functions1145009 -Node: Extension Sample Fnmatch1152658 -Node: Extension Sample Fork1154145 -Node: Extension Sample Inplace1155363 -Node: Extension Sample Ord1158989 -Node: Extension Sample Readdir1159825 -Ref: table-readdir-file-types1160714 -Node: Extension Sample Revout1161781 -Node: Extension Sample Rev2way1162370 -Node: Extension Sample Read write array1163110 -Node: Extension Sample Readfile1165052 -Node: Extension Sample Time1166147 -Node: Extension Sample API Tests1167899 -Node: gawkextlib1168391 -Node: Extension summary1171309 -Node: Extension Exercises1175011 -Node: Language History1176253 -Node: V7/SVR3.11177909 -Node: SVR41180061 -Node: POSIX1181495 -Node: BTL1182876 -Node: POSIX/GNU1183605 -Node: Feature History1189383 -Node: Common Extensions1205702 -Node: Ranges and Locales1206985 -Ref: Ranges and Locales-Footnote-11211601 -Ref: Ranges and Locales-Footnote-21211628 -Ref: Ranges and Locales-Footnote-31211863 -Node: Contributors1212086 -Node: History summary1218083 -Node: Installation1219463 -Node: Gawk Distribution1220407 -Node: Getting1220891 -Node: Extracting1221854 -Node: Distribution contents1223492 -Node: Unix Installation1229972 -Node: Quick Installation1230654 -Node: Shell Startup Files1233068 -Node: Additional Configuration Options1234157 -Node: Configuration Philosophy1236472 -Node: Non-Unix Installation1238841 -Node: PC Installation1239301 -Node: PC Binary Installation1240139 -Node: PC Compiling1240574 -Node: PC Using1241691 -Node: Cygwin1245244 -Node: MSYS1246468 -Node: VMS Installation1247070 -Node: VMS Compilation1247861 -Ref: VMS Compilation-Footnote-11249090 -Node: VMS Dynamic Extensions1249148 -Node: VMS Installation Details1250833 -Node: VMS Running1253086 -Node: VMS GNV1257365 -Node: VMS Old Gawk1258100 -Node: Bugs1258571 -Node: Bug address1259234 -Node: Usenet1262216 -Node: Maintainers1263220 -Node: Other Versions1264405 -Node: Installation summary1271493 -Node: Notes1272702 -Node: Compatibility Mode1273496 -Node: Additions1274278 -Node: Accessing The Source1275203 -Node: Adding Code1276640 -Node: New Ports1282859 -Node: Derived Files1287234 -Ref: Derived Files-Footnote-11292894 -Ref: Derived Files-Footnote-21292929 -Ref: Derived Files-Footnote-31293527 -Node: Future Extensions1293641 -Node: Implementation Limitations1294299 -Node: Extension Design1295509 -Node: Old Extension Problems1296653 -Ref: Old Extension Problems-Footnote-11298171 -Node: Extension New Mechanism Goals1298228 -Ref: Extension New Mechanism Goals-Footnote-11301592 -Node: Extension Other Design Decisions1301781 -Node: Extension Future Growth1303894 -Node: Notes summary1304500 -Node: Basic Concepts1305658 -Node: Basic High Level1306339 -Ref: figure-general-flow1306621 -Ref: figure-process-flow1307306 -Ref: Basic High Level-Footnote-11310607 -Node: Basic Data Typing1310792 -Node: Glossary1314120 -Node: Copying1346005 -Node: GNU Free Documentation License1383548 -Node: Index1408668 +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 Status154115 +Node: Include Files154792 +Node: Loading Shared Libraries158482 +Node: Obsolete159910 +Node: Undocumented160602 +Node: Invoking Summary160899 +Node: Regexp163740 +Node: Regexp Usage165194 +Node: Escape Sequences167231 +Node: Regexp Operators173472 +Node: Regexp Operator Details173957 +Ref: Regexp Operator Details-Footnote-1180389 +Node: Interval Expressions180536 +Ref: Interval Expressions-Footnote-1181957 +Node: Bracket Expressions182055 +Ref: table-char-classes184531 +Node: Leftmost Longest187857 +Node: Computed Regexps189160 +Node: GNU Regexp Operators192587 +Node: Case-sensitivity196324 +Ref: Case-sensitivity-Footnote-1199190 +Ref: Case-sensitivity-Footnote-2199425 +Node: Regexp Summary199533 +Node: Reading Files200999 +Node: Records203268 +Node: awk split records204343 +Node: gawk split records209618 +Ref: gawk split records-Footnote-1214351 +Node: Fields214388 +Node: Nonconstant Fields217129 +Ref: Nonconstant Fields-Footnote-1219365 +Node: Changing Fields219569 +Node: Field Separators225600 +Node: Default Field Splitting228298 +Node: Regexp Field Splitting229416 +Node: Single Character Fields232769 +Node: Command Line Field Separator233829 +Node: Full Line Fields237047 +Ref: Full Line Fields-Footnote-1238569 +Ref: Full Line Fields-Footnote-2238615 +Node: Field Splitting Summary238716 +Node: Constant Size240790 +Node: Fixed width data241522 +Node: Skipping intervening244989 +Node: Allowing trailing data245787 +Node: Fields with fixed data246824 +Node: Splitting By Content248342 +Ref: Splitting By Content-Footnote-1252125 +Node: More CSV252288 +Node: Testing field creation253598 +Node: Multiple Line255223 +Node: Getline261500 +Node: Plain Getline263969 +Node: Getline/Variable266542 +Node: Getline/File267693 +Node: Getline/Variable/File269081 +Ref: Getline/Variable/File-Footnote-1270686 +Node: Getline/Pipe270774 +Node: Getline/Variable/Pipe273478 +Node: Getline/Coprocess274613 +Node: Getline/Variable/Coprocess275880 +Node: Getline Notes276622 +Node: Getline Summary279419 +Ref: table-getline-variants279843 +Node: Read Timeout280591 +Ref: Read Timeout-Footnote-1284497 +Node: Retrying Input284555 +Node: Command-line directories285754 +Node: Input Summary286660 +Node: Input Exercises289832 +Node: Printing290266 +Node: Print292100 +Node: Print Examples293557 +Node: Output Separators296337 +Node: OFMT298354 +Node: Printf299710 +Node: Basic Printf300495 +Node: Control Letters302069 +Node: Format Modifiers307231 +Node: Printf Examples313246 +Node: Redirection315732 +Node: Special FD322573 +Ref: Special FD-Footnote-1325741 +Node: Special Files325815 +Node: Other Inherited Files326432 +Node: Special Network327433 +Node: Special Caveats328293 +Node: Close Files And Pipes329242 +Ref: table-close-pipe-return-values336149 +Ref: Close Files And Pipes-Footnote-1336962 +Ref: Close Files And Pipes-Footnote-2337110 +Node: Nonfatal337262 +Node: Output Summary339600 +Node: Output Exercises340822 +Node: Expressions341501 +Node: Values342689 +Node: Constants343367 +Node: Scalar Constants344058 +Ref: Scalar Constants-Footnote-1346568 +Node: Nondecimal-numbers346818 +Node: Regexp Constants349819 +Node: Using Constant Regexps350345 +Node: Standard Regexp Constants350967 +Node: Strong Regexp Constants354155 +Node: Variables357167 +Node: Using Variables357824 +Node: Assignment Options359734 +Node: Conversion362205 +Node: Strings And Numbers362729 +Ref: Strings And Numbers-Footnote-1365792 +Node: Locale influences conversions365901 +Ref: table-locale-affects368659 +Node: All Operators369277 +Node: Arithmetic Ops369906 +Node: Concatenation372622 +Ref: Concatenation-Footnote-1375469 +Node: Assignment Ops375576 +Ref: table-assign-ops380567 +Node: Increment Ops381880 +Node: Truth Values and Conditions385340 +Node: Truth Values386414 +Node: Typing and Comparison387462 +Node: Variable Typing388282 +Ref: Variable Typing-Footnote-1394745 +Ref: Variable Typing-Footnote-2394817 +Node: Comparison Operators394894 +Ref: table-relational-ops395313 +Node: POSIX String Comparison398808 +Ref: POSIX String Comparison-Footnote-1400503 +Ref: POSIX String Comparison-Footnote-2400642 +Node: Boolean Ops400726 +Ref: Boolean Ops-Footnote-1405208 +Node: Conditional Exp405300 +Node: Function Calls407036 +Node: Precedence410913 +Node: Locales414572 +Node: Expressions Summary416204 +Node: Patterns and Actions418777 +Node: Pattern Overview419897 +Node: Regexp Patterns421574 +Node: Expression Patterns422116 +Node: Ranges425897 +Node: BEGIN/END429005 +Node: Using BEGIN/END429766 +Ref: Using BEGIN/END-Footnote-1432520 +Node: I/O And BEGIN/END432626 +Node: BEGINFILE/ENDFILE434939 +Node: Empty438170 +Node: Using Shell Variables438487 +Node: Action Overview440761 +Node: Statements443086 +Node: If Statement444934 +Node: While Statement446429 +Node: Do Statement448457 +Node: For Statement449605 +Node: Switch Statement452776 +Node: Break Statement455217 +Node: Continue Statement457309 +Node: Next Statement459136 +Node: Nextfile Statement461519 +Node: Exit Statement464208 +Node: Built-in Variables466611 +Node: User-modified467744 +Node: Auto-set475511 +Ref: Auto-set-Footnote-1492318 +Ref: Auto-set-Footnote-2492524 +Node: ARGC and ARGV492580 +Node: Pattern Action Summary496793 +Node: Arrays499223 +Node: Array Basics500552 +Node: Array Intro501396 +Ref: figure-array-elements503371 +Ref: Array Intro-Footnote-1506075 +Node: Reference to Elements506203 +Node: Assigning Elements508667 +Node: Array Example509158 +Node: Scanning an Array510917 +Node: Controlling Scanning513939 +Ref: Controlling Scanning-Footnote-1520395 +Node: Numeric Array Subscripts520711 +Node: Uninitialized Subscripts522895 +Node: Delete524514 +Ref: Delete-Footnote-1527266 +Node: Multidimensional527323 +Node: Multiscanning530418 +Node: Arrays of Arrays532009 +Node: Arrays Summary536777 +Node: Functions538870 +Node: Built-in539908 +Node: Calling Built-in540989 +Node: Numeric Functions542985 +Ref: Numeric Functions-Footnote-1547011 +Ref: Numeric Functions-Footnote-2547659 +Ref: Numeric Functions-Footnote-3547707 +Node: String Functions547979 +Ref: String Functions-Footnote-1572120 +Ref: String Functions-Footnote-2572248 +Ref: String Functions-Footnote-3572496 +Node: Gory Details572583 +Ref: table-sub-escapes574374 +Ref: table-sub-proposed575893 +Ref: table-posix-sub577256 +Ref: table-gensub-escapes578797 +Ref: Gory Details-Footnote-1579620 +Node: I/O Functions579774 +Ref: table-system-return-values586228 +Ref: I/O Functions-Footnote-1588308 +Ref: I/O Functions-Footnote-2588456 +Node: Time Functions588576 +Ref: Time Functions-Footnote-1599247 +Ref: Time Functions-Footnote-2599315 +Ref: Time Functions-Footnote-3599473 +Ref: Time Functions-Footnote-4599584 +Ref: Time Functions-Footnote-5599696 +Ref: Time Functions-Footnote-6599923 +Node: Bitwise Functions600189 +Ref: table-bitwise-ops600783 +Ref: Bitwise Functions-Footnote-1606846 +Ref: Bitwise Functions-Footnote-2607019 +Node: Type Functions607210 +Node: I18N Functions610073 +Node: User-defined611724 +Node: Definition Syntax612536 +Ref: Definition Syntax-Footnote-1618230 +Node: Function Example618301 +Ref: Function Example-Footnote-1621223 +Node: Function Calling621245 +Node: Calling A Function621833 +Node: Variable Scope622791 +Node: Pass By Value/Reference625785 +Node: Function Caveats628429 +Ref: Function Caveats-Footnote-1630476 +Node: Return Statement630596 +Node: Dynamic Typing633575 +Node: Indirect Calls634505 +Ref: Indirect Calls-Footnote-1644757 +Node: Functions Summary644885 +Node: Library Functions647590 +Ref: Library Functions-Footnote-1651197 +Ref: Library Functions-Footnote-2651340 +Node: Library Names651511 +Ref: Library Names-Footnote-1655178 +Ref: Library Names-Footnote-2655401 +Node: General Functions655487 +Node: Strtonum Function656590 +Node: Assert Function659612 +Node: Round Function662938 +Node: Cliff Random Function664478 +Node: Ordinal Functions665494 +Ref: Ordinal Functions-Footnote-1668557 +Ref: Ordinal Functions-Footnote-2668809 +Node: Join Function669019 +Ref: Join Function-Footnote-1670789 +Node: Getlocaltime Function670989 +Node: Readfile Function674731 +Node: Shell Quoting676708 +Node: Data File Management678109 +Node: Filetrans Function678741 +Node: Rewind Function682837 +Node: File Checking684746 +Ref: File Checking-Footnote-1686080 +Node: Empty Files686281 +Node: Ignoring Assigns688260 +Node: Getopt Function689810 +Ref: Getopt Function-Footnote-1705021 +Node: Passwd Functions705221 +Ref: Passwd Functions-Footnote-1714060 +Node: Group Functions714148 +Ref: Group Functions-Footnote-1722046 +Node: Walking Arrays722253 +Node: Library Functions Summary725261 +Node: Library Exercises726667 +Node: Sample Programs727132 +Node: Running Examples727902 +Node: Clones728630 +Node: Cut Program729854 +Node: Egrep Program739994 +Node: Id Program749005 +Node: Split Program758952 +Ref: Split Program-Footnote-1768842 +Node: Tee Program769015 +Node: Uniq Program771805 +Node: Wc Program779393 +Node: Bytes vs. Characters779790 +Node: Using extensions781338 +Node: wc program782092 +Node: Miscellaneous Programs786957 +Node: Dupword Program788170 +Node: Alarm Program790200 +Node: Translate Program795055 +Ref: Translate Program-Footnote-1799620 +Node: Labels Program799890 +Ref: Labels Program-Footnote-1803241 +Node: Word Sorting803325 +Node: History Sorting807397 +Node: Extract Program809622 +Node: Simple Sed817676 +Node: Igawk Program820750 +Ref: Igawk Program-Footnote-1835081 +Ref: Igawk Program-Footnote-2835283 +Ref: Igawk Program-Footnote-3835405 +Node: Anagram Program835520 +Node: Signature Program838582 +Node: Programs Summary839829 +Node: Programs Exercises841043 +Ref: Programs Exercises-Footnote-1845173 +Node: Advanced Features845259 +Node: Nondecimal Data847326 +Node: Array Sorting848917 +Node: Controlling Array Traversal849617 +Ref: Controlling Array Traversal-Footnote-1857985 +Node: Array Sorting Functions858103 +Ref: Array Sorting Functions-Footnote-1863194 +Node: Two-way I/O863390 +Ref: Two-way I/O-Footnote-1871111 +Ref: Two-way I/O-Footnote-2871298 +Node: TCP/IP Networking871380 +Node: Profiling874498 +Node: Extension Philosophy883807 +Node: Advanced Features Summary885258 +Node: Internationalization887257 +Node: I18N and L10N888737 +Node: Explaining gettext889424 +Ref: Explaining gettext-Footnote-1895316 +Ref: Explaining gettext-Footnote-2895501 +Node: Programmer i18n895666 +Ref: Programmer i18n-Footnote-1900615 +Node: Translator i18n900664 +Node: String Extraction901458 +Ref: String Extraction-Footnote-1902590 +Node: Printf Ordering902676 +Ref: Printf Ordering-Footnote-1905462 +Node: I18N Portability905526 +Ref: I18N Portability-Footnote-1907982 +Node: I18N Example908045 +Ref: I18N Example-Footnote-1911320 +Ref: I18N Example-Footnote-2911393 +Node: Gawk I18N911502 +Node: I18N Summary912151 +Node: Debugger913492 +Node: Debugging914492 +Node: Debugging Concepts914933 +Node: Debugging Terms916742 +Node: Awk Debugging919317 +Ref: Awk Debugging-Footnote-1920262 +Node: Sample Debugging Session920394 +Node: Debugger Invocation920928 +Node: Finding The Bug922314 +Node: List of Debugger Commands928788 +Node: Breakpoint Control930121 +Node: Debugger Execution Control933815 +Node: Viewing And Changing Data937177 +Node: Execution Stack940718 +Node: Debugger Info942355 +Node: Miscellaneous Debugger Commands946426 +Node: Readline Support951488 +Node: Limitations952384 +Node: Debugging Summary954938 +Node: Namespaces956217 +Node: Global Namespace957328 +Node: Qualified Names958726 +Node: Default Namespace959725 +Node: Changing The Namespace960466 +Node: Naming Rules962080 +Node: Internal Name Management963928 +Node: Namespace Example964970 +Node: Namespace And Features967532 +Node: Namespace Summary968967 +Node: Arbitrary Precision Arithmetic970444 +Node: Computer Arithmetic971931 +Ref: table-numeric-ranges975697 +Ref: table-floating-point-ranges976190 +Ref: Computer Arithmetic-Footnote-1976848 +Node: Math Definitions976905 +Ref: table-ieee-formats979881 +Node: MPFR features980448 +Node: FP Math Caution982166 +Ref: FP Math Caution-Footnote-1983238 +Node: Inexactness of computations983607 +Node: Inexact representation984638 +Node: Comparing FP Values985998 +Node: Errors accumulate987239 +Node: Strange values988695 +Ref: Strange values-Footnote-1991283 +Node: Getting Accuracy991388 +Node: Try To Round994098 +Node: Setting precision994997 +Ref: table-predefined-precision-strings995694 +Node: Setting the rounding mode997524 +Ref: table-gawk-rounding-modes997898 +Ref: Setting the rounding mode-Footnote-11001829 +Node: Arbitrary Precision Integers1002008 +Ref: Arbitrary Precision Integers-Footnote-11005183 +Node: Checking for MPFR1005332 +Node: POSIX Floating Point Problems1006806 +Ref: POSIX Floating Point Problems-Footnote-11011091 +Node: Floating point summary1011129 +Node: Dynamic Extensions1013319 +Node: Extension Intro1014872 +Node: Plugin License1016138 +Node: Extension Mechanism Outline1016935 +Ref: figure-load-extension1017374 +Ref: figure-register-new-function1018939 +Ref: figure-call-new-function1020031 +Node: Extension API Description1022093 +Node: Extension API Functions Introduction1023806 +Ref: table-api-std-headers1025642 +Node: General Data Types1029891 +Ref: General Data Types-Footnote-11038521 +Node: Memory Allocation Functions1038820 +Ref: Memory Allocation Functions-Footnote-11043321 +Node: Constructor Functions1043420 +Node: API Ownership of MPFR and GMP Values1046886 +Node: Registration Functions1048199 +Node: Extension Functions1048899 +Node: Exit Callback Functions1054221 +Node: Extension Version String1055471 +Node: Input Parsers1056134 +Node: Output Wrappers1068855 +Node: Two-way processors1073367 +Node: Printing Messages1075632 +Ref: Printing Messages-Footnote-11076803 +Node: Updating ERRNO1076956 +Node: Requesting Values1077695 +Ref: table-value-types-returned1078432 +Node: Accessing Parameters1079368 +Node: Symbol Table Access1080605 +Node: Symbol table by name1081117 +Ref: Symbol table by name-Footnote-11084141 +Node: Symbol table by cookie1084269 +Ref: Symbol table by cookie-Footnote-11088454 +Node: Cached values1088518 +Ref: Cached values-Footnote-11092054 +Node: Array Manipulation1092207 +Ref: Array Manipulation-Footnote-11093298 +Node: Array Data Types1093335 +Ref: Array Data Types-Footnote-11095993 +Node: Array Functions1096085 +Node: Flattening Arrays1100583 +Node: Creating Arrays1107559 +Node: Redirection API1112326 +Node: Extension API Variables1115159 +Node: Extension Versioning1115870 +Ref: gawk-api-version1116299 +Node: Extension GMP/MPFR Versioning1118030 +Node: Extension API Informational Variables1119658 +Node: Extension API Boilerplate1120731 +Node: Changes from API V11124705 +Node: Finding Extensions1126277 +Node: Extension Example1126836 +Node: Internal File Description1127634 +Node: Internal File Ops1131714 +Ref: Internal File Ops-Footnote-11143064 +Node: Using Internal File Ops1143204 +Ref: Using Internal File Ops-Footnote-11145587 +Node: Extension Samples1145861 +Node: Extension Sample File Functions1147390 +Node: Extension Sample Fnmatch1155039 +Node: Extension Sample Fork1156526 +Node: Extension Sample Inplace1157744 +Node: Extension Sample Ord1161370 +Node: Extension Sample Readdir1162206 +Ref: table-readdir-file-types1163095 +Node: Extension Sample Revout1164162 +Node: Extension Sample Rev2way1164751 +Node: Extension Sample Read write array1165491 +Node: Extension Sample Readfile1167433 +Node: Extension Sample Time1168528 +Node: Extension Sample API Tests1170280 +Node: gawkextlib1170772 +Node: Extension summary1173690 +Node: Extension Exercises1177392 +Node: Language History1178634 +Node: V7/SVR3.11180290 +Node: SVR41182442 +Node: POSIX1183876 +Node: BTL1185257 +Node: POSIX/GNU1185986 +Node: Feature History1191764 +Node: Common Extensions1208083 +Node: Ranges and Locales1209366 +Ref: Ranges and Locales-Footnote-11213982 +Ref: Ranges and Locales-Footnote-21214009 +Ref: Ranges and Locales-Footnote-31214244 +Node: Contributors1214467 +Node: History summary1220464 +Node: Installation1221844 +Node: Gawk Distribution1222788 +Node: Getting1223272 +Node: Extracting1224235 +Node: Distribution contents1225873 +Node: Unix Installation1232353 +Node: Quick Installation1233035 +Node: Shell Startup Files1235449 +Node: Additional Configuration Options1236538 +Node: Configuration Philosophy1238853 +Node: Non-Unix Installation1241222 +Node: PC Installation1241682 +Node: PC Binary Installation1242520 +Node: PC Compiling1242955 +Node: PC Using1244072 +Node: Cygwin1247625 +Node: MSYS1248849 +Node: VMS Installation1249451 +Node: VMS Compilation1250242 +Ref: VMS Compilation-Footnote-11251471 +Node: VMS Dynamic Extensions1251529 +Node: VMS Installation Details1253214 +Node: VMS Running1255467 +Node: VMS GNV1259746 +Node: VMS Old Gawk1260481 +Node: Bugs1260952 +Node: Bug address1261615 +Node: Usenet1264597 +Node: Maintainers1265601 +Node: Other Versions1266786 +Node: Installation summary1273874 +Node: Notes1275083 +Node: Compatibility Mode1275877 +Node: Additions1276659 +Node: Accessing The Source1277584 +Node: Adding Code1279021 +Node: New Ports1285240 +Node: Derived Files1289615 +Ref: Derived Files-Footnote-11295275 +Ref: Derived Files-Footnote-21295310 +Ref: Derived Files-Footnote-31295908 +Node: Future Extensions1296022 +Node: Implementation Limitations1296680 +Node: Extension Design1297890 +Node: Old Extension Problems1299034 +Ref: Old Extension Problems-Footnote-11300552 +Node: Extension New Mechanism Goals1300609 +Ref: Extension New Mechanism Goals-Footnote-11303973 +Node: Extension Other Design Decisions1304162 +Node: Extension Future Growth1306275 +Node: Notes summary1306881 +Node: Basic Concepts1308039 +Node: Basic High Level1308720 +Ref: figure-general-flow1309002 +Ref: figure-process-flow1309687 +Ref: Basic High Level-Footnote-11312988 +Node: Basic Data Typing1313173 +Node: Glossary1316501 +Node: Copying1348386 +Node: GNU Free Documentation License1385929 +Node: Index1411049 End Tag Table |