perm filename SAIL.PGX[DOC,AIL] blob sn#261593 filedate 1977-02-08 generic text, type T, neo UTF8
/LMAR=0/XLINE=3/FONT#0=BDR30/FONT#1=BDR40/FONT#2=BDR30/FONT#3=LPT<CR><LF>
<FF>
<COLUMN=260><FONT=0>Sail<SP>Addendum<COLUMN=1374>New<SP>Features<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0><COLUMN=794><FONT=1>SECTION<SP><SP>1<FONT=0><CR><LF>
<CR><LF>
<COLUMN=260><FONT=0><COLUMN=786><FONT=1>New<SP>Features<FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>This<SP>section<SP>describes<SP>changes<SP>and
  <SP>additions<SP>to<SP>Sail<SP>since<SP>the<SP>August<SP>1976<SP>manual,
  <SP>AIM-289.<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>1.1<SP>-<SP><FONT=1>Double<SP>Precision<FONT=0>
  <CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>Double<COL INC 23>precision<COL INC 22>floating-point
  <COL INC 23>arithmetic<COL INC 22>is<COL INC 23>available.
  <COL INC 22><SP>Use<COL INC 23>the<COL INC 22><<type_qualifier>>
  <COL INC 23>LONG<COL INC 22>in<CR><LF>
<COLUMN=260><FONT=0>declarations.<SP><SP>For<SP>example,<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>LONG<SP>REAL<SP>X,
  <SP>Y,<SP>Z;<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>LONG<SP>REAL<SP>ARRAY
  <SP>XA[0:N];<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>Currently<COL INC 12>LONG<COL INC 11>has
  <COL INC 12>meaning<COL INC 11>only<COL INC 12>when<COL INC 11>it
  <COL INC 12>appears<COL INC 11>as<COL INC 12>part<COL INC 11>of
  <COL INC 12>LONG<COL INC 11>REAL.<COL INC 12><SP>(At<COL INC 11>some
  <COL INC 12>future<COL INC 11>time<CR><LF>
<COLUMN=260><FONT=0>LONG<SP>INTEGERs<SP>may<SP>also<SP>exist.)<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>The<COL INC 14>runtime<COL INC 15>routines
  <COL INC 14>LREALIN<COL INC 15>and<COL INC 14>LREALSCAN<COL INC 14>operate
  <COL INC 15>the<COL INC 14>same<COL INC 15>as<COL INC 14>REALIN
  <COL INC 15>and<COL INC 14>REALSCAN,<CR><LF>
<COLUMN=260><FONT=0>except<COL INC 16>for<COL INC 17>returning
  <COL INC 16>LONG<COL INC 17>REAL<COL INC 16>values.<COL INC 17><SP>The
  <COL INC 16>routine<COL INC 16>CVEL<COL INC 17>takes<COL INC 16>a
  <COL INC 17>LONG<COL INC 16>REAL<COL INC 17>value<COL INC 16>and<CR><LF>
<COLUMN=260><FONT=0>returns<COL INC 11>a<COL INC 12>string
  <COL INC 11>representation<COL INC 12>like<COL INC 11>that
  <COL INC 12>of<COL INC 11>CVE,<COL INC 11>except<COL INC 12>that
  <COL INC 11>"@@"<COL INC 12>is<COL INC 11>used<COL INC 12>to
  <COL INC 11>signify<COL INC 12>LONG<COL INC 11>when<CR><LF>
<COLUMN=260><FONT=0>delimiting<COL INC 15>the<COL INC 15>exponent.
  <COL INC 15><SP>Any<COL INC 15>of<COL INC 15>"@",<COL INC 15>"@@",
  <COL INC 15>"E",<COL INC 15>or<COL INC 15>"D"<COL INC 15>are
  <COL INC 15>acceptable<COL INC 15>exponent<COL INC 15>delimiters
  <COL INC 14>to<CR><LF>
<COLUMN=260><FONT=0>LREALIN<SP>and<SP>LREALSCAN.<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>Variables<COL INC 19>which<COL INC 20>are
  <COL INC 19>declared<COL INC 19>LONG<COL INC 20>REAL<COL INC 19>are
  <COL INC 19>represented<COL INC 20>in<COL INC 19>KI10<COL INC 19>hardware
  <COL INC 20>format<COL INC 19>double<CR><LF>
