]> thyrsus.com Git - mad.git/commitdiff
Index up to "Regional Notation".
authorEric S. Raymond <esr@thyrsus,com>
Mon, 28 Jun 2004 21:12:31 +0000 (21:12 +0000)
committerEric S. Raymond <esr@thyrsus,com>
Mon, 28 Jun 2004 21:12:31 +0000 (21:12 +0000)
doc/mad-manual.xml

index 102542d07c0b958dc868aa2bdf68f52dae6303e5..98015c7e7049711bde781fda35584edd9bcc5421 100644 (file)
@@ -547,7 +547,9 @@ provided the algorithm is stated unambiguously and completely.</para>
 the largest number in a collection of n + 1 numbers A = {
 a<subscript>0</subscript>, a<subscript>1</subscript>,
 a<subscript>2</subscript>, ... a<subscript>n</subscript> } with n &ge;
-1.  A verbal description of the procedure (algorithm) might be:</para>
+1.  A verbal description of the
+procedure<indexterm><primary>Procedure</primary></indexterm>
+(algorithm) might be:</para>
 
 <procedure>
 <step>
@@ -1446,7 +1448,8 @@ conventions are used to allow deletion of parentheses.
 <indexterm><primary>Deletion of Parentheses</primary></indexterm> The
 conventions used here are the same as in ordinary algebra and logic,
 namely: Parentheses may be omitted, subject to the rules (A) and (B)
-below, but redundant parentheses are allowed.</para>
+below, but redundant parentheses are allowed.
+<indexterm><primary>Redyndant Parentheses</primary></indexterm></para>
 
 <para>(A) Within any expression the sequence of computation, unless
 otherwise indicated by parentheses, is:</para>
@@ -2392,7 +2395,8 @@ produced, allowing the operator to read the comment.
 <varlistentry>
 <term>(d) READ FORMAT &scriptF;, &scriptL;</term>
 <listitem>
-<para>Reads cards into &scriptL; according to format &scriptF;.</para>
+<para>Reads cards into &scriptL; according to format &scriptF;.
+<indexterm><primary>READ FORMAT Statement</primary></indexterm></para>
 </listitem>
 </varlistentry>
 <varlistentry>
@@ -2401,6 +2405,8 @@ produced, allowing the operator to read the comment.
 <listitem>
 <para>Transmits &scriptL; to or from tape &scriptN; in BCD form
 according to format &scriptF;.
+<indexterm><primary>READ BCD TAPE</primary></indexterm>
+<indexterm><primary>READ BINARY TAPE</primary></indexterm>
 </para>
 </listitem>
 </varlistentry>
@@ -2424,6 +2430,7 @@ record.</para>
 <listitem>
 <para>Transmits &scriptL; to or from drum &scriptN; starting with drum
 address &scriptA; (where &scriptA; is an integer expression).</para>
+<indexterm><primary>READ DRUM</primary></indexterm>
 </listitem>
 </varlistentry>
 <varlistentry>
@@ -3244,7 +3251,8 @@ computation) to the values</para>
         .
 </literallayout>
 
-<para>The lower bound of each subscript is assumed to be unity.</para>
+<para>The lower bound of each subscript is assumed to be unity.
+<indexterm><primary>Range of Scubscripts</primary></indexterm></para>
 
 <para>Thus, in the statement: DIMENSION XA(400, V), YT(300, K(3)) where V(0)
 = 2,V(1) = 6, v(2) = 13, K(3) = 3, K(4) = 4, K(5) = 8, and K(6) = 9, the
@@ -3366,6 +3374,8 @@ it.</para></note>
 </sect2>
 <sect2><title>PROGRAM COMMON Declaration</title>
 
+<indexterm><primary>PROGRAM COMMON</primary></indexterm>
+
 <para>This declaration has the form</para>
 
 <para role='centered'>
@@ -3476,8 +3486,9 @@ PROGRAM COMMON section of storage (see section 3.6) can be preset with
 <emphasis>numerical or alphabetical </emphasis> information only (not
 statement labels or function names) and then only if it is a single
 section program (i.e., storage is loaded with instructions only once)
-or, if it is a multiple section program, the PROGRAM COMMON region is
-identical in all sections of the program.</para>
+or, if it is a multiple section program, the PROGRAM
+COMMON<indexterm><primary>PROGRAM COMMON</primary></indexterm> region
+is identical in all sections of the program.</para>
 
 </sect2>
 <sect2 id='funcdefs'><title>Function Definitions</title>
@@ -3501,14 +3512,16 @@ that which is common to both types will follow in subsection <xref
 linkend='internal_and_external'/>.  Throughout this section a
 single-valued function will be called a "function", and a function
 with multiple outputs and/or multiple exits will be called a
