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 7a01d25a..258ddf71 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. @@ -6914,8 +6915,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 @@ -12807,7 +12808,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()' @@ -24190,18 +24191,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. @@ -24260,11 +24253,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 @@ -24357,6 +24345,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 @@ -24421,7 +24410,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 .......................... @@ -24469,6 +24458,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 @@ -37971,603 +38018,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 records208964 -Ref: gawk split records-Footnote-1213697 -Node: Fields213734 -Node: Nonconstant Fields216475 -Ref: Nonconstant Fields-Footnote-1218711 -Node: Changing Fields218915 -Node: Field Separators224946 -Node: Default Field Splitting227644 -Node: Regexp Field Splitting228762 -Node: Single Character Fields232115 -Node: Command Line Field Separator233175 -Node: Full Line Fields236393 -Ref: Full Line Fields-Footnote-1237915 -Ref: Full Line Fields-Footnote-2237961 -Node: Field Splitting Summary238062 -Node: Constant Size240136 -Node: Fixed width data240868 -Node: Skipping intervening244335 -Node: Allowing trailing data245133 -Node: Fields with fixed data246170 -Node: Splitting By Content247688 -Ref: Splitting By Content-Footnote-1251471 -Node: More CSV251634 -Node: Testing field creation252944 -Node: Multiple Line254569 -Node: Getline260846 -Node: Plain Getline263315 -Node: Getline/Variable265888 -Node: Getline/File267039 -Node: Getline/Variable/File268427 -Ref: Getline/Variable/File-Footnote-1270032 -Node: Getline/Pipe270120 -Node: Getline/Variable/Pipe272824 -Node: Getline/Coprocess273959 -Node: Getline/Variable/Coprocess275226 -Node: Getline Notes275968 -Node: Getline Summary278765 -Ref: table-getline-variants279189 -Node: Read Timeout279937 -Ref: Read Timeout-Footnote-1283843 -Node: Retrying Input283901 -Node: Command-line directories285100 -Node: Input Summary286006 -Node: Input Exercises289178 -Node: Printing289612 -Node: Print291446 -Node: Print Examples292903 -Node: Output Separators295683 -Node: OFMT297700 -Node: Printf299056 -Node: Basic Printf299841 -Node: Control Letters301415 -Node: Format Modifiers306579 -Node: Printf Examples312594 -Node: Redirection315080 -Node: Special FD321921 -Ref: Special FD-Footnote-1325089 -Node: Special Files325163 -Node: Other Inherited Files325780 -Node: Special Network326781 -Node: Special Caveats327641 -Node: Close Files And Pipes328590 -Ref: table-close-pipe-return-values335497 -Ref: Close Files And Pipes-Footnote-1336310 -Ref: Close Files And Pipes-Footnote-2336458 -Node: Nonfatal336610 -Node: Output Summary338948 -Node: Output Exercises340170 -Node: Expressions340849 -Node: Values342037 -Node: Constants342715 -Node: Scalar Constants343406 -Ref: Scalar Constants-Footnote-1345916 -Node: Nondecimal-numbers346166 -Node: Regexp Constants349167 -Node: Using Constant Regexps349693 -Node: Standard Regexp Constants350315 -Node: Strong Regexp Constants353503 -Node: Variables356515 -Node: Using Variables357172 -Node: Assignment Options359082 -Node: Conversion361553 -Node: Strings And Numbers362077 -Ref: Strings And Numbers-Footnote-1365140 -Node: Locale influences conversions365249 -Ref: table-locale-affects368007 -Node: All Operators368625 -Node: Arithmetic Ops369254 -Node: Concatenation371970 -Ref: Concatenation-Footnote-1374817 -Node: Assignment Ops374924 -Ref: table-assign-ops379915 -Node: Increment Ops381228 -Node: Truth Values and Conditions384688 -Node: Truth Values385762 -Node: Typing and Comparison386810 -Node: Variable Typing387630 -Ref: Variable Typing-Footnote-1394093 -Ref: Variable Typing-Footnote-2394165 -Node: Comparison Operators394242 -Ref: table-relational-ops394661 -Node: POSIX String Comparison398156 -Ref: POSIX String Comparison-Footnote-1399851 -Ref: POSIX String Comparison-Footnote-2399990 -Node: Boolean Ops400074 -Ref: Boolean Ops-Footnote-1404556 -Node: Conditional Exp404648 -Node: Function Calls406384 -Node: Precedence410261 -Node: Locales413920 -Node: Expressions Summary415552 -Node: Patterns and Actions418125 -Node: Pattern Overview419245 -Node: Regexp Patterns420922 -Node: Expression Patterns421464 -Node: Ranges425245 -Node: BEGIN/END428353 -Node: Using BEGIN/END429114 -Ref: Using BEGIN/END-Footnote-1431868 -Node: I/O And BEGIN/END431974 -Node: BEGINFILE/ENDFILE434287 -Node: Empty437518 -Node: Using Shell Variables437835 -Node: Action Overview440109 -Node: Statements442434 -Node: If Statement444282 -Node: While Statement445777 -Node: Do Statement447805 -Node: For Statement448953 -Node: Switch Statement452124 -Node: Break Statement454565 -Node: Continue Statement456657 -Node: Next Statement458484 -Node: Nextfile Statement460867 -Node: Exit Statement463556 -Node: Built-in Variables465959 -Node: User-modified467092 -Node: Auto-set474859 -Ref: Auto-set-Footnote-1491666 -Ref: Auto-set-Footnote-2491872 -Node: ARGC and ARGV491928 -Node: Pattern Action Summary496141 -Node: Arrays498571 -Node: Array Basics499900 -Node: Array Intro500744 -Ref: figure-array-elements502719 -Ref: Array Intro-Footnote-1505423 -Node: Reference to Elements505551 -Node: Assigning Elements508015 -Node: Array Example508506 -Node: Scanning an Array510265 -Node: Controlling Scanning513287 -Ref: Controlling Scanning-Footnote-1519743 -Node: Numeric Array Subscripts520059 -Node: Uninitialized Subscripts522243 -Node: Delete523862 -Ref: Delete-Footnote-1526614 -Node: Multidimensional526671 -Node: Multiscanning529766 -Node: Arrays of Arrays531357 -Node: Arrays Summary536125 -Node: Functions538218 -Node: Built-in539256 -Node: Calling Built-in540337 -Node: Numeric Functions542333 -Ref: Numeric Functions-Footnote-1546361 -Ref: Numeric Functions-Footnote-2547009 -Ref: Numeric Functions-Footnote-3547057 -Node: String Functions547329 -Ref: String Functions-Footnote-1571470 -Ref: String Functions-Footnote-2571598 -Ref: String Functions-Footnote-3571846 -Node: Gory Details571933 -Ref: table-sub-escapes573724 -Ref: table-sub-proposed575243 -Ref: table-posix-sub576606 -Ref: table-gensub-escapes578147 -Ref: Gory Details-Footnote-1578970 -Node: I/O Functions579124 -Ref: table-system-return-values585578 -Ref: I/O Functions-Footnote-1587658 -Ref: I/O Functions-Footnote-2587806 -Node: Time Functions587926 -Ref: Time Functions-Footnote-1598597 -Ref: Time Functions-Footnote-2598665 -Ref: Time Functions-Footnote-3598823 -Ref: Time Functions-Footnote-4598934 -Ref: Time Functions-Footnote-5599046 -Ref: Time Functions-Footnote-6599273 -Node: Bitwise Functions599539 -Ref: table-bitwise-ops600133 -Ref: Bitwise Functions-Footnote-1606196 -Ref: Bitwise Functions-Footnote-2606369 -Node: Type Functions606560 -Node: I18N Functions609423 -Node: User-defined611074 -Node: Definition Syntax611886 -Ref: Definition Syntax-Footnote-1617580 -Node: Function Example617651 -Ref: Function Example-Footnote-1620573 -Node: Function Calling620595 -Node: Calling A Function621183 -Node: Variable Scope622141 -Node: Pass By Value/Reference625135 -Node: Function Caveats627779 -Ref: Function Caveats-Footnote-1629826 -Node: Return Statement629946 -Node: Dynamic Typing632925 -Node: Indirect Calls633855 -Ref: Indirect Calls-Footnote-1644107 -Node: Functions Summary644235 -Node: Library Functions646940 -Ref: Library Functions-Footnote-1650547 -Ref: Library Functions-Footnote-2650690 -Node: Library Names650861 -Ref: Library Names-Footnote-1654528 -Ref: Library Names-Footnote-2654751 -Node: General Functions654837 -Node: Strtonum Function655940 -Node: Assert Function658962 -Node: Round Function662288 -Node: Cliff Random Function663828 -Node: Ordinal Functions664844 -Ref: Ordinal Functions-Footnote-1667907 -Ref: Ordinal Functions-Footnote-2668159 -Node: Join Function668369 -Ref: Join Function-Footnote-1670139 -Node: Getlocaltime Function670339 -Node: Readfile Function674081 -Node: Shell Quoting676058 -Node: Data File Management677459 -Node: Filetrans Function678091 -Node: Rewind Function682187 -Node: File Checking684096 -Ref: File Checking-Footnote-1685430 -Node: Empty Files685631 -Node: Ignoring Assigns687610 -Node: Getopt Function689160 -Ref: Getopt Function-Footnote-1704371 -Node: Passwd Functions704571 -Ref: Passwd Functions-Footnote-1713410 -Node: Group Functions713498 -Ref: Group Functions-Footnote-1721396 -Node: Walking Arrays721603 -Node: Library Functions Summary724611 -Node: Library Exercises726017 -Node: Sample Programs726482 -Node: Running Examples727252 -Node: Clones727980 -Node: Cut Program729204 -Node: Egrep Program739344 -Node: Id Program748355 -Node: Split Program758302 -Ref: Split Program-Footnote-1768192 -Node: Tee Program768365 -Node: Uniq Program771155 -Node: Wc Program778743 -Node: Bytes vs. Characters779140 -Node: Using extensions780688 -Node: wc program781442 -Node: Miscellaneous Programs786307 -Node: Dupword Program787520 -Node: Alarm Program789550 -Node: Translate Program794405 -Ref: Translate Program-Footnote-1798970 -Node: Labels Program799240 -Ref: Labels Program-Footnote-1802591 -Node: Word Sorting802675 -Node: History Sorting806747 -Node: Extract Program808972 -Node: Simple Sed817026 -Node: Igawk Program820100 -Ref: Igawk Program-Footnote-1834431 -Ref: Igawk Program-Footnote-2834633 -Ref: Igawk Program-Footnote-3834755 -Node: Anagram Program834870 -Node: Signature Program837932 -Node: Programs Summary839179 -Node: Programs Exercises840393 -Ref: Programs Exercises-Footnote-1844523 -Node: Advanced Features844609 -Node: Nondecimal Data846676 -Node: Array Sorting848267 -Node: Controlling Array Traversal848967 -Ref: Controlling Array Traversal-Footnote-1857335 -Node: Array Sorting Functions857453 -Ref: Array Sorting Functions-Footnote-1862544 -Node: Two-way I/O862740 -Ref: Two-way I/O-Footnote-1870461 -Ref: Two-way I/O-Footnote-2870648 -Node: TCP/IP Networking870730 -Node: Profiling873848 -Node: Extension Philosophy883157 -Node: Advanced Features Summary884608 -Node: Internationalization886607 -Node: I18N and L10N888087 -Node: Explaining gettext888774 -Ref: Explaining gettext-Footnote-1894666 -Ref: Explaining gettext-Footnote-2894851 -Node: Programmer i18n895016 -Ref: Programmer i18n-Footnote-1899965 -Node: Translator i18n900014 -Node: String Extraction900808 -Ref: String Extraction-Footnote-1901940 -Node: Printf Ordering902026 -Ref: Printf Ordering-Footnote-1904812 -Node: I18N Portability904876 -Ref: I18N Portability-Footnote-1907332 -Node: I18N Example907395 -Ref: I18N Example-Footnote-1910670 -Ref: I18N Example-Footnote-2910743 -Node: Gawk I18N910852 -Node: I18N Summary911501 -Node: Debugger912842 -Node: Debugging913842 -Node: Debugging Concepts914283 -Node: Debugging Terms916092 -Node: Awk Debugging918667 -Ref: Awk Debugging-Footnote-1919612 -Node: Sample Debugging Session919744 -Node: Debugger Invocation920278 -Node: Finding The Bug921664 -Node: List of Debugger Commands928138 -Node: Breakpoint Control929471 -Node: Debugger Execution Control933165 -Node: Viewing And Changing Data936527 -Node: Execution Stack940068 -Node: Debugger Info941705 -Node: Miscellaneous Debugger Commands945776 -Node: Readline Support950838 -Node: Limitations951734 -Node: Debugging Summary954288 -Node: Namespaces955567 -Node: Global Namespace956678 -Node: Qualified Names958076 -Node: Default Namespace959075 -Node: Changing The Namespace959816 -Node: Naming Rules961430 -Node: Internal Name Management963278 -Node: Namespace Example964320 -Node: Namespace And Features966882 -Node: Namespace Summary968317 -Node: Arbitrary Precision Arithmetic969794 -Node: Computer Arithmetic971281 -Ref: table-numeric-ranges975047 -Ref: table-floating-point-ranges975540 -Ref: Computer Arithmetic-Footnote-1976198 -Node: Math Definitions976255 -Ref: table-ieee-formats979571 -Ref: Math Definitions-Footnote-1980174 -Node: MPFR features980279 -Node: FP Math Caution981997 -Ref: FP Math Caution-Footnote-1983069 -Node: Inexactness of computations983438 -Node: Inexact representation984398 -Node: Comparing FP Values985758 -Node: Errors accumulate986999 -Node: Getting Accuracy988432 -Node: Try To Round991142 -Node: Setting precision992041 -Ref: table-predefined-precision-strings992738 -Node: Setting the rounding mode994568 -Ref: table-gawk-rounding-modes994942 -Ref: Setting the rounding mode-Footnote-1998873 -Node: Arbitrary Precision Integers999052 -Ref: Arbitrary Precision Integers-Footnote-11002227 -Node: Checking for MPFR1002376 -Node: POSIX Floating Point Problems1003850 -Ref: POSIX Floating Point Problems-Footnote-11008135 -Node: Floating point summary1008173 -Node: Dynamic Extensions1010363 -Node: Extension Intro1011916 -Node: Plugin License1013182 -Node: Extension Mechanism Outline1013979 -Ref: figure-load-extension1014418 -Ref: figure-register-new-function1015983 -Ref: figure-call-new-function1017075 -Node: Extension API Description1019137 -Node: Extension API Functions Introduction1020850 -Ref: table-api-std-headers1022686 -Node: General Data Types1026935 -Ref: General Data Types-Footnote-11035565 -Node: Memory Allocation Functions1035864 -Ref: Memory Allocation Functions-Footnote-11040365 -Node: Constructor Functions1040464 -Node: API Ownership of MPFR and GMP Values1043930 -Node: Registration Functions1045243 -Node: Extension Functions1045943 -Node: Exit Callback Functions1051265 -Node: Extension Version String1052515 -Node: Input Parsers1053178 -Node: Output Wrappers1065899 -Node: Two-way processors1070411 -Node: Printing Messages1072676 -Ref: Printing Messages-Footnote-11073847 -Node: Updating ERRNO1074000 -Node: Requesting Values1074739 -Ref: table-value-types-returned1075476 -Node: Accessing Parameters1076412 -Node: Symbol Table Access1077649 -Node: Symbol table by name1078161 -Ref: Symbol table by name-Footnote-11081185 -Node: Symbol table by cookie1081313 -Ref: Symbol table by cookie-Footnote-11085498 -Node: Cached values1085562 -Ref: Cached values-Footnote-11089098 -Node: Array Manipulation1089251 -Ref: Array Manipulation-Footnote-11090342 -Node: Array Data Types1090379 -Ref: Array Data Types-Footnote-11093037 -Node: Array Functions1093129 -Node: Flattening Arrays1097627 -Node: Creating Arrays1104603 -Node: Redirection API1109370 -Node: Extension API Variables1112203 -Node: Extension Versioning1112914 -Ref: gawk-api-version1113343 -Node: Extension GMP/MPFR Versioning1115074 -Node: Extension API Informational Variables1116702 -Node: Extension API Boilerplate1117775 -Node: Changes from API V11121749 -Node: Finding Extensions1123321 -Node: Extension Example1123880 -Node: Internal File Description1124678 -Node: Internal File Ops1128758 -Ref: Internal File Ops-Footnote-11140108 -Node: Using Internal File Ops1140248 -Ref: Using Internal File Ops-Footnote-11142631 -Node: Extension Samples1142905 -Node: Extension Sample File Functions1144434 -Node: Extension Sample Fnmatch1152083 -Node: Extension Sample Fork1153570 -Node: Extension Sample Inplace1154788 -Node: Extension Sample Ord1158414 -Node: Extension Sample Readdir1159250 -Ref: table-readdir-file-types1160139 -Node: Extension Sample Revout1161206 -Node: Extension Sample Rev2way1161795 -Node: Extension Sample Read write array1162535 -Node: Extension Sample Readfile1164477 -Node: Extension Sample Time1165572 -Node: Extension Sample API Tests1167324 -Node: gawkextlib1167816 -Node: Extension summary1170734 -Node: Extension Exercises1174436 -Node: Language History1175678 -Node: V7/SVR3.11177334 -Node: SVR41179486 -Node: POSIX1180920 -Node: BTL1182301 -Node: POSIX/GNU1183030 -Node: Feature History1188808 -Node: Common Extensions1205127 -Node: Ranges and Locales1206410 -Ref: Ranges and Locales-Footnote-11211026 -Ref: Ranges and Locales-Footnote-21211053 -Ref: Ranges and Locales-Footnote-31211288 -Node: Contributors1211511 -Node: History summary1217508 -Node: Installation1218888 -Node: Gawk Distribution1219832 -Node: Getting1220316 -Node: Extracting1221279 -Node: Distribution contents1222917 -Node: Unix Installation1229397 -Node: Quick Installation1230079 -Node: Shell Startup Files1232493 -Node: Additional Configuration Options1233582 -Node: Configuration Philosophy1235897 -Node: Non-Unix Installation1238266 -Node: PC Installation1238726 -Node: PC Binary Installation1239564 -Node: PC Compiling1239999 -Node: PC Using1241116 -Node: Cygwin1244669 -Node: MSYS1245893 -Node: VMS Installation1246495 -Node: VMS Compilation1247286 -Ref: VMS Compilation-Footnote-11248515 -Node: VMS Dynamic Extensions1248573 -Node: VMS Installation Details1250258 -Node: VMS Running1252511 -Node: VMS GNV1256790 -Node: VMS Old Gawk1257525 -Node: Bugs1257996 -Node: Bug address1258659 -Node: Usenet1261641 -Node: Maintainers1262645 -Node: Other Versions1263830 -Node: Installation summary1270918 -Node: Notes1272127 -Node: Compatibility Mode1272921 -Node: Additions1273703 -Node: Accessing The Source1274628 -Node: Adding Code1276065 -Node: New Ports1282284 -Node: Derived Files1286659 -Ref: Derived Files-Footnote-11292319 -Ref: Derived Files-Footnote-21292354 -Ref: Derived Files-Footnote-31292952 -Node: Future Extensions1293066 -Node: Implementation Limitations1293724 -Node: Extension Design1294934 -Node: Old Extension Problems1296078 -Ref: Old Extension Problems-Footnote-11297596 -Node: Extension New Mechanism Goals1297653 -Ref: Extension New Mechanism Goals-Footnote-11301017 -Node: Extension Other Design Decisions1301206 -Node: Extension Future Growth1303319 -Node: Notes summary1303925 -Node: Basic Concepts1305083 -Node: Basic High Level1305764 -Ref: figure-general-flow1306046 -Ref: figure-process-flow1306731 -Ref: Basic High Level-Footnote-11310032 -Node: Basic Data Typing1310217 -Node: Glossary1313545 -Node: Copying1345430 -Node: GNU Free Documentation License1382973 -Node: Index1408093 +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 records209043 +Ref: gawk split records-Footnote-1213776 +Node: Fields213813 +Node: Nonconstant Fields216554 +Ref: Nonconstant Fields-Footnote-1218790 +Node: Changing Fields218994 +Node: Field Separators225025 +Node: Default Field Splitting227723 +Node: Regexp Field Splitting228841 +Node: Single Character Fields232194 +Node: Command Line Field Separator233254 +Node: Full Line Fields236472 +Ref: Full Line Fields-Footnote-1237994 +Ref: Full Line Fields-Footnote-2238040 +Node: Field Splitting Summary238141 +Node: Constant Size240215 +Node: Fixed width data240947 +Node: Skipping intervening244414 +Node: Allowing trailing data245212 +Node: Fields with fixed data246249 +Node: Splitting By Content247767 +Ref: Splitting By Content-Footnote-1251550 +Node: More CSV251713 +Node: Testing field creation253023 +Node: Multiple Line254648 +Node: Getline260925 +Node: Plain Getline263394 +Node: Getline/Variable265967 +Node: Getline/File267118 +Node: Getline/Variable/File268506 +Ref: Getline/Variable/File-Footnote-1270111 +Node: Getline/Pipe270199 +Node: Getline/Variable/Pipe272903 +Node: Getline/Coprocess274038 +Node: Getline/Variable/Coprocess275305 +Node: Getline Notes276047 +Node: Getline Summary278844 +Ref: table-getline-variants279268 +Node: Read Timeout280016 +Ref: Read Timeout-Footnote-1283922 +Node: Retrying Input283980 +Node: Command-line directories285179 +Node: Input Summary286085 +Node: Input Exercises289257 +Node: Printing289691 +Node: Print291525 +Node: Print Examples292982 +Node: Output Separators295762 +Node: OFMT297779 +Node: Printf299135 +Node: Basic Printf299920 +Node: Control Letters301494 +Node: Format Modifiers306656 +Node: Printf Examples312671 +Node: Redirection315157 +Node: Special FD321998 +Ref: Special FD-Footnote-1325166 +Node: Special Files325240 +Node: Other Inherited Files325857 +Node: Special Network326858 +Node: Special Caveats327718 +Node: Close Files And Pipes328667 +Ref: table-close-pipe-return-values335574 +Ref: Close Files And Pipes-Footnote-1336387 +Ref: Close Files And Pipes-Footnote-2336535 +Node: Nonfatal336687 +Node: Output Summary339025 +Node: Output Exercises340247 +Node: Expressions340926 +Node: Values342114 +Node: Constants342792 +Node: Scalar Constants343483 +Ref: Scalar Constants-Footnote-1345993 +Node: Nondecimal-numbers346243 +Node: Regexp Constants349244 +Node: Using Constant Regexps349770 +Node: Standard Regexp Constants350392 +Node: Strong Regexp Constants353580 +Node: Variables356592 +Node: Using Variables357249 +Node: Assignment Options359159 +Node: Conversion361630 +Node: Strings And Numbers362154 +Ref: Strings And Numbers-Footnote-1365217 +Node: Locale influences conversions365326 +Ref: table-locale-affects368084 +Node: All Operators368702 +Node: Arithmetic Ops369331 +Node: Concatenation372047 +Ref: Concatenation-Footnote-1374894 +Node: Assignment Ops375001 +Ref: table-assign-ops379992 +Node: Increment Ops381305 +Node: Truth Values and Conditions384765 +Node: Truth Values385839 +Node: Typing and Comparison386887 +Node: Variable Typing387707 +Ref: Variable Typing-Footnote-1394170 +Ref: Variable Typing-Footnote-2394242 +Node: Comparison Operators394319 +Ref: table-relational-ops394738 +Node: POSIX String Comparison398233 +Ref: POSIX String Comparison-Footnote-1399928 +Ref: POSIX String Comparison-Footnote-2400067 +Node: Boolean Ops400151 +Ref: Boolean Ops-Footnote-1404633 +Node: Conditional Exp404725 +Node: Function Calls406461 +Node: Precedence410338 +Node: Locales413997 +Node: Expressions Summary415629 +Node: Patterns and Actions418202 +Node: Pattern Overview419322 +Node: Regexp Patterns420999 +Node: Expression Patterns421541 +Node: Ranges425322 +Node: BEGIN/END428430 +Node: Using BEGIN/END429191 +Ref: Using BEGIN/END-Footnote-1431945 +Node: I/O And BEGIN/END432051 +Node: BEGINFILE/ENDFILE434364 +Node: Empty437595 +Node: Using Shell Variables437912 +Node: Action Overview440186 +Node: Statements442511 +Node: If Statement444359 +Node: While Statement445854 +Node: Do Statement447882 +Node: For Statement449030 +Node: Switch Statement452201 +Node: Break Statement454642 +Node: Continue Statement456734 +Node: Next Statement458561 +Node: Nextfile Statement460944 +Node: Exit Statement463633 +Node: Built-in Variables466036 +Node: User-modified467169 +Node: Auto-set474936 +Ref: Auto-set-Footnote-1491743 +Ref: Auto-set-Footnote-2491949 +Node: ARGC and ARGV492005 +Node: Pattern Action Summary496218 +Node: Arrays498648 +Node: Array Basics499977 +Node: Array Intro500821 +Ref: figure-array-elements502796 +Ref: Array Intro-Footnote-1505500 +Node: Reference to Elements505628 +Node: Assigning Elements508092 +Node: Array Example508583 +Node: Scanning an Array510342 +Node: Controlling Scanning513364 +Ref: Controlling Scanning-Footnote-1519820 +Node: Numeric Array Subscripts520136 +Node: Uninitialized Subscripts522320 +Node: Delete523939 +Ref: Delete-Footnote-1526691 +Node: Multidimensional526748 +Node: Multiscanning529843 +Node: Arrays of Arrays531434 +Node: Arrays Summary536202 +Node: Functions538295 +Node: Built-in539333 +Node: Calling Built-in540414 +Node: Numeric Functions542410 +Ref: Numeric Functions-Footnote-1546436 +Ref: Numeric Functions-Footnote-2547084 +Ref: Numeric Functions-Footnote-3547132 +Node: String Functions547404 +Ref: String Functions-Footnote-1571545 +Ref: String Functions-Footnote-2571673 +Ref: String Functions-Footnote-3571921 +Node: Gory Details572008 +Ref: table-sub-escapes573799 +Ref: table-sub-proposed575318 +Ref: table-posix-sub576681 +Ref: table-gensub-escapes578222 +Ref: Gory Details-Footnote-1579045 +Node: I/O Functions579199 +Ref: table-system-return-values585653 +Ref: I/O Functions-Footnote-1587733 +Ref: I/O Functions-Footnote-2587881 +Node: Time Functions588001 +Ref: Time Functions-Footnote-1598672 +Ref: Time Functions-Footnote-2598740 +Ref: Time Functions-Footnote-3598898 +Ref: Time Functions-Footnote-4599009 +Ref: Time Functions-Footnote-5599121 +Ref: Time Functions-Footnote-6599348 +Node: Bitwise Functions599614 +Ref: table-bitwise-ops600208 +Ref: Bitwise Functions-Footnote-1606271 +Ref: Bitwise Functions-Footnote-2606444 +Node: Type Functions606635 +Node: I18N Functions609498 +Node: User-defined611149 +Node: Definition Syntax611961 +Ref: Definition Syntax-Footnote-1617655 +Node: Function Example617726 +Ref: Function Example-Footnote-1620648 +Node: Function Calling620670 +Node: Calling A Function621258 +Node: Variable Scope622216 +Node: Pass By Value/Reference625210 +Node: Function Caveats627854 +Ref: Function Caveats-Footnote-1629901 +Node: Return Statement630021 +Node: Dynamic Typing633000 +Node: Indirect Calls633930 +Ref: Indirect Calls-Footnote-1644182 +Node: Functions Summary644310 +Node: Library Functions647015 +Ref: Library Functions-Footnote-1650622 +Ref: Library Functions-Footnote-2650765 +Node: Library Names650936 +Ref: Library Names-Footnote-1654603 +Ref: Library Names-Footnote-2654826 +Node: General Functions654912 +Node: Strtonum Function656015 +Node: Assert Function659037 +Node: Round Function662363 +Node: Cliff Random Function663903 +Node: Ordinal Functions664919 +Ref: Ordinal Functions-Footnote-1667982 +Ref: Ordinal Functions-Footnote-2668234 +Node: Join Function668444 +Ref: Join Function-Footnote-1670214 +Node: Getlocaltime Function670414 +Node: Readfile Function674156 +Node: Shell Quoting676133 +Node: Data File Management677534 +Node: Filetrans Function678166 +Node: Rewind Function682262 +Node: File Checking684171 +Ref: File Checking-Footnote-1685505 +Node: Empty Files685706 +Node: Ignoring Assigns687685 +Node: Getopt Function689235 +Ref: Getopt Function-Footnote-1704446 +Node: Passwd Functions704646 +Ref: Passwd Functions-Footnote-1713485 +Node: Group Functions713573 +Ref: Group Functions-Footnote-1721471 +Node: Walking Arrays721678 +Node: Library Functions Summary724686 +Node: Library Exercises726092 +Node: Sample Programs726557 +Node: Running Examples727327 +Node: Clones728055 +Node: Cut Program729279 +Node: Egrep Program739419 +Node: Id Program748430 +Node: Split Program758377 +Ref: Split Program-Footnote-1768267 +Node: Tee Program768440 +Node: Uniq Program771230 +Node: Wc Program778818 +Node: Bytes vs. Characters779215 +Node: Using extensions780763 +Node: wc program781517 +Node: Miscellaneous Programs786382 +Node: Dupword Program787595 +Node: Alarm Program789625 +Node: Translate Program794480 +Ref: Translate Program-Footnote-1799045 +Node: Labels Program799315 +Ref: Labels Program-Footnote-1802666 +Node: Word Sorting802750 +Node: History Sorting806822 +Node: Extract Program809047 +Node: Simple Sed817101 +Node: Igawk Program820175 +Ref: Igawk Program-Footnote-1834506 +Ref: Igawk Program-Footnote-2834708 +Ref: Igawk Program-Footnote-3834830 +Node: Anagram Program834945 +Node: Signature Program838007 +Node: Programs Summary839254 +Node: Programs Exercises840468 +Ref: Programs Exercises-Footnote-1844598 +Node: Advanced Features844684 +Node: Nondecimal Data846751 +Node: Array Sorting848342 +Node: Controlling Array Traversal849042 +Ref: Controlling Array Traversal-Footnote-1857410 +Node: Array Sorting Functions857528 +Ref: Array Sorting Functions-Footnote-1862619 +Node: Two-way I/O862815 +Ref: Two-way I/O-Footnote-1870536 +Ref: Two-way I/O-Footnote-2870723 +Node: TCP/IP Networking870805 +Node: Profiling873923 +Node: Extension Philosophy883232 +Node: Advanced Features Summary884683 +Node: Internationalization886682 +Node: I18N and L10N888162 +Node: Explaining gettext888849 +Ref: Explaining gettext-Footnote-1894741 +Ref: Explaining gettext-Footnote-2894926 +Node: Programmer i18n895091 +Ref: Programmer i18n-Footnote-1900040 +Node: Translator i18n900089 +Node: String Extraction900883 +Ref: String Extraction-Footnote-1902015 +Node: Printf Ordering902101 +Ref: Printf Ordering-Footnote-1904887 +Node: I18N Portability904951 +Ref: I18N Portability-Footnote-1907407 +Node: I18N Example907470 +Ref: I18N Example-Footnote-1910745 +Ref: I18N Example-Footnote-2910818 +Node: Gawk I18N910927 +Node: I18N Summary911576 +Node: Debugger912917 +Node: Debugging913917 +Node: Debugging Concepts914358 +Node: Debugging Terms916167 +Node: Awk Debugging918742 +Ref: Awk Debugging-Footnote-1919687 +Node: Sample Debugging Session919819 +Node: Debugger Invocation920353 +Node: Finding The Bug921739 +Node: List of Debugger Commands928213 +Node: Breakpoint Control929546 +Node: Debugger Execution Control933240 +Node: Viewing And Changing Data936602 +Node: Execution Stack940143 +Node: Debugger Info941780 +Node: Miscellaneous Debugger Commands945851 +Node: Readline Support950913 +Node: Limitations951809 +Node: Debugging Summary954363 +Node: Namespaces955642 +Node: Global Namespace956753 +Node: Qualified Names958151 +Node: Default Namespace959150 +Node: Changing The Namespace959891 +Node: Naming Rules961505 +Node: Internal Name Management963353 +Node: Namespace Example964395 +Node: Namespace And Features966957 +Node: Namespace Summary968392 +Node: Arbitrary Precision Arithmetic969869 +Node: Computer Arithmetic971356 +Ref: table-numeric-ranges975122 +Ref: table-floating-point-ranges975615 +Ref: Computer Arithmetic-Footnote-1976273 +Node: Math Definitions976330 +Ref: table-ieee-formats979306 +Node: MPFR features979873 +Node: FP Math Caution981591 +Ref: FP Math Caution-Footnote-1982663 +Node: Inexactness of computations983032 +Node: Inexact representation984063 +Node: Comparing FP Values985423 +Node: Errors accumulate986664 +Node: Strange values988120 +Ref: Strange values-Footnote-1990708 +Node: Getting Accuracy990813 +Node: Try To Round993523 +Node: Setting precision994422 +Ref: table-predefined-precision-strings995119 +Node: Setting the rounding mode996949 +Ref: table-gawk-rounding-modes997323 +Ref: Setting the rounding mode-Footnote-11001254 +Node: Arbitrary Precision Integers1001433 +Ref: Arbitrary Precision Integers-Footnote-11004608 +Node: Checking for MPFR1004757 +Node: POSIX Floating Point Problems1006231 +Ref: POSIX Floating Point Problems-Footnote-11010516 +Node: Floating point summary1010554 +Node: Dynamic Extensions1012744 +Node: Extension Intro1014297 +Node: Plugin License1015563 +Node: Extension Mechanism Outline1016360 +Ref: figure-load-extension1016799 +Ref: figure-register-new-function1018364 +Ref: figure-call-new-function1019456 +Node: Extension API Description1021518 +Node: Extension API Functions Introduction1023231 +Ref: table-api-std-headers1025067 +Node: General Data Types1029316 +Ref: General Data Types-Footnote-11037946 +Node: Memory Allocation Functions1038245 +Ref: Memory Allocation Functions-Footnote-11042746 +Node: Constructor Functions1042845 +Node: API Ownership of MPFR and GMP Values1046311 +Node: Registration Functions1047624 +Node: Extension Functions1048324 +Node: Exit Callback Functions1053646 +Node: Extension Version String1054896 +Node: Input Parsers1055559 +Node: Output Wrappers1068280 +Node: Two-way processors1072792 +Node: Printing Messages1075057 +Ref: Printing Messages-Footnote-11076228 +Node: Updating ERRNO1076381 +Node: Requesting Values1077120 +Ref: table-value-types-returned1077857 +Node: Accessing Parameters1078793 +Node: Symbol Table Access1080030 +Node: Symbol table by name1080542 +Ref: Symbol table by name-Footnote-11083566 +Node: Symbol table by cookie1083694 +Ref: Symbol table by cookie-Footnote-11087879 +Node: Cached values1087943 +Ref: Cached values-Footnote-11091479 +Node: Array Manipulation1091632 +Ref: Array Manipulation-Footnote-11092723 +Node: Array Data Types1092760 +Ref: Array Data Types-Footnote-11095418 +Node: Array Functions1095510 +Node: Flattening Arrays1100008 +Node: Creating Arrays1106984 +Node: Redirection API1111751 +Node: Extension API Variables1114584 +Node: Extension Versioning1115295 +Ref: gawk-api-version1115724 +Node: Extension GMP/MPFR Versioning1117455 +Node: Extension API Informational Variables1119083 +Node: Extension API Boilerplate1120156 +Node: Changes from API V11124130 +Node: Finding Extensions1125702 +Node: Extension Example1126261 +Node: Internal File Description1127059 +Node: Internal File Ops1131139 +Ref: Internal File Ops-Footnote-11142489 +Node: Using Internal File Ops1142629 +Ref: Using Internal File Ops-Footnote-11145012 +Node: Extension Samples1145286 +Node: Extension Sample File Functions1146815 +Node: Extension Sample Fnmatch1154464 +Node: Extension Sample Fork1155951 +Node: Extension Sample Inplace1157169 +Node: Extension Sample Ord1160795 +Node: Extension Sample Readdir1161631 +Ref: table-readdir-file-types1162520 +Node: Extension Sample Revout1163587 +Node: Extension Sample Rev2way1164176 +Node: Extension Sample Read write array1164916 +Node: Extension Sample Readfile1166858 +Node: Extension Sample Time1167953 +Node: Extension Sample API Tests1169705 +Node: gawkextlib1170197 +Node: Extension summary1173115 +Node: Extension Exercises1176817 +Node: Language History1178059 +Node: V7/SVR3.11179715 +Node: SVR41181867 +Node: POSIX1183301 +Node: BTL1184682 +Node: POSIX/GNU1185411 +Node: Feature History1191189 +Node: Common Extensions1207508 +Node: Ranges and Locales1208791 +Ref: Ranges and Locales-Footnote-11213407 +Ref: Ranges and Locales-Footnote-21213434 +Ref: Ranges and Locales-Footnote-31213669 +Node: Contributors1213892 +Node: History summary1219889 +Node: Installation1221269 +Node: Gawk Distribution1222213 +Node: Getting1222697 +Node: Extracting1223660 +Node: Distribution contents1225298 +Node: Unix Installation1231778 +Node: Quick Installation1232460 +Node: Shell Startup Files1234874 +Node: Additional Configuration Options1235963 +Node: Configuration Philosophy1238278 +Node: Non-Unix Installation1240647 +Node: PC Installation1241107 +Node: PC Binary Installation1241945 +Node: PC Compiling1242380 +Node: PC Using1243497 +Node: Cygwin1247050 +Node: MSYS1248274 +Node: VMS Installation1248876 +Node: VMS Compilation1249667 +Ref: VMS Compilation-Footnote-11250896 +Node: VMS Dynamic Extensions1250954 +Node: VMS Installation Details1252639 +Node: VMS Running1254892 +Node: VMS GNV1259171 +Node: VMS Old Gawk1259906 +Node: Bugs1260377 +Node: Bug address1261040 +Node: Usenet1264022 +Node: Maintainers1265026 +Node: Other Versions1266211 +Node: Installation summary1273299 +Node: Notes1274508 +Node: Compatibility Mode1275302 +Node: Additions1276084 +Node: Accessing The Source1277009 +Node: Adding Code1278446 +Node: New Ports1284665 +Node: Derived Files1289040 +Ref: Derived Files-Footnote-11294700 +Ref: Derived Files-Footnote-21294735 +Ref: Derived Files-Footnote-31295333 +Node: Future Extensions1295447 +Node: Implementation Limitations1296105 +Node: Extension Design1297315 +Node: Old Extension Problems1298459 +Ref: Old Extension Problems-Footnote-11299977 +Node: Extension New Mechanism Goals1300034 +Ref: Extension New Mechanism Goals-Footnote-11303398 +Node: Extension Other Design Decisions1303587 +Node: Extension Future Growth1305700 +Node: Notes summary1306306 +Node: Basic Concepts1307464 +Node: Basic High Level1308145 +Ref: figure-general-flow1308427 +Ref: figure-process-flow1309112 +Ref: Basic High Level-Footnote-11312413 +Node: Basic Data Typing1312598 +Node: Glossary1315926 +Node: Copying1347811 +Node: GNU Free Documentation License1385354 +Node: Index1410474 End Tag Table |