<COLUMN=260><FONT=0>precision,<COL INC 12>take<COL INC 12>two
  <COL INC 12>consecutive<COL INC 12>words<COL INC 12>of<COL INC 12>storage,
  <COL INC 12>and<COL INC 12>provide<COL INC 12>62<COL INC 12>bits
  <COL INC 12>of<COL INC 12>precision<COL INC 12>(approximately<CR><LF>
<COLUMN=260><FONT=0>18<COL INC 19>decimal<COL INC 19>digits)
  <COL INC 19>to<COL INC 19>represent<COL INC 19>the<COL INC 19>fraction
  <COL INC 19>part<COL INC 19>of<COL INC 19>a<COL INC 19>floating-point
  <COL INC 19>number.<COL INC 19><SP>Regular<COL INC 19>REAL<CR><LF>
<COLUMN=260><FONT=0>variables<COL INC 16>occupy<COL INC 16>a
  <COL INC 16>single<COL INC 16>word<COL INC 15>and<COL INC 16>have
  <COL INC 16>27<COL INC 16>bits<COL INC 16>(8<COL INC 15>decimal
  <COL INC 16>digits)<COL INC 16>of<COL INC 16>precision.<COL INC 16>
  <SP>The<COL INC 15>exponent<CR><LF>
<COLUMN=260><FONT=0>range<COL INC 12>of<COL INC 12>both<COL INC 12>REAL
  <COL INC 11>and<COL INC 12>LONG<COL INC 12>REAL<COL INC 12>variables
  <COL INC 11>is<COL INC 12>from<COL INC 12>-128<COL INC 12>to
  <COL INC 11>127,<COL INC 12>where<COL INC 12>2↑127<COL INC 12>is
  <COL INC 11>approximately<CR><LF>
<COLUMN=260><FONT=0>10↑38.<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>LONG<COL INC 19>REAL<COL INC 19>is<COL INC 20>a
  <COL INC 19>dominant<COL INC 19>type<COL INC 20>in<COL INC 19>arithmetic
  <COL INC 19>operations<COL INC 20>+-*/%↑<COL INC 19>MAX<COL INC 19>MIN
  <COL INC 20>and<COL INC 19>arithmetic<CR><LF>
<COLUMN=260><FONT=0>relationals<COL INC 17><<>>=≠≤≥.<COL INC 16><SP>If
  <COL INC 17>one<COL INC 16>operand<COL INC 17>is<COL INC 17>LONG
  <COL INC 16>REAL<COL INC 17>then<COL INC 16>both<COL INC 17>operands
  <COL INC 16>will<COL INC 17>be<COL INC 17>converted<COL INC 16>to<CR><LF>
<COLUMN=260><FONT=0>LONG<COL INC 11>REAL<COL INC 11>(if<COL INC 11>necessary)
  <COL INC 11>before<COL INC 11>performing<COL INC 11>the<COL INC 11>operation.
  <COL INC 11><SP>An<COL INC 11>exponentiation<COL INC 11>involving
  <COL INC 11>a<COL INC 11>LONG<CR><LF>
<COLUMN=260><FONT=0>REAL<COL INC 11>raised<COL INC 11>to<COL INC 11>a
  <COL INC 11>positive<COL INC 11>integer<COL INC 11>constant
  <COL INC 11>is<COL INC 12>an<COL INC 11>exception<COL INC 11>to
  <COL INC 11>this<COL INC 11>rule.<COL INC 11><SP>The<COL INC 11>type
  <COL INC 11>coercion<COL INC 12>path<COL INC 11>is<CR><LF>
<COLUMN=260><FONT=0>linear:<COL INC 12><SP>STRING<COL INC 12>↔
  <COL INC 12>INTEGER<COL INC 12>↔<COL INC 12>REAL<COL INC 12>↔
  <COL INC 12>LONG<COL INC 12>REAL.<COL INC 12><SP>Conversion
  <COL INC 12>from<COL INC 12>REAL<COL INC 12>to<COL INC 12>LONG
  <COL INC 13>REAL<COL INC 12>is<CR><LF>
<COLUMN=260><FONT=0>performed<COL INC 13>by<COL INC 13>assigning
  <COL INC 13>the<COL INC 13>(only)<COL INC 14>word<COL INC 13>of
  <COL INC 13>the<COL INC 13>REAL<COL INC 13>to<COL INC 14>the
  <COL INC 13>most<COL INC 13>significant<COL INC 13>word<COL INC 13>of
  <COL INC 14>the<COL INC 13>LONG<CR><LF>