-"procedure".  For the purposes of this manual a recursive function is
-one whose definition contains calls for the function being defined
-&dd; or calls for functions which ultimately call the one being
-defined.  Recursive functions have the same structure as other
-functions although, in general, they will include statements of the
-type described in <xref linkend='list_statements'/>, and certain
-considerations should be borne in mind when constructing such
-functions.  These considerations arise from the fact that<emphasis>
+"procedure".<indexterm><primary>Procedure</primary></indexterm> For
+the purposes of this manual a recursive function is one whose
+definition contains calls for the function being defined &dd; or calls
+for functions which ultimately call the one being defined.  
+<indexterm><primary>Recursive functions</primary></indexterm> Recursive
+functions have the same structure as other functions although, in
+general, they will include statements of the type described in <xref
+linkend='list_statements'/>, and certain considerations should be
+borne in mind when constructing such functions.  These considerations
+arise from the fact that<emphasis>
 names</emphasis><indexterm><primary>Name</primary></indexterm>,
 instead of values, are used as function arguments.  The problem is
 considered in more detail in the examples in Chapter III.</para>
@@ -3711,7 +3724,9 @@ EXECUTE STATEMENT (generally such functions have multiple outputs) the
 FUNCTION RETURN statement may appear without an accompanying
 expression.<indexterm><primary>Function Call</primary></indexterm></para>
 
-<para>An example of a definition for procedures is as follows:</para>
+<para>An example of a definition for
+procedures<indexterm><primary>Procedure</primary></indexterm> is as
+follows:</para>
 
 <indexterm><primary>EXTERNAL FUNCTION</primary></indexterm>
 
@@ -3824,6 +3839,7 @@ will never be executed, but must be present in the definition.</para>
 
 <para>Variable names appearing as <emphasis>dummy</emphasis> arguments
 in any function declaration may not appear in a PROGRAM COMMON,
+<indexterm><primary>PROGRAM COMMON</primary></indexterm>,
 ERASABLE<indexterm><primary>ERASABLE</primary></indexterm>, or
 EQUIVALENCE declaration.<indexterm><primary>Dummy
 Arguments</primary></indexterm><indexterm><primary>EQUIVALENCE
@@ -3847,6 +3863,8 @@ in Chapter 4).</para>
 <indexterm><primary>COMMNT Subroutine</primary></indexterm>
 <indexterm><primary>ERROR Subroutine</primary></indexterm>
 <indexterm><primary>PRINT Subroutine</primary></indexterm>
+<indexterm><primary>PUNCH Subroutine</primary></indexterm>
+<indexterm><primary>READ Subroutine</primary></indexterm>
 <!-- beginpage II.49 -->
 
 <para>If a block designation
@@ -4856,6 +4874,7 @@ compile this example.  The problem is the array I/O.</para></note>
 
 <indexterm><primary>Exammples, Recursive Functions</primary></indexterm>
 <indexterm><primary>Examples, Symbol Manipulation</primary></indexterm>
+<indexterm><primary>Rrcursive Functions</primary></indexterm>
 
 <para><emphasis>Problem:</emphasis> Find the first occurrence of an
 arbitrary word in a given text.</para>
@@ -5236,21 +5255,28 @@ subroutine.<indexterm><primary>PRINT Subroutine</primary></indexterm>
 read from tape.  The arguments are: (1) location of the format
 specification, (2) tape number, and (3) a list of variable to be read.
 The READ BCD TAPE . . . statement produces a call for this
-routine.</para></listitem>
+routine.
+<indexterm><primary>READ BCD TAPE</primary></indexterm>
+<indexterm><primary>READ BINARY TAPE</primary></indexterm>
+</para></listitem>
 </varlistentry>
 
 <varlistentry>
 <term>READ</term>
-<listitem><para>Similar to TAPERD above except that the use of tape 7 (the input tape) is implied.  The READ FORMAT . . . statement
-produces a call for this subroutine.</para></listitem>
+<listitem><para>Similar to TAPERD above except that the use of tape 7
+(the input tape) is implied.  The READ FORMAT . . . statement produces
+a call for this subroutine.  <indexterm><primary>READ
+Subroutine</primary></indexterm></para></listitem>
 </varlistentry>
 
 <varlistentry>
-<term>PUNCH</term>
-<listitem><para>Entry to this subroutine causes BCD information to be
-written on tape 5 (punch output type).
-The arguments are the same as PRINT and the PUNCH FORMAT
-. . . statement produces the call.</para></listitem>
+<term>PUNCH</term> <listitem><para>Entry to this subroutine causes BCD
+information to be written on tape 5 (punch output type).  The
+arguments are the same as PRINT and the PUNCH FORMAT . . . statement
+produces the call. <indexterm><primary>PUNCH
+Subroutine</primary></indexterm></para>
+<indexterm><primary>READ FORMAT Statement</primary></indexterm>
+</listitem>
 </varlistentry>
 
 <varlistentry>
@@ -6273,7 +6299,8 @@ example, if A is a 4 x 3 matrix (m = 4, n = 3) and b = 1, then V(1) =
 <indexterm><primary>OR WHENEVER Statement</primary><see>Conditional Statement</see></indexterm>
 <indexterm><primary>Parameters, Subroutine</primary><see>Subroutine Parameters</see></indexterm>
 <indexterm><primary>Precedence Hierarchy</primary><see>Parentheses</see></indexterm>
-
+<indexterm><primary>R (Column 11)</primary><see>Remark Declaration</see></indexterm>
+<indexterm><primary>Regional Notation</primary><see>Blocks, Input-Output</see></indexterm>
 
 <index/>
 </appendix>