<COLUMN=260><FONT=0>REAL<COL INC 15>and<COL INC 14>setting
  <COL INC 15>the<COL INC 15>second<COL INC 14>(least<COL INC 15>significant)
  <COL INC 15>word<COL INC 14>of<COL INC 15>the<COL INC 15>LONG
  <COL INC 14>REAL<COL INC 15>to<COL INC 15>zero.<COL INC 14><SP>Conversion
  <CR><LF>
<COLUMN=260><FONT=0>from<SP>LONG<SP>REAL<SP>to<SP>REAL<SP>is<SP>by
  <SP>UUO<SP>which<SP>rounds.<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>Arithmetic<COL INC 16>and<COL INC 16>assignment
  <COL INC 16>operations<COL INC 16>are<COL INC 16>compiled<COL INC 16>into
  <COL INC 16>DFAD,<COL INC 16>DFSB,<COL INC 16>DFMP,<COL INC 16>DFDV,
  <COL INC 15>DMOVE,<CR><LF>
<COLUMN=260><FONT=0>DMOVEM<COL INC 20>instructions.<COL INC 21><SP>The
  <COL INC 20>Sail<COL INC 20>operations<COL INC 21>ASH,<COL INC 20>LSH,
  <COL INC 20>ROT,<COL INC 21>LAND,<COL INC 20>LOR,<COL INC 20>EQV,
  <COL INC 21>XOR<COL INC 20>are<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0><COLUMN=901>1<COLUMN=1556><CR><LF>
<FF>
<COLUMN=260><FONT=0>Sail<SP>Addendum<COLUMN=1374>New<SP>Features<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>performed<COL INC 13>on<COL INC 14>both
  <COL INC 13>words<COL INC 13>(ASHC,<COL INC 14>LSHC,<COL INC 13>ROTC,
  <COL INC 13>2<COL INC 14>ANDs,<COL INC 13>2<COL INC 13>IORs,
  <COL INC 14>etc.).<COL INC 13><SP>LOCATION<COL INC 13>of<COL INC 14>a
  <COL INC 13>LONG<CR><LF>
<COLUMN=260><FONT=0>REAL<COL INC 17>variable<COL INC 17>gives
  <COL INC 17>an<COL INC 17>address<COL INC 17>E<COL INC 17>such
  <COL INC 16>that<COL INC 17>DMOVE<COL INC 17>AC,E<COL INC 17>fetches
  <COL INC 17>the<COL INC 17>appropriate<COL INC 17>words<COL INC 16>of
  <CR><LF>
<COLUMN=260><FONT=0>memory.<COL INC 12><SP>When<COL INC 13>passed
  <COL INC 12>by<COL INC 13>value<COL INC 12>as<COL INC 13>an
  <COL INC 12>actual<COL INC 12>parameter<COL INC 13>to<COL INC 12>a
  <COL INC 13>procedure,<COL INC 12>both<COL INC 13>words<COL INC 12>are
  <COL INC 13>placed<COL INC 12>on<CR><LF>
<COLUMN=260><FONT=0>the<COL INC 14>P<COL INC 15>stack:<COL INC 14>
  <SP>PUSH<COL INC 15>P,X<COL INC 14>↔<COL INC 15>PUSH<COL INC 14>P,X+1.
  <COL INC 14><SP>LONG<COL INC 15>REAL<COL INC 14>fields<COL INC 15>in
  <COL INC 14>record<COL INC 15>classes<COL INC 14>are<COL INC 15>handled
  <COL INC 14>much<CR><LF>
<COLUMN=260><FONT=0>like<COL INC 14>STRING<COL INC 14>fields,
  <COL INC 13>except<COL INC 14>that<COL INC 14>the<COL INC 13>address
  <COL INC 14>in<COL INC 14>the<COL INC 13>record<COL INC 14>field
  <COL INC 14>points<COL INC 13>to<COL INC 14>the<COL INC 14>first
  <COL INC 13>word<COL INC 14>of<COL INC 14>a<COL INC 13>2-<CR><LF>
<COLUMN=260><FONT=0>word<SP>block<SP>(rather<SP>than<SP>to<SP>the<SP>second
  <SP>word<SP>as<SP>in<SP>the<SP>case<SP>with<SP>STRINGs).<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>LONG<COL INC 11>REAL<COL INC 11>ARRAYs
  <COL INC 11>are<COL INC 12>stored<COL INC 11>as<COL INC 11>contiguous
  <COL INC 11>blocks<COL INC 11>of<COL INC 12>2-word<COL INC 11>values.
  <COL INC 11><SP>ARRTRAN<COL INC 11>done<COL INC 12>on<COL INC 11>two
  <CR><LF>
<COLUMN=260><FONT=0>LONG<COL INC 17>REAL<COL INC 17>arrays
  <COL INC 17>is<COL INC 17>a<COL INC 17>transparent<COL INC 17>operation,
  <COL INC 17>but<COL INC 17>for<COL INC 17>ARRYIN,<COL INC 17>ARRYOUT,
  <COL INC 17>or<COL INC 17>ARRBLT<COL INC 17>the<CR><LF>
<COLUMN=260><FONT=0>actual<COL INC 15>word<COL INC 15>count
  <COL INC 15>is<COL INC 15>specified;<COL INC 15>think<COL INC 15>about
  <COL INC 15>whether<COL INC 15>you<COL INC 15>should<COL INC 15>multiply
  <COL INC 15>by<COL INC 15>2!<COL INC 15><SP>At<COL INC 15>runtime
  <COL INC 15>the<CR><LF>
<COLUMN=260><FONT=0>array<COL INC 13>descriptor<COL INC 12>for
  <COL INC 13>a<COL INC 12>LONG<COL INC 13>ARRAY<COL INC 12>has
  <COL INC 13>bit<COL INC 12>12<COL INC 13>(40,,0<COL INC 12>bit)
  <COL INC 13>set<COL INC 12>in<COL INC 13>MULT(n),<COL INC 12>the
  <COL INC 13>multiplier<COL INC 13>for<COL INC 12>the<CR><LF>
<COLUMN=260><FONT=0>last<COL INC 13>dimension<COL INC 13>(which
  <COL INC 13>would<COL INC 13>otherwise<COL INC 13>be<COL INC 13>=1).
  <COL INC 13><SP>Similarly,<COL INC 13>a<COL INC 13>LONG<COL INC 13>ARRAY
  <COL INC 13>is<COL INC 13>allocated<COL INC 13>by<COL INC 13>setting
  <CR><LF>
<COLUMN=260><FONT=0>bit<SP>12<SP>(40,,0)<SP>bit<SP>in<SP>the<SP>parameter
  <SP>which<SP>specifies<SP>the<SP>number<SP>of<SP>dimensions<SP>to<SP>ARMAK.
  <CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>Runtime<COL INC 18>support<COL INC 17>for
  <COL INC 18>LEAP<COL INC 17>items<COL INC 18>with<COL INC 17>LONG
  <COL INC 18>REAL<COL INC 17>datums<COL INC 18>does<COL INC 17>not
  <COL INC 18>yet<COL INC 17>exist,<COL INC 18>although<COL INC 17>the
  <CR><LF>
<COLUMN=260><FONT=0>compiler<COL INC 12>does<COL INC 11>generate
  <COL INC 12>suitable<COL INC 11>code.<COL INC 12><SP>Runtime
  <COL INC 12>support<COL INC 11>for<COL INC 12>double<COL INC 11>precision
  <COL INC 12>exponentiation<COL INC 12>is<COL INC 11>also<CR><LF>
<COLUMN=260><FONT=0>limited<COL INC 18>for<COL INC 18>the<COL INC 19>moment.
  <COL INC 18><SP>Any<COL INC 18>exponentiation<COL INC 19>X↑K
  <COL INC 18>where<COL INC 18>K<COL INC 18>is<COL INC 19>a<COL INC 18>positive
  <COL INC 18>integer<COL INC 19>constant<COL INC 18>is<CR><LF>
<COLUMN=260><FONT=0>compiled<COL INC 14>inline<COL INC 13>using
  <COL INC 14>the<COL INC 14>binary<COL INC 13>("Russian<COL INC 14>peasant")
  <COL INC 14>method,<COL INC 13>regardless<COL INC 14>of<COL INC 14>the
  <COL INC 13>type<COL INC 14>of<COL INC 14>X.<COL INC 13><SP>Other<CR><LF>
<COLUMN=260><FONT=0>exponentiations<SP>involving<SP>LONG<SP>REALs<SP>are
  <SP>merely<SP>translated<SP>into<SP>procedure<SP>calls<SP>on<CR><LF>
<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>LONG<SP>REAL<SP>PROCEDURE
  <SP>DPOW<SP>(INTEGER<SP>EXPONENT;<SP>LONG<SP>REAL<SP>BASE);<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>LONG<SP>REAL<SP>PROCEDURE
  <SP>DLOGS<SP>(LONG<SP>REAL<SP>EXPONENT,<SP>BASE);<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>depending<COL INC 17>on<COL INC 17>the
  <COL INC 18>type<COL INC 17>of<COL INC 17>the<COL INC 17>exponent.
  <COL INC 18><SP>The<COL INC 17>Sail<COL INC 17>runtime<COL INC 17>system
  <COL INC 18>does<COL INC 17>not<COL INC 17>yet<COL INC 18>contain
  <COL INC 17>such<CR><LF>
<COLUMN=260><FONT=0>procedures,<SP>so<SP>you<SP>will<SP>have<SP>to
  <SP>roll<SP>your<SP>own.<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>1.2<SP>-<SP><FONT=1>Declarations<SP>and<SP>Scope
  <FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>Sail<COL INC 14>declarations<COL INC 13>must
  <COL INC 14>occur<COL INC 13>before<COL INC 14>use.<COL INC 13><SP>For
  <COL INC 14>example,<COL INC 13>in<COL INC 14>the<COL INC 13>following
  <COL INC 14>program<COL INC 13>the<COL INC 14>argument<COL INC 13>to
  <CR><LF>
<COLUMN=260><FONT=0>PRINT<COL INC 13>is<COL INC 13>interpreted
  <COL INC 12>as<COL INC 13>the<COL INC 13>K<COL INC 12>on<COL INC 13>line
  <COL INC 13>2,<COL INC 12>even<COL INC 13>though<COL INC 13>by
  <COL INC 12>the<COL INC 13>ALGOL60<COL INC 13>notion<COL INC 12>of
  <COL INC 13>scope<COL INC 13>it<COL INC 12>should<CR><LF>
<COLUMN=260><FONT=0>be<SP>interpreted<SP>as<SP>the<SP>K<SP>on<SP>line
  <SP>5.<CR><LF>
<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>BEGIN<SP>"FOO"
  <CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>INTEGER<SP>K;<SP>
  <SP><SP><SP><SP><SP>COMMENT<SP>this<SP>is<SP>line<SP>2;<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>BEGIN<SP>"RUB"
  <CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>PROCEDURE
  <SP>BAR;<SP>BEGIN<SP>PRINT(K)<SP>END;<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>INTEGER
  <SP>K;<SP><SP><SP><SP>COMMENT<SP>this<SP>is<SP>line<SP>5;<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><<statements>>
  <CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>END<SP>"RUB"
  <CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>END<SP>"FOO"<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0><COLUMN=901>2<COLUMN=1556><CR><LF>
<FF>
<COLUMN=260><FONT=0>Sail<SP>Addendum<COLUMN=1374>New<SP>Features<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>1.3<SP>-<SP><FONT=1>Two-character<SP>Operators
  <FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>The<SP>compiler<SP>now<SP>recognizes<SP>"**"<SP>for
  <SP>"↑",<SP>":="<SP>for<SP>"←",<SP>"<<="<SP>for<SP>"≤",<SP>and<SP>">>="
  <SP>for<SP>"≥".<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>1.4<SP>-<SP><FONT=1>Requires<FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>REQUIRE<COL INC 18>OVERLAP_OK;<COL INC 19>will
  <COL INC 18>suppress<COL INC 19>the<COL INC 18>message<COL INC 19>which
  <COL INC 18>occurs<COL INC 19>at<COL INC 18>initialization
  <COL INC 19>when<COL INC 18>two<CR><LF>
<COLUMN=260><FONT=0>programs<SP>have<SP>declared<SP>items.<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>REQUIRE<COL INC 16>VERIFY_DATUMS;<COL INC 16>causes
  <COL INC 16>the<COL INC 16>compiler<COL INC 16>to<COL INC 16>generate
  <COL INC 16>three<COL INC 16>additional<COL INC 16>instructions
  <COL INC 15>for<CR><LF>
<COLUMN=260><FONT=0>each<COL INC 12>DATUM<COL INC 12>reference,
  <COL INC 12>to<COL INC 13>make<COL INC 12>sure<COL INC 12>(dynamically,
  <COL INC 12>at<COL INC 13>run<COL INC 12>time)<COL INC 12>that
  <COL INC 12>the<COL INC 13>type<COL INC 12>of<COL INC 12>the
  <COL INC 12>item<COL INC 13>in<COL INC 12>the<CR><LF>
<COLUMN=260><FONT=0>DATUM<COL INC 15>construct<COL INC 14>is
  <COL INC 15>the<COL INC 15>same<COL INC 14>as<COL INC 15>the
  <COL INC 15>compiler<COL INC 14>expected.<COL INC 15><SP>This
  <COL INC 15>is<COL INC 14>similar<COL INC 15>to<COL INC 15>(the
  <COL INC 14>unimplimented<CR><LF>
<COLUMN=260><FONT=0>effect<COL INC 14>of)<COL INC 14>declaring
  <COL INC 13>all<COL INC 14>itemvars<COL INC 14>CHECKED.<COL INC 14>
  <SP>It<COL INC 13>is<COL INC 14>planned<COL INC 14>that<COL INC 13>VERIFY_DATUMS
  <COL INC 14>will<COL INC 14>soon<COL INC 14>be<COL INC 13>a<CR><LF>
<COLUMN=260><FONT=0>bit<SP>in<SP>the<SP>/A<SP>switch<SP>and<SP>that
  <SP>the<SP>corresponding<SP>REQUIRE<SP>will<SP>disappear.<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>REQUIRE<COL INC 19>PROCESSES;<COL INC 18>insures
  <COL INC 19>that<COL INC 18>MAINPR,<COL INC 19>the<COL INC 19>main
  <COL INC 18>process,<COL INC 19>is<COL INC 18>initialized.
  <COL INC 19><SP>You<COL INC 19>need<COL INC 18>not<CR><LF>
<COLUMN=260><FONT=0>specify<COL INC 16>this<COL INC 16>REQUIRE
  <COL INC 16>if<COL INC 16>you<COL INC 16>use<COL INC 16>APPLY
  <COL INC 16>or<COL INC 15>SPROUT,<COL INC 16>but<COL INC 16>if
  <COL INC 16>the<COL INC 16>only<COL INC 16>use<COL INC 16>of
  <COL INC 16>processes<COL INC 16>is<COL INC 15>via<CR><LF>
<COLUMN=260><FONT=0>INTSET<SP>then<SP>you<SP>must<SP>REQUIRE<SP>PROCESSES;.
  <CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>1.5<SP>-<SP><FONT=1>CASE<SP>statement<FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>In<COL INC 16>an<COL INC 16>explicitly
  <COL INC 16>numbered<COL INC 15>CASE<COL INC 16>statement<COL INC 16>the
  <COL INC 16>word<COL INC 16>ELSE<COL INC 15>can<COL INC 16>appear
  <COL INC 16>where<COL INC 16>a<COL INC 16>bracketed<COL INC 15>case
  <CR><LF>
<COLUMN=260><FONT=0>number<COL INC 14>is<COL INC 14>normally
  <COL INC 14>used.<COL INC 14><SP>The<COL INC 14>statement<COL INC 14>following
  <COL INC 14>the<COL INC 14>ELSE<COL INC 14>is<COL INC 14>a
  <COL INC 14>catch-all<COL INC 14>for<COL INC 14>any<COL INC 15>case
  <COL INC 14>number<CR><LF>
<COLUMN=260><FONT=0>not<COL INC 18>mentioned,<COL INC 17>including
  <COL INC 18>anything<COL INC 17>which<COL INC 18>would<COL INC 18>otherwise
  <COL INC 17>generate<COL INC 18>a<COL INC 17>CASE<COL INC 18>index
  <COL INC 18>error.<COL INC 17><SP>For<CR><LF>
<COLUMN=260><FONT=0>example,<CR><LF>
<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>CASE<SP>K<SP>OF
  <SP>BEGIN<SP>[3]<SP>J←3;<SP>ELSE<SP>J←4;<SP>[5]<SP>J←5<SP>END<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>is<SP>another<SP>way<SP>of<SP>accomplishing<CR><LF>
<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP>IF<SP>K=3<SP>THEN<SP>J←3<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>ELSE<SP>IF<SP>K=5
  <SP>THEN<SP>J←5<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>ELSE<SP>J←4<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>A<COL INC 17>CASE<COL INC 18>statement
  <COL INC 17>containing<COL INC 18>an<COL INC 17>ELSE<COL INC 18>case
  <COL INC 17>does<COL INC 18>not<COL INC 17>generate<COL INC 18>a
  <COL INC 17>call<COL INC 18>to<COL INC 17>the<COL INC 18>CSERR
  <COL INC 17>runtime<CR><LF>
<COLUMN=260><FONT=0>routine,<COL INC 11>and<COL INC 11>in<COL INC 11>addition
  <COL INC 11>the<COL INC 11>jump<COL INC 11>table<COL INC 12>usually
  <COL INC 11>contains<COL INC 11>only<COL INC 11>max_case<COL INC 11>-
  <COL INC 11>min_case<COL INC 11>+1<COL INC 12>words<COL INC 11>(rather
  <CR><LF>
<COLUMN=260><FONT=0>than<SP>max_case<SP>+1).<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0><COLUMN=901>3<COLUMN=1556><CR><LF>
<FF>
<COLUMN=260><FONT=0>Sail<SP>Addendum<COLUMN=1374>New<SP>Features<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>1.6<SP>-<SP><FONT=1>Circular<SP>RECORD_CLASSes
  <FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>To<COL INC 15>define<COL INC 15>two<COL INC 14>record
  <COL INC 15>classes,<COL INC 15>both<COL INC 14>of<COL INC 15>which
  <COL INC 15>contain<COL INC 14>RECORD_POINTER<COL INC 15>fields
  <COL INC 15>refering<COL INC 15>to<COL INC 14>the<CR><LF>
<COLUMN=260><FONT=0>other<SP>class,<SP>say<CR><LF>
<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>FORWARD<SP>RECORD_CLASS
  <SP>BAR<SP>(RECORD_POINTER<SP>(ANY_CLASS)<SP>Q2);<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>RECORD_CLASS<SP>FOO
  <SP>(RECORD_POINTER<SP>(BAR)<SP>Q1);<CR><LF>
<COLUMN=260><FONT=2><SP><SP><SP><SP><SP><SP><SP><SP>RECORD_CLASS<SP>BAR
  <SP>(RECORD_POINTER<SP>(FOO)<SP>Q2);<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>In<COL INC 13>general,<COL INC 14>declare
  <COL INC 13>one<COL INC 13>class<COL INC 14>to<COL INC 13>be
  <COL INC 13>FORWARD<COL INC 14>and<COL INC 13>list<COL INC 13>its
  <COL INC 14>RECORD_POINTER<COL INC 13>fields<COL INC 14>as
  <COL INC 13>pointers<CR><LF>
<COLUMN=260><FONT=0>to<SP>ANY_CLASS.<SP><SP>This<SP>breaks<SP>the<SP>circularity
  <SP>and<SP>allows<SP>maximum<SP>compile-time<SP>type<SP>checking.<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0><COLUMN=901>4<COLUMN=1556><CR><LF>
<FF>
<COLUMN=260><FONT=0>Sail<SP>Addendum<COLUMN=1265>Documentation<SP>Errors
  <CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0><COLUMN=794><FONT=1>SECTION<SP><SP>2<FONT=0><CR><LF>
<CR><LF>
<COLUMN=260><FONT=0><COLUMN=711><FONT=1>Documentation<SP>Errors
  <FONT=0><CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>This<SP>is<SP>a<SP>list<SP>of<SP>known<SP>bugs
  <SP>in<SP>the<SP>August<SP>1976<SP>Sail<SP>manual,<SP>AIM-289.<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>PAGE<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP>DESCRIPTION<CR><LF>
<COLUMN=260><FONT=0>abstr.<SP><SP>"varaiables"<SP>is<SP>a<SP>misspelling
  <SP><SP><SP>[JFR<SP>10-22-76]<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>iiiL<SP><SP><SP><SP>no<SP>period<SP>after<SP>LEAP
  <SP>(line<SP>6<SP>of<SP>paragraph)<SP><SP><SP><SP><SP><SP>[LES<SP>10-22-76]
  <CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>162L<SP><SP><SP><SP>"i.e"<SP>in<SP>the<SP>line
  <SP>"2.<SP>Recursive<SP>entry"<SP><SP>[JFR<SP>10-23-76]<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>1R<SP><SP><SP><SP><SP><SP>"Nauer"<SP>for<SP>"Naur"
  <SP>(also<SP>References)<SP><SP><SP><SP>[JFR<SP>11-2-76]<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>22L,26L<SP>"disjunct"<SP>→<SP>"conjunct"<SP><SP>
  <SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>[JMC<SP>11-12-76]
  <CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>31L<SP><SP><SP><SP><SP>line<SP>-9<SP>"its"<SP>→
  <SP>"it's"<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP><SP>[JMC<SP>11-12-76]<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>162R<SP><SP><SP><SP>The<SP>word<SP>PDA+'13<SP>contains
  <SP>something<SP>other<SP>than<SP>indicated.<CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>The<SP>parameter
  <SP>descriptor<SP>words<SP>actually<SP>start<SP>at<SP>PDA+'14,<CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>but<SP>the<SP>way
  <SP>to<SP>find<SP>them<SP>is<SP>to<SP>follow<SP>the<SP>pointer<SP>in
  <CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>the<SP>right<SP>half
  <SP>of<SP>PDA+7.<SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP><SP>
  <SP><SP><SP>[JFR<SP>12-9-76]<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>9L<SP><SP><SP><SP><SP><SP>Another<SP>restriction
  <SP>on<SP>SIMPLE<SP>procedures:<SP>They<SP>should<SP>not<SP>do<CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>up-level<SP>addressing
  <SP>themselves<SP>(in<SP>addition<SP>to<SP>point<SP>4.)<SP>unless<CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>the<SP>user<SP>really
  <SP>understands<SP>what<SP>is<SP>going<SP>on<SP>with<SP>the<SP>stack.
  <CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>It<SP>is<SP>possible
  <SP>to<SP>"screw<SP>up"<SP>without<SP>complaints<SP>from<SP>the<SP>compiler.
  <CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>SIMPLE<SP>ought
  <SP>to<SP>mean<SP>"I<SP>know<SP>what<SP>I<SP>am<SP>doing,<SP>so<SP>let
  <SP>me<SP>do<SP>it.".<CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>[JFR/DON<SP>12-xx-76]
  <CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>56L<SP><SP><SP><SP><SP>CRLF="('15<SP>&<SP>'12)",
  <SP>not<SP>'12<SP>&<SP>'15<SP><SP><SP><SP><SP><SP><SP>[JFR<SP>1-15-77]
  <CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>10R<SP><SP><SP><SP><SP>It<SP>should<SP>be<SP>made
  <SP>clear<SP>that<SP><SP>LET<SP>A=B;<SP><SP>works<SP>even<SP>if<CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>A<SP>is<SP>a<SP>reserved
  <SP>word.<SP><SP>In<SP>particular,<SP>LET<SP>DEFINE=REDEFINE;<CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>Also<SP>note<SP>that
  <SP>B<SP>can<SP>be<SP>any<SP>reserved<CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>word<SP>except
  <SP>COMMENT.<SP>[COMMENT<SP>ALWAYS<SP>means<SP>"ignore<SP>through<CR><LF>
<COLUMN=260><FONT=0><SP><SP><SP><SP><SP><SP><SP><SP>the<SP>next<SP>semicolon".]
  <CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>4R<SP><SP><SP><SP><SP><SP>POLLING_POINTS<SP>is
  <SP>not<SP>a<SP>valid<SP><<require_spec>><SP><SP><SP><SP>[WFW<SP>1-21-77]
  <CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>50R<SP><SP><SP><SP><SP>In<SP>FILEINFO,<SP>hidate2
  <SP>occupies<SP>3<SP>bits<SP><SP><SP><SP>[JFR<SP>2-3-77]<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0>152L<SP><SP><SP><SP>CHNCDB<SP>and<SP>FILEINFO<SP>are
  <SP>defined<SP>everywhere<SP>except<SP>TENEX.<SP><SP>[JFR<SP>2-3-77]
  <CR><LF>
<CR><LF>
<CR><LF>
<COLUMN=260><FONT=0><COLUMN=901>5<COLUMN=1556><CR><LF>
<FF>