Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap5_198111 - decus/20-0147/format.try
There are 2 other files named format.try in the archive. Click here to see a list.
.!This file contains some test cases for the  FORMAT  program.
.!The  results should be compared with those in the FORMAT.GET
.!file.  The first examples are  from  the  user  guide.   The
.!subsequent examples were developed during the writing of the
.!FORMAT program.
.PROGRAM;%CASE NOTATION EXAMPLE FROM MANUAL
.RESET.preface       WRITE(1,$)
.nofill.flags capitalize.output width 60.offset 0
\\^ONLY THE FIRST LETTER IN THIS LINE REMAINS UPPER CASE.
<THE FIRST WORD IN THIS LINE WILL BE CAPITALIZED.
^^^all but the first letter of this line remains lower case.
<the first word in this line will be capitalized.
Underscores precede _^, _\, _<, _# or __ which are kept.
.program;      END
.reset.PROGRAM;%.BEGIN EXAMPLE FROM MANUAL
.RESET.spacing 2.output width 55
.begin 10,10;.preface       WRITE(1,$)
.insert I2
.insert F2
The quick red fox jumps $$ feet over the lazy brown dog
.begin
The quick red fox jumps $$ feet over the lazy brown dog
.skip;.begin +100.preface       WRITE(1,$)
.insert I2
.insert F2
.insert A2
The quick red fox jumps $$ feet over the lazy brown dog
.format,5
The quick red fox jumps $$ feet over the lazy brown dog
.skip;.format
The quick red fox jumps $$ feet over the lazy brown dog
.reset.PROGRAM;%.BLANK EXAMPLE FROM MANUAL
.RESET.spacing 2.output width 55
.blank
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.blank
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.blank 2
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.blank 3
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.reset.PROGRAM;%.BREAK EXAMPLE FROM MANUAL
.RESET.output width 55.spacing 2
one 
two three 
.break
four five six 
seven eight nine ten
.break
eleven twelve thirteen fourteen fifteen 
sixteen seventeen eighteen nineteen twenty twenty-one
.reset.PROGRAM;%.CARRIAGE EXAMPLE FROM MANUAL
.RESET.spacing 2.right margin 54.output width 55.paragraph
.carriage 1*.preface       WRITE(1,$)
This is the first line in the demonstration of the
insertion of the carriage control character.
.eject.carriage 1#.paragraph
This is the second line in the demonstration of the
insertion of the carriage control character.
.eject.carriage 1.paragraph
This is the third line in the demonstration of the
insertion of the carriage control character.
.eject.no carriage.paragraph
This is the fourth line in the demonstration of the
insertion of the carriage control character.
.eject.program;      END
.reset.PROGRAM;%.CENTER EXAMPLE FROM MANUAL
.RESET.OFFSET 0;.OUTPUT WIDTH 55;.PREFACE       WRITE(1,$)
1234567890123456789012345678901234567890123456789012345
.LEFT MARGIN 14;.RIGHT MARGIN 34
The quick red fox jumps over the lazy brown dog
.CENTER 0;CENTER   0
.CENTER 52;CENTER  52
.CENTER -4;CENTER  -4
.CENTER;CENTER   #
.CENTER;CENTER
.CENTER;    CENTER
.CENTER +12;CENTER +12
.CENTER 76;CENTER  76
.LEFT MARGIN 30;.RIGHT MARGIN 50;.CENTER 0
CENTER   0
The quick red fox jumps over the lazy brown dog
.LEFT MARGIN 0
1234567890123456789012345678901234567890123456789012345
.PROGRAM;      END
.reset.PROGRAM;%.COPY EXAMPLE FROM MANUAL
.RESET.insert 5H01234
.insert 5H56789
.insert 6H111111
.insert 6H222222
.insert 6HPUBLIC
.insert 6HSECRET
.preface       WRITE(1,$)
.offset 2.copy 29,1.output width 55.carriage 1,*
************************
.left margin 2.right margin 22
.mask *                      *
.skip.center 0;Corporation: $$$$$
.center 0;       Firm: $$$$$
.skip;To gain initial access to the computer, you will
use the numbers $$$$$$ and $$$$$$ and password $$$$$$.
To run the programs, you will use the  password $$$$$$.
.skip.left margin 0;************************
.program;      END
.reset.PROGRAM;%.EJECT EXAMPLE FROM MANUAL
.RESET;one
.skip 2
.carriage *,*
two
.skip 2
.eject
.carriage @,@
three
.reset.PROGRAM;%.FILL EXAMPLE FROM MANUAL
.RESET.FILL.OFFSET 0.RIGHT MARGIN 55.OUTPUT WIDTH 55
.PREFACE       WRITE(1,$)
     The                    FILL                command
        indicates           that                each
           line             of               text
              represented   in             the
                 FORMAT     statements   is
                    to      be    filled
.NO JUSTIFY;           with the  next
                    words   which appear
                 in         the      source
              text          until          the
           following        word            would
.NOFILL;extend              beyond               the
     current                right               margin.
.PROGRAM;      END
.reset.PROGRAM;%.FLAGS ALL EXAMPLE FROM MANUAL
.RESET.OUTPUT WIDTH 55.RIGHT MARGIN 55.OFFSET 0.NOFILL
.UPPERCASE.INSERT 3^^H\\THE
.FORMAT.PREFACE       \\WRITE(1,$)
\\^THE QUICK#_RED <FOX JUMPS OVER $$$ LAZY _BROWN <DOG.
.PROGRAM
\\^THE QUICK#_RED <FOX JUMPS OVER $$$ LAZY _BROWN <DOG.
.NO FLAGS
.FORMAT.FLAGS CAPITALIZE.UPPER CASE.INSERT 3^^H\\THE
\\^THE QUICK#_RED <FOX JUMPS OVER $$$ LAZY _BROWN <DOG.
.PROGRAM.PREFACE       \\WRITE(1,$)
\\^THE QUICK#_RED <FOX JUMPS OVER $$$ LAZY _BROWN <DOG.
.FLAGS
.UPPER CASE.FORMAT
\\^THE QUICK#_RED <FOX JUMPS OVER $$$ LAZY _BROWN <DOG.
.PROGRAM
\\^THE QUICK#_RED <FOX JUMPS OVER $$$ LAZY _BROWN <DOG.
.reset.PROGRAM;%.FLAGS CAPITALIZE EXAMPLE FROM MANUAL
.RESET.nofill.offset 0.out width 55.preface       WRITE(1,$)
.flag capitalize
^^UPPER lower <Le^S^s\T\han<UPPERlower UPPER lower
UPPER lower <Le^S^s\T\han UPPER lower
UPPER lower <Le^S^s\T\han
UPPER lower
.fcap %
\\UPPER lower %Le^S^s\T\han%UPPER*lower UPPER lower
UPPER lower %Le^S^s\T\han UPPER lower
UPPER lower %Le^S^s\T\han
UPPER lower
.no flag
^^UPPER lower %Le^S^s\T\han%UPPERlower UPPER lower
\\UPPER lower %Le^S^s\T\han%UPPER*lower UPPER lower
.flag
^^UPPER lower %Le^S^s\T\han%UPPERlower UPPER lower
\\UPPER lower %Le^S^s\T\han%UPPER*lower UPPER lower
.no flag capitalize
^^UPPER lower %Le^S^s\T\han%UPPERlower UPPER lower
\\UPPER lower %Le^S^s\T\han%UPPER*lower UPPER lower
.program;      END
.reset.PROGRAM;%.FLAGS CONTROL EXAMPLE FROM MANUAL
.RESET.flag control *.this is the first line
*output width 55;and this is the second line.
*flag control =;=preface       WRITE(1,$)
=reset;.PROGRAM;%.FLAGS FENCE EXAMPLE FROM MANUAL
.RESET.flag fence @!a comment;.indent 5@This text is to be
.output width 55@represented in the FORMAT statement.
.reset.PROGRAM;%.FLAGS INSERT EXAMPLE FROM MANUAL
.RESET.flags insert @.output width 55.program 100,10
.insert 1I8
.insert 1A8
.preface       WRITE(1$2,@)
^^C     NEXT FORMAT STATEMENT IS @.
.format;\\^MAXIMUM AMOUNT OF LOAN IS $@@@@@@@@.
.flags insert $.program
^^C     NEXT FORMAT STATEMENT IS $.
.format;\\^MAXIMUM AMOUNT OF LOAN IS _$$$$$$$$$.
.no flags.program
^^C     NEXT FORMAT STATEMENT IS $.
.format;\\^MAXIMUM AMOUNT OF LOAN IS _$$$$$$$$$.
.reset.PROGRAM;%.FLAGS LOWER CASE EXAMPLE FROM MANUAL
.RESET.flag capitalize.nofill.output width 55
\\\T\H\I\S \l\i\n\e WILL be ^^\A\L\L \l\o\w\e\r case
^^^t^h^i^s ^L^I^N^E WILL <be \\^A^L^L ^u^p^p^e^r <CASE
.flag lower case -.flag upper case +.flag capitalize @
---T-H-I-S -l-i-n-e WILL be ++-A-L-L -l-o-w-e-r case
+++t+h+i+s +L+I+N+E WILL @be --+A+L+L +u+p+p+e+r @CASE
.reset.PROGRAM;%.FLAGS QUOTE EXAMPLE FROM MANUAL
.RESET.flags quote *.left margin 3.output width 55
Some typical flag characters are
.indent -3
*###the number sign
.indent -3
*^##the circumflex
.indent -3
*\##the back slash
.indent -3
*$##the dollar sign
.indent -3
_##the underscore
.reset.PROGRAM;%.FLAGS REMARK EXAMPLE FROM MANUAL
.RESET.!.indent 5!command which has been commented out
.flags capitalize!comment separating commands;.offset 0
.preface one<two!three four
FIRST LINE
.format! 2\\back slashes;.preface five<six;seven eight
.!capitalization stops at end of <comment;SECOND LINE
.flag remark @!at sign inactive;.begin@ 2^^circumflexes
.preface nine<ten.eleven twelve
THIRD LINE
.reset.PROGRAM;%.FLAGS SPACE EXAMPLE FROM MANUAL
.RESET.output width 55
.insert 10Hthe   _####
.insert 10Hthe   *###
.preface ######write(1_#2,$)
This   demonstrates   $space###holding   character.
.flags space *.break
This   demonstrates   $space***holding   character.
.reset.PROGRAM;%.FLAGS UPPER CASE EXAMPLE FROM MANUAL
.RESET.flag capitalize.nofill.output width 55
.upper case
^this \F\O\L\L\O\W\S \a\n .UPPER <case command.
.lower case
^THIS \F\O\L\L\O\W\S a .^L^O^W^E^R <case command.
^^^this \F\O\L\L\O\W\S \t\w\o CIRCUM<flex characters.
\\^THIS \F\O\L\L\O\W\S two ^B^A^C^K <slash characters.
.flag lower case -.flag upper case+.flag capitalize @
+++this -F-O-L-L-O-W-S -t-w-o PLUS @sign characters.
--+THIS -F-O-L-L-O-W-S two +M+I+N+U+S @sign characters.
.reset.PROGRAM;%.FORMAT EXAMPLE FROM MANUAL
.RESET.preface       WRITE(1,$)
.format 10,5   ;This is a message in FORMAT 10
.program       ;C     FORMAT statement $ follows
.format,20     ;This is a message in FORMAT 15
.format        ;This is a message in FORMAT 35
.program 100-10;C     FORMAT statement $ follows
.format        ;This is a message in FORMAT 100
.format        ;This is a message in FORMAT 90
.reset.PROGRAM;%.INDENT EXAMPLE FROM MANUAL
.RESET.offset 0.left margin 0.right margin 55.output width 55
.indent 5.preface       WRITE(1,$)
The flag characters which are listed below are
deactivated by the .NO FLAGS command.
.left margin 5
.indent -3
_$##(dollar sign) or whatever character has been
selected by a .FLAGS INSERT command.
.indent -3
_###(number sign) or whatever character has been
selected by a .FLAGS SPACE command.
.PROGRAM;      END
.reset.PROGRAM;%.INPUT WIDTH EXAMPLE FROM MANUAL
.RESET.input width 5.begin 10
12345This is not read
.iw+5This is not read
1234567890This is not read
.INWID 60
.reset.PROGRAM;%.INSERT EXAMPLE FROM MANUAL
.RESET.program 10
      DATA KOUNT,IDAY,IYEAR/12345,12,80/
      DATA IMONTH/3HJan/
      WRITE(1,$)KOUNT,IDAY,IMONTH,IYEAR
.insert 1I5
.insert 1I2,1H-,1A3,1H-,1I2
.format.output width 55
$$$$$ items were produced on $$$$$$$$$.
.program
      END
.reset.PROGRAM;%.JUSTIFY EXAMPLE FROM MANUAL
.RESET.output width 55.right margin 55.offset 0
.no justify.preface       WRITE(1,$)
The .JUSTIFY and the .NO JUSTIFY commands do not
apply to text which is within the range of .NO FILL
commands  and does not apply to the text which is
within the range of the .PROGRAM command.
.justify.skip
The .JUSTIFY and the .NO JUSTIFY commands do not
apply to text which is within the range of .NO FILL
commands  and does not apply to the text which is
within the range of the .PROGRAM command.
.nofill.skip
The .JUSTIFY and the .NO JUSTIFY commands do not
apply to text which is within the range of .NO FILL
commands  and does not apply to the text which is
within the range of the .PROGRAM command.
.program;      END
.reset.PROGRAM;%.LEADING EXAMPLE FROM MANUAL
.RESET.spacing 2.output width 55.skip
The quick red fox jumps over the lazy brown dog, then
runs into the forest
.begin.leading.skip
The quick red fox jumps over the lazy brown dog, then
runs into the forest
.begin.trailing.skip
The quick red fox jumps over the lazy brown dog, then
runs into the forest
.begin.no leading.skip
The quick red fox jumps over the lazy brown dog, then
runs into the forest
.reset.PROGRAM;%.LEFT MARGIN EXAMPLE FROM MANUAL
.RESET.preface       WRITE(1,$)
.output width 55;Default left margin and default offset
.left margin 10 ;Left margin 10 obtained as .lm 10
.left margin -5 ;Left margin 5 obtained as .lm-5
.left margin -5 ;Left margin 0 obtained as .lm-5
.left margin -5 ;Left margin -5 which is treated as 0
.left margin +5 ;Left margin 0 obtained as .lm+5
.left margin +5 ;Left margin 5 obtained as .lm+5
.offset 6       ;Unchanged left margin and offset 6
.left margin 10 ;Left margin 10 obtained as .lm 10
.left margin -5 ;Left margin 5 obtained as .lm-5
.left margin -5 ;Left margin 0 obtained as .lm-5
.left margin -5 ;Left margin -5 which is treated as 0
.left margin +5 ;Left margin 0 obtained as .lm+5
.left margin +5 ;Left margin 5 obtained as .lm+5
.program ;      END
.reset.PROGRAM;%.LENGTH EXAMPLE FROM MANUAL
.RESET.offset 0.output width 55.length 3
.preface       WRITE(1,$)
The FORMAT command indicates that no additional text
is to be represented by the FORMAT statement currently
being constructed and that the text appearing in
subsequent lines in the source file is to be
.length 10
represented in a new FORMAT statement. The preface
line, if any, indicated by a previous PREFACE command
will be written into the output before this next FORMAT
.length 3
statement. All unused output field descriptions
previously specified by INSERT commands will still be
available.
.reset.PROGRAM;%.LOWER CASE EXAMPLE FROM MANUAL
.RESET.nofill.output width 55.preface       WRITE(1,$)
.noflags.flags capitalize;noflags
  UPPER lower U^P\P_ER l^o\w_er
  U<PPER l<ower U<PPE<R l<owe<r <U^P\P_ER <l^o\w_er
.lower case.flags;lower case
  UPPER lower U^P\P_ER l^o\w_er
  U<PPER l<ower U<PPE<R l<owe<r <U^P\P_ER <l^o\w_er
.upper case;upper case
  UPPER lower U^P\P_ER l^o\w_er
  U<PPER l<ower U<PPE<R l<owe<r <U^P\P_ER <l^o\w_er
.program;      END
.reset.PROGRAM;%.MASK EXAMPLE FROM MANUAL
.RESET.left margin 2.right margin 13.preface       WRITE(1,$)
.carriage 1.offset 5.copy 17,2.mask *             *
.indent -1.output width 55;=============
.insert 3Hhow
.insert 5H.MASK
.insert 3Hand
.insert 5H.COPY
.skip;This shows $$$ $$$$$ $$$ $$$$$ commands work.
.skip.indent -1;=============
.break.no mask.no copy.skip;Not in range of either.
.program;      END
.reset.PROGRAM;%.NO CARRIAGE EXAMPLE FROM MANUAL
.RESET.carriage 1,*.right margin 54.output width 55
.preface       WRITE(1,$)
The .NO CARRIAGE command terminates the generation of
the carriage control character specified by the
previous .CARRIAGE command.
.break.no carriage
The .NO CARRIAGE command terminates the generation of
the carriage control character specified by the
previous .CARRIAGE command.
.program;      END
.reset.PROGRAM;%.NO COPY EXAMPLE FROM MANUAL
.RESET.right margin 20.copy 25,1.carriage 1,*.offset 3
.output width 55.preface       WRITE(1,$)
The .NO COPY command terminates the range of the
previous .COPY command.
.no copy
Both the .COPY command and the .NO COPY command imply
a .BREAK command
.program;      END
.reset.PROGRAM;%.NO FILL EXAMPLE FROM MANUAL
.RESET.output width 55.right margin 55.offset 0
.nofill.preface       WRITE(1,$)
  The .NO FILL        command is       not   equivalent
  to  the combination of      a        .FILL command
  and a   .NO         JUSTIFY command.
.fill
  The .NO FILL        command is       not   equivalent
  to  the combination of      a        .FILL command
  and a   .NO         JUSTIFY command.
.no   justify
  The .NO FILL        command is       not   equivalent
  to  the combination of      a        .FILL command
  and a   .NO         JUSTIFY command.
.program;      END
.reset.PROGRAM;%.NO INSERT EXAMPLE FROM MANUAL
.RESET.output width 55
.insert 7Hcommand
.insert 6Hgroups
.insert 3Hthe
The .NO INSERT $$$$$$$ discards $$$$$$ of characters
which were defined by $$$ .INSERT command, but which
.no insert
remain unused.
.reset.PROGRAM;%.NO JUSTIFY EXAMPLE FROM MANUAL
.RESET.no justify.output width 55.right margin 55
.offset 0.preface       WRITE(1,$)
Lines    of    text   which     are    constructed
   in  fill   mode,     but without justification,
 have   the   words wrapped  around          until
  the  next    word   would  extend         beyond
  the right margin,     but     the          lines
  are   not      of uniform length. 
.program;      END
.reset.PROGRAM;%.NO LEADING EXAMPLE FROM MANUAL
.RESET.leading.paragraph.output width 55
Leading blank lines requested by .PARAGRAPH commands
are generated within the range of a .LEADING command
.begin.skip
Leading blank lines requested by .SKIP commands are
generated within the range of a .LEADING command
.begin.no leading.paragraph
Leading blank lines requested by .PARAGRAPH commands
are discarded within the range of a .NO LEADING command
.begin.skip
Leading blank lines requested by .SKIP commands are 
discarded within the range of a .NO LEADING command
.reset.PROGRAM;%.NO MASK EXAMPLE FROM MANUAL
.RESET.output width 55.preface       WRITE(1,$)
.left margin 5.right margin 45.carriage 1,*
.mask  @                                              @
The .NO MASK command terminates the range of the
previous .MASK command.
.mask  %                                              %
The .NO MASK command has no effect if a .MASK command
has not been issued.
.nomask.program;      END
.reset.PROGRAM;%.NO OFFSET EXAMPLE FROM MANUAL
.RESET.offset 1.indent 5.right margin 50.output width 55
.preface       WRITE(1,$)
The default .OFFSET 1 command provides an empty column 
for the carriage control character.
.no offset.indent 5;The .NO OFFSET command prevents the
generation of this empty column.
.program;      END
.reset.PROGRAM;%.NO PREFACE EXAMPLE FROM MANUAL
.RESET.preface       WRITE(1,$)
This is the first line
.format
This is the second line
.format.no preface
This is the third line
.reset.PROGRAM;%.NO TRAILING EXAMPLE FROM MANUAL
.RESET.no trailing.spacing 1
This is the first line
.skip.begin.spacing 2
This is the second line
.begin.trailing.spacing 1
This is the third line
.skip.begin.spacing 2
This is the fourth line
.reset.PROGRAM;%.OFFSET EXAMPLE FROM MANUAL
.RESET.left margin 5.right margin 44.output width 55
.preface       WRITE(1,$)
.mask @                                               @
.offset 1.indent 5.carriage 1,*
The offset specified by the .OFFSET command is in 
addition to that specified by the .LEFT MARGIN
and .INDENT or .PARAGRAPH commands.
.offset 6.indent 5.carriage 1,*
The offset specified by the .OFFSET command is in 
addition to that specified by the .LEFT MARGIN
and .INDENT or .PARAGRAPH commands.
.program;      END
.reset.PROGRAM;%.OUTPUT WIDTH EXAMPLE FROM MANUAL
.RESET.output width 35
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.output width 45
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.output width 55
.reset.PROGRAM;%.PARAGRAPH EXAMPLE FROM MANUAL
.RESET.output width 55.left margin 5.right margin 54
.carriage 1,*.paragraph.preface       WRITE(1,$)
This line is at the start of the source and will only
be indented.
.spacing 2.paragraph 10
(spacing-1)-(negative argument) = (1-1)-(-1) = 1 blank 
line since the default .SPACING 1 command was in effect
at the end of the previous line.
.paragraph
(2-1)-(-1) = 2 blank lines precede this paragraph since
the .SPACING 2 command was in effect at the end of the 
previous line.
.paragraph -5,2
(spacing-1)+(spacing*(positive argument)) = (2-1)+(2*2)
= 5 lines precede this paragraph.
.program;      END
.reset.PROGRAM;%.PREFACE EXAMPLE FROM MANUAL
.RESET.length 2.output width 55.right margin 30.
.preface       IF(KONTRL.EQ.1)WRITE(1,$$$)
The .PREFACE command allows several FORMAT statements 
representing a single section of text to be used under 
the same conditions.
.reset.PROGRAM;%.PROGRAM EXAMPLE FROM MANUAL
.RESET.spacing 2.output width 55.offset 0
.begin 10,10   ;Statement ten
.program       ;Next statement will be number $$$.
.format        ;Statement twenty
.program+5,100 ;Next statement will be number $$.
.trail         !blank lines will now end statements
_.Underscore before initial period and dollar sign _$.
.format        ;Statement twenty-five
.program       ;Next statement will be number $.
.format        ;Statement one hundred and twenty-five
.reset.PROGRAM;%.RIGHT MARGIN EXAMPLE FROM MANUAL
.RESET.output width 55.carriage 1,*.preface       WRITE(1,$)
.left margin 5.right margin 30.indent 5
The .RIGHT MARGIN command implies a .BREAK command.
.right margin 40.indent -5
The .RIGHT MARGIN command applies only to text which is
constructed in fill mode.
.nofill;The right margin is ignored in no fill mode.
.program;      END
.reset.PROGRAM;%.SKIP EXAMPLE FROM MANUAL
.RESET.spacing 2.output width 55
.skip
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.skip
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.skip 2
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.skip 3
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.reset.PROGRAM;%.SPACING EXAMPLE FROM MANUAL
.RESET.output width 55.right margin 54
.carriage 1,*.preface       WRITE(1,$)
A .SPACING 1 command is assumed to be in effect when 
this program is started.
.spacing 2
No blank lines precede this since the .SPACING 2
command forced out previous line before taking effect.
.blank 2;Normal spacing and 2 blank lines
.skip 2;Normal spacing and 2 multiples of 2 blank lines
.paragraph 5,2;Paragraph similar to .skip 2.indent 5
.program;      END
.reset.PROGRAM;%.TRAILING EXAMPLE FROM MANUAL
.RESET.spacing 2.output width 55.use'.offset 0.begin 10
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.begin 20
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.skip.begin 30.trail
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.begin 40
The quick red fox jumps over the lazy brown dog,
then runs into the forest.
.skip
.reset.PROGRAM;%.UPPER CASE EXAMPLE FROM MANUAL
.RESET.offset 0.right margin 55.output width 55
.flags capitalize.preface       WRITE(1,$)
An <.upper ^c^a^s^e \C\O\M\M\A\N\D does not have to be 
issued when this program is first started.
.lower case
^A <.LOWER ^C^A^S^E \C\O\M\M\A\N\D CAN BE ISSUED TO
CAUSE CONVERSION TO LOWER CASE.
.upper case
The <.upper ^c^a^s^e \C\O\M\M\A\N\D can, of course, be 
reissued at any time.
.program;      END
.reset.PROGRAM;%.USE EXAMPLE FROM MANUAL
.RESET.out width 55;one * two ** three ' four '' five
.break.use'  ;one * two ** three ' four '' five
.break.use * ;one * two ** three ' four '' five
.break.useH  ;one * two ** three ' four '' five
.break.use h ;one * two ** three ' four '' five
.RESET;.PROGRAM;%TEST 1
.RESET.USE.INDENT 5
ONE'*
.BREAK.USE'
TWO'*
.BREAK.USE*
THREE'*
.BREAK.USEH
FOUR'*
.BREAK.USE     '
FIVE'*
.BREAK.USE     H.LEFT MARGIN 5
SIX'*
.BREAK. USE
SEVEN
.BREAK.USE h
EIGHT
.RESET.PROGRAM;%TEST 2
.RESET.BEGIN 123
ONE
.PREFACE THIS IS THE FIRST PREFACE LINE AND $ IS DOLLAR
.SKIP
TWO
.SKIP 2
THREE
.SKIP
FOUR
.BEGIN 456
.LENGTH 2
.output WIDTH 30
ONE
.PREFACE ($) ($$) ($$$) ($$$$) ($$$$$) ($$$$$$) BUT KEEP _$ THIS ONE
.SKIP 50;.SKIP 50
TWO
.LENGTH 4
.SKIP 100
THREE
.SKIP 50;.SKIP 50;.BEGIN 789.SKIP 50
END
.SKIP 50;.SKIP 50
.reset.program;%TEST 3
.RESET
.!THIS TESTS ABBREVIATION RECOGNITION.  IN RESULT, ALL S, T, W AND Y
.!SHOULD BE IN UPPER CASE AND X AND Z IN LOWER CASE.  ALL U AND V
.!SHOULD BE SEPARATED BY *
.NOJUSTIFY.PREFACE       WRITE(1,$)
.FLAGS LOWER CASE @;Y@Z
.FLAGS LOWE CASE %;W%X
.FLAGS LOW CASE @;Y@Z
.FLAGS LO CASE %;W%X
.FLAGS L CASE @;Y@Z
.FLAG LOWER CASE %;W%X
.FLAG LOWE CASE @;Y@Z
.FLAG LOW CASE %;W%X
.FLAG LO CASE @;Y@Z
.FLAG L CASE %;W%X
.FLA LOWER CASE @;Y@Z
.FLA LOWE CASE %;W%X
.FLA LOW CASE @;Y@Z
.FLA LO CASE %;W%X
.FLA L CASE @;Y@Z
.FL LOWER CASE %;W%X
.FL LOWE CASE @;Y@Z
.FL LOW CASE %;W%X
.FL LO CASE @;Y@Z
.FL L CASE %;W%X
.F LOWER CASE @;Y@Z
.F LOWE CASE %;W%X
.F LOW CASE @;Y@Z
.F LO CASE %;W%X
.F L CASE @;Y@Z
.FLAGSLOWER CASE %;W%X
.FLAGSLOWE CASE @;Y@Z
.FLAGSLOW CASE %;W%X
.FLAGSLO CASE @;Y@Z
.FLAGSL CASE %;W%X
.FLAGLOWER CASE @;Y@Z
.FLAGLOWE CASE %;W%X
.FLAGLOW CASE @;Y@Z
.FLAGLO CASE %;W%X
.FLAGL CASE @;Y@Z
.FLALOWER CASE %;W%X
.FLALOWE CASE @;Y@Z
.FLALOW CASE %;W%X
.FLALO CASE @;Y@Z
.FLAL CASE %;W%X
.FLLOWER CASE @;Y@Z
.FLLOWE CASE %;W%X
.FLLOW CASE @;Y@Z
.FLLO CASE %;W%X
.FLL CASE @;Y@Z
.!FLOWER CASE *;U*V
.!FLOWE CASE *;U*V
.!FLOW CASE *;U*V
.!FLO CASE *;U*V
.!FL CASE *;U*V
.FLAGS LOWERCASE %;W%X
.FLAGS LOWECASE @;Y@Z
.FLAGS LOWCASE %;W%X
.FLAGS LOCASE @;Y@Z
.FLAGS LCASE %;W%X
.FLAG LOWERCASE @;Y@Z
.FLAG LOWECASE %;W%X
.FLAG LOWCASE @;Y@Z
.FLAG LOCASE %;W%X
.FLAG LCASE @;Y@Z
.FLA LOWERCASE %;W%X
.FLA LOWECASE @;Y@Z
.FLA LOWCASE %;W%X
.FLA LOCASE @;Y@Z
.FLA LCASE %;W%X
.FL LOWERCASE @;Y@Z
.FL LOWECASE %;W%X
.FL LOWCASE @;Y@Z
.FL LOCASE %;W%X
.FL LCASE @;Y@Z
.F LOWERCASE %;W%X
.F LOWECASE @;Y@Z
.F LOWCASE %;W%X
.F LOCASE @;Y@Z
.F LCASE %;W%X
.FLAGSLOWERCASE @;Y@Z
.FLAGSLOWECASE %;W%X
.FLAGSLOWCASE @;Y@Z
.FLAGSLOCASE %;W%X
.FLAGSLCASE @;Y@Z
.FLAGLOWERCASE %;W%X
.FLAGLOWECASE @;Y@Z
.FLAGLOWCASE %;W%X
.FLAGLOCASE @;Y@Z
.FLAGLCASE %;W%X
.FLALOWERCASE @;Y@Z
.FLALOWECASE %;W%X
.FLALOWCASE @;Y@Z
.FLALOCASE %;W%X
.FLALCASE @;Y@Z
.FLLOWERCASE %;W%X
.FLLOWECASE @;Y@Z
.FLLOWCASE %;W%X
.FLLOCASE @;Y@Z
.FLLCASE %;W%X
.!FLOWERCASE *;U*V
.!FLOWECASE *;U*V
.!FLOWCASE *;U*V
.!FLOCASE *;U*V
.!FLCASE *;U*V
.FLAGS LOWER CAS @;Y@Z
.FLAGS LOWE CAS %;W%X
.FLAGS LOW CAS @;Y@Z
.FLAGS LO CAS %;W%X
.FLAGS L CAS @;Y@Z
.FLAG LOWER CAS %;W%X
.FLAG LOWE CAS @;Y@Z
.FLAG LOW CAS %;W%X
.FLAG LO CAS @;Y@Z
.FLAG L CAS %;W%X
.FLA LOWER CAS @;Y@Z
.FLA LOWE CAS %;W%X
.FLA LOW CAS @;Y@Z
.FLA LO CAS %;W%X
.FLA L CAS @;Y@Z
.FL LOWER CAS %;W%X
.FL LOWE CAS @;Y@Z
.FL LOW CAS %;W%X
.FL LO CAS @;Y@Z
.FL L CAS %;W%X
.F LOWER CAS @;Y@Z
.F LOWE CAS %;W%X
.F LOW CAS @;Y@Z
.F LO CAS %;W%X
.F L CAS @;Y@Z
.FLAGSLOWER CAS %;W%X
.FLAGSLOWE CAS @;Y@Z
.FLAGSLOW CAS %;W%X
.FLAGSLO CAS @;Y@Z
.FLAGSL CAS %;W%X
.FLAGLOWER CAS @;Y@Z
.FLAGLOWE CAS %;W%X
.FLAGLOW CAS @;Y@Z
.FLAGLO CAS %;W%X
.FLAGL CAS @;Y@Z
.FLALOWER CAS %;W%X
.FLALOWE CAS @;Y@Z
.FLALOW CAS %;W%X
.FLALO CAS @;Y@Z
.FLAL CAS %;W%X
.FLLOWER CAS @;Y@Z
.FLLOWE CAS %;W%X
.FLLOW CAS @;Y@Z
.FLLO CAS %;W%X
.FLL CAS @;Y@Z
.!FLOWER CAS *;U*V
.!FLOWE CAS *;U*V
.!FLOW CAS *;U*V
.!FLO CAS *;U*V
.!FL CAS *;U*V
.FLAGS LOWERCAS %;W%X
.FLAGS LOWECAS @;Y@Z
.FLAGS LOWCAS %;W%X
.FLAGS LOCAS @;Y@Z
.FLAGS LCAS %;W%X
.FLAG LOWERCAS @;Y@Z
.FLAG LOWECAS %;W%X
.FLAG LOWCAS @;Y@Z
.FLAG LOCAS %;W%X
.FLAG LCAS @;Y@Z
.FLA LOWERCAS %;W%X
.FLA LOWECAS @;Y@Z
.FLA LOWCAS %;W%X
.FLA LOCAS @;Y@Z
.FLA LCAS %;W%X
.FL LOWERCAS @;Y@Z
.FL LOWECAS %;W%X
.FL LOWCAS @;Y@Z
.FL LOCAS %;W%X
.FL LCAS @;Y@Z
.F LOWERCAS %;W%X
.F LOWECAS @;Y@Z
.F LOWCAS %;W%X
.F LOCAS @;Y@Z
.F LCAS %;W%X
.FLAGSLOWERCAS @;Y@Z
.FLAGSLOWECAS %;W%X
.FLAGSLOWCAS @;Y@Z
.FLAGSLOCAS %;W%X
.FLAGSLCAS @;Y@Z
.FLAGLOWERCAS %;W%X
.FLAGLOWECAS @;Y@Z
.FLAGLOWCAS %;W%X
.FLAGLOCAS @;Y@Z
.FLAGLCAS %;W%X
.FLALOWERCAS @;Y@Z
.FLALOWECAS %;W%X
.FLALOWCAS @;Y@Z
.FLALOCAS %;W%X
.FLALCAS @;Y@Z
.FLLOWERCAS %;W%X
.FLLOWECAS @;Y@Z
.FLLOWCAS %;W%X
.FLLOCAS @;Y@Z
.FLLCAS %;W%X
.!FLOWERCAS *;U*V
.!FLOWECAS *;U*V
.!FLOWCAS *;U*V
.!FLOCAS *;U*V
.!FLCAS *;U*V
.FLAGS LOWER CA @;Y@Z
.FLAGS LOWE CA %;W%X
.FLAGS LOW CA @;Y@Z
.FLAGS LO CA %;W%X
.FLAGS L CA @;Y@Z
.FLAG LOWER CA %;W%X
.FLAG LOWE CA @;Y@Z
.FLAG LOW CA %;W%X
.FLAG LO CA @;Y@Z
.FLAG L CA %;W%X
.FLA LOWER CA @;Y@Z
.FLA LOWE CA %;W%X
.FLA LOW CA @;Y@Z
.FLA LO CA %;W%X
.FLA L CA @;Y@Z
.FL LOWER CA %;W%X
.FL LOWE CA @;Y@Z
.FL LOW CA %;W%X
.FL LO CA @;Y@Z
.FL L CA %;W%X
.F LOWER CA @;Y@Z
.F LOWE CA %;W%X
.F LOW CA @;Y@Z
.F LO CA %;W%X
.F L CA @;Y@Z
.FLAGSLOWER CA %;W%X
.FLAGSLOWE CA @;Y@Z
.FLAGSLOW CA %;W%X
.FLAGSLO CA @;Y@Z
.FLAGSL CA %;W%X
.FLAGLOWER CA @;Y@Z
.FLAGLOWE CA %;W%X
.FLAGLOW CA @;Y@Z
.FLAGLO CA %;W%X
.FLAGL CA @;Y@Z
.FLALOWER CA %;W%X
.FLALOWE CA @;Y@Z
.FLALOW CA %;W%X
.FLALO CA @;Y@Z
.FLAL CA %;W%X
.FLLOWER CA @;Y@Z
.FLLOWE CA %;W%X
.FLLOW CA @;Y@Z
.FLLO CA %;W%X
.FLL CA @;Y@Z
.!FLOWER CA *;U*V
.!FLOWE CA *;U*V
.!FLOW CA *;U*V
.!FLO CA *;U*V
.FL CA =!TAKEN AS FLAG CAPITALIZE =;S=T
.FLAGS LOWERCA %;W%X
.FLAGS LOWECA @;Y@Z
.FLAGS LOWCA %;W%X
.FLAGS LOCA @;Y@Z
.FLAGS LCA %;W%X
.FLAG LOWERCA @;Y@Z
.FLAG LOWECA %;W%X
.FLAG LOWCA @;Y@Z
.FLAG LOCA %;W%X
.FLAG LCA @;Y@Z
.FLA LOWERCA %;W%X
.FLA LOWECA @;Y@Z
.FLA LOWCA %;W%X
.FLA LOCA @;Y@Z
.FLA LCA %;W%X
.FL LOWERCA @;Y@Z
.FL LOWECA %;W%X
.FL LOWCA @;Y@Z
.FL LOCA %;W%X
.FL LCA @;Y@Z
.F LOWERCA %;W%X
.F LOWECA @;Y@Z
.F LOWCA %;W%X
.F LOCA @;Y@Z
.F LCA %;W%X
.FLAGSLOWERCA @;Y@Z
.FLAGSLOWECA %;W%X
.FLAGSLOWCA @;Y@Z
.FLAGSLOCA %;W%X
.FLAGSLCA @;Y@Z
.FLAGLOWERCA %;W%X
.FLAGLOWECA @;Y@Z
.FLAGLOWCA %;W%X
.FLAGLOCA @;Y@Z
.FLAGLCA %;W%X
.FLALOWERCA @;Y@Z
.FLALOWECA %;W%X
.FLALOWCA @;Y@Z
.FLALOCA %;W%X
.FLALCA @;Y@Z
.FLLOWERCA %;W%X
.FLLOWECA @;Y@Z
.FLLOWCA %;W%X
.FLLOCA @;Y@Z
.FLLCA %;W%X
.!FLOWERCA *;U*V
.!FLOWECA *;U*V
.!FLOWCA *;U*V
.!FLOCA *;U*V
.FLCA =!TAKEN AS FLAG CAPITALIZE =;S=T
.FLAGS LOWER C @;Y@Z
.FLAGS LOWE C %;W%X
.FLAGS LOW C @;Y@Z
.FLAGS LO C %;W%X
.FLAGS L C @;Y@Z
.FLAG LOWER C %;W%X
.FLAG LOWE C @;Y@Z
.FLAG LOW C %;W%X
.FLAG LO C @;Y@Z
.FLAG L C %;W%X
.FLA LOWER C @;Y@Z
.FLA LOWE C %;W%X
.FLA LOW C @;Y@Z
.FLA LO C %;W%X
.FLA L C @;Y@Z
.FL LOWER C %;W%X
.FL LOWE C @;Y@Z
.FL LOW C %;W%X
.FL LO C @;Y@Z
.FL L C %;W%X
.F LOWER C @;Y@Z
.F LOWE C %;W%X
.F LOW C @;Y@Z
.F LO C %;W%X
.F L C @;Y@Z
.FLAGSLOWER C %;W%X
.FLAGSLOWE C @;Y@Z
.FLAGSLOW C %;W%X
.FLAGSLO C @;Y@Z
.FLAGSL C %;W%X
.FLAGLOWER C @;Y@Z
.FLAGLOWE C %;W%X
.FLAGLOW C @;Y@Z
.FLAGLO C %;W%X
.FLAGL C @;Y@Z
.FLALOWER C %;W%X
.FLALOWE C @;Y@Z
.FLALOW C %;W%X
.FLALO C @;Y@Z
.FLAL C %;W%X
.FLLOWER C @;Y@Z
.FLLOWE C %;W%X
.FLLOW C @;Y@Z
.FLLO C %;W%X
.FLL C @;Y@Z
.!FLOWER C *;U*V
.!FLOWE C *;U*V
.!FLOW C *;U*V
.!FLO C *;U*V
.!FL C *!TAKEN AS FLAGS ALL *;U*V
.!FL C !TAKEN AS FLAGS ALL;U*V
.FLAGS LOWERC %;W%X
.FLAGS LOWEC @;Y@Z
.FLAGS LOWC %;W%X
.FLAGS LOC @;Y@Z
.FLAGS LC %;W%X
.FLAG LOWERC @;Y@Z
.FLAG LOWEC %;W%X
.FLAG LOWC @;Y@Z
.FLAG LOC %;W%X
.FLAG LC @;Y@Z
.FLA LOWERC %;W%X
.FLA LOWEC @;Y@Z
.FLA LOWC %;W%X
.FLA LOC @;Y@Z
.FLA LC %;W%X
.FL LOWERC @;Y@Z
.FL LOWEC %;W%X
.FL LOWC @;Y@Z
.FL LOC %;W%X
.FL LC @;Y@Z
.F LOWERC %;W%X
.F LOWEC @;Y@Z
.F LOWC %;W%X
.F LOC @;Y@Z
.F LC %;W%X
.FLAGSLOWERC @;Y@Z
.FLAGSLOWEC %;W%X
.FLAGSLOWC @;Y@Z
.FLAGSLOC %;W%X
.FLAGSLC @;Y@Z
.FLAGLOWERC %;W%X
.FLAGLOWEC @;Y@Z
.FLAGLOWC %;W%X
.FLAGLOC @;Y@Z
.FLAGLC %;W%X
.FLALOWERC @;Y@Z
.FLALOWEC %;W%X
.FLALOWC @;Y@Z
.FLALOC %;W%X
.FLALC @;Y@Z
.FLLOWERC %;W%X
.FLLOWEC @;Y@Z
.FLLOWC %;W%X
.FLLOC @;Y@Z
.FLLC %;W%X
.!FLOWERC *;U*V
.!FLOWEC *;U*V
.!FLOWC *;U*V
.!FLOC *;U*V
.!FLC *!TAKEN AS FLAGS ALL *;U*V
.!FLC !TAKEN AS FLAGS ALL;U*V
.FLAGS LOWER @;Y@Z
.FLAGS LOWE %;W%X
.FLAGS LOW @;Y@Z
.FLAGS LO %;W%X
.FLAGS L @;Y@Z
.FLAG LOWER %;W%X
.FLAG LOWE @;Y@Z
.FLAG LOW %;W%X
.FLAG LO @;Y@Z
.FLAG L %;W%X
.FLA LOWER @;Y@Z
.FLA LOWE %;W%X
.FLA LOW @;Y@Z
.FLA LO %;W%X
.FLA L @;Y@Z
.FL LOWER %;W%X
.FL LOWE @;Y@Z
.FL LOW %;W%X
.FL LO @;Y@Z
.FL L %;W%X
.F LOWER @;Y@Z
.F LOWE %;W%X
.F LOW @;Y@Z
.F LO %;W%X
.F L @;Y@Z
.FLAGSLOWER %;W%X
.FLAGSLOWE @;Y@Z
.FLAGSLOW %;W%X
.FLAGSLO @;Y@Z
.FLAGSL %;W%X
.FLAGLOWER @;Y@Z
.FLAGLOWE %;W%X
.FLAGLOW @;Y@Z
.FLAGLO %;W%X
.FLAGL @;Y@Z
.FLALOWER %;W%X
.FLALOWE @;Y@Z
.FLALOW %;W%X
.FLALO @;Y@Z
.FLAL %;W%X
.FLLOWER @;Y@Z
.FLLOWE %;W%X
.FLLOW @;Y@Z
.FLLO %;W%X
.FLL @;Y@Z
.!FLOWER *;U*V
.!FLOWE *;U*V
.!FLOW *;U*V
.!FLO *;U*V
.!FL *!TAKEN AS FLAGS ALL *;U*V
.!FL !TAKEN AS FLAGS ALL;U*V
.FLAGS LOWER %;W%X
.FLAGS LOWE @;Y@Z
.FLAGS LOW %;W%X
.FLAGS LO @;Y@Z
.FLAGS L %;W%X
.FLAG LOWER @;Y@Z
.FLAG LOWE %;W%X
.FLAG LOW @;Y@Z
.FLAG LO %;W%X
.FLAG L @;Y@Z
.FLA LOWER %;W%X
.FLA LOWE @;Y@Z
.FLA LOW %;W%X
.FLA LO @;Y@Z
.FLA L %;W%X
.FL LOWER @;Y@Z
.FL LOWE %;W%X
.FL LOW @;Y@Z
.FL LO %;W%X
.FL L @;Y@Z
.F LOWER %;W%X
.F LOWE @;Y@Z
.F LOW %;W%X
.F LO @;Y@Z
.F L %;W%X
.FLAGSLOWER @;Y@Z
.FLAGSLOWE %;W%X
.FLAGSLOW @;Y@Z
.FLAGSLO %;W%X
.FLAGSL @;Y@Z
.FLAGLOWER %;W%X
.FLAGLOWE @;Y@Z
.FLAGLOW %;W%X
.FLAGLO @;Y@Z
.FLAGL %;W%X
.FLALOWER @;Y@Z
.FLALOWE %;W%X
.FLALOW @;Y@Z
.FLALO %;W%X
.FLAL @;Y@Z
.FLLOWER %;W%X
.FLLOWE @;Y@Z
.FLLOW %;W%X
.FLLO @;Y@Z
.FLL %;W%X
.!FLOWER *;U*V
.!FLOWE *;U*V
.!FLOW *;U*V
.!FLO *;U*V
.!FL *!TAKEN AS FLAGS ALL *;U*V
.!FL !TAKEN AS FLAGS ALL;U*V
.PROGRAM;      END
.RESET.PROGRAM;%TEST 4
.RESET.BEGIN;$
.INSERT ABC!
.BEGIN;$
.INSERT DEF!GHI
.BEGIN;$
.INSERT JKL;
.BEGIN;$
.INSERT MNO;PQR
.BEGIN;$
.INSERT STU.
.BEGIN;$
.INSERT VWX.YZ0
.BEGIN;$
.INSERT ABC.GHI.JKL
.BEGIN;$
.INSERT 123!456!789
.BEGIN;$
.INSERT ABC;GHI;JKL
.BEGIN;$
.INSERT 123.456;789
.BEGIN;$
.INSERT ABC;DEF.GHI
.INSERT WWW^W^W^WWWW\Y\Y\YWWW_W_W_W;WWW^W^W^WWWW\Y\Y\YWWW_W_W_W
.INSERT zzz^x^x^xzzz\z\z\zzzz_z_z_z;zzz^x^x^xzzz\z\z\zzzz_z_z_z
.INSERT ^^WWW^W^W^WWWW\Y\Y\YWWW_W_W_W;WWW^W^W^WWWW\Y\Y\YWWW_W_W_W
.INSERT ^^zzz^x^x^xzzz\z\z\zzzz_z_z_z;zzz^x^x^xzzz\z\z\zzzz_z_z_z
.INSERT \\YYY^W^W^WYYY\Y\Y\YYYY_W_W_W;YYY^W^W^WYYY\Y\Y\YYYY_W_W_W
.INSERT \\zzz^x^x^xzzz\z\z\zzzz_z_z_z;zzz^x^x^xzzz\z\z\zzzz_z_z_z
$ $ $ $ $ $
.RESET.PROGRAM;%TEST 5
.RESET.NOJUSTIFY
THIS LINE ENDS IN PERIOD. THIS LINE ENDS IN EXCLAMATION POINT! THIS LINE
ENDS IN QUESTION MARK? THIS LINE ENDS IN COLON: THIS LINE ENDS IN
SEMICOLON; AND THIS LINE ENDS IN A COMMA,
.RESET.PROGRAM;%TEST 6
.RESET.output width 55.spacing 2;            one 
                             two three 
.break;                    four five six 
                        seven eight nine ten
.break;           eleven twelve thirteen fourteen
            fifteen sixteen seventeen eighteen nineteen
.RESET.PROGRAM;%TEST 7
.RESET.INSERT FIRST
.INSERT SECOND
.INSERT THIRD
.INSERT FOURTH
.INSERT FIFTH
.INSERT SIXTH
.INSERT SEVENTH
.INSERT EIGHT
.INSERT NINETH
.INSERT/TENTH /
.INSERT ELEVENTH
.INSERT TWELVTH
$$111$$222$$333$444$$555$$666$$777$$888$$999$$
.INSERT THIRTEENTH
.INSERT FOURTEENTH
$$AA$$BB$$CC$$DD$$
0123456789ABCDEFGHIJK
abcdefghijklmnopqrstuvwxyz
0123456789
abcdefghijklmnopqrstuvwxyz
0123456789
ABCDEF
GHI
.RESET.PROGRAM;%TEST 8
.RESET.use H
.BEGIN 600
.FILL
.LEFT MARGIN 0
.RIGHT MARGIN 60
AAAAAAAAAA
BBBBBBBBBB
CCCCCCCCCC
.NOFILL
DDDDDDDDDD
EEEEEEEEEE
FFFFFFFFFF
.FILL
.LEFT MARGIN 5
.RIGHT MARGIN 55
GGGGGGGGGG
HHHHHHHHHH
IIIIIIIIII
.NOFILL
JJJJJJJJJJ
KKKKKKKKKK
LLLLLLLLLL
.FILL
.LEFT MARGIN 10
.RIGHT MARGIN 50
MMMMMMMMMM
NNNNNNNNNN
OOOOOOOOOO
.NOFILL
.SKIP
PPPPPPPPPP
QQQQQQQQQQ
RRRRRRRRRR
.FILL
.LEFT MARGIN 15
.RIGHT MARGIN 45
SSSSSSSSSS
TTTTTTTTTT
UUUUUUUUUU
.NOFILL
VVVVVVVVVV
WWWWWWWWWW
XXXXXXXXXX
.FILL
.LEFT MARGIN 20
.RIGHT MARGIN 40
YYYYYYYYYY
ZZZZZZZZZZ
.BEGIN 700
0000000000
1111111111
2222222222
3333333333
4444444444
5555555555
6666666666
7777777777
8888888888
9999999999
.RESET.PROGRAM;%TEST 9
.RESET;UNDER_? UNDER_! UNDER_. UNDER_: NONE? NONE! NONE. NONE:
_
__
___
_ _
A _A
AB  A_B  _AB  _A_B
_ A  A_  A_ B
.RESET.PROGRAM;%TEST 10
.RESET.NOFILL
.USE H
0123456789
 0 1 2 3 4 5 6 7 8 9_ 
  0  1  2  3  4  5  6  7  8  9_ _ 
   0   1   2   3   4   5   6   7   8   9_ _ _ 
    0    1    2    3    4    5    6    7    8    9_ _ _ _ 
     0     1     2     3     4     5     6     7     8     9_ _ _ _ _
.BEGIN 2
.USE '
0123456789
 0 1 2 3 4 5 6 7 8 9_ 
  0  1  2  3  4  5  6  7  8  9_ _ 
   0   1   2   3   4   5   6   7   8   9_ _ _ 
    0    1    2    3    4    5    6    7    8    9_ _ _ _ 
     0     1     2     3     4     5     6     7     8     9_ _ _ _ _
.RESET.PROGRAM;%TEST 11
.RESET.USE '
.PROGRAM
ONE$$TWO
THREE$$$$FOUR
.FORMAT
.PREFACE FIRST$$$SECOND
FIRST LINE
.INSER ONE
.INSER TWO
.INSER THREE
_$_$_$THIS IS A TEST_$_$$$$$_$_$AND SO IS THIS_$_$
FINAL LINE TO CAUSE SOME OVERFLOW
OF THE BUFFERS IN WHICH THE DOLLAR SIGNS ARE STORED
.NFLI
.PROGRAM
ONE$$TWO
THREE$$$$FOUR
.FORMAT
.PREFACE FIRST$$$SECOND
FIRST LINE
.INSER ONE
.INSER TWO
.INSER THREE
_$_$_$THIS IS A TEST_$_$$$$$_$_$AND SO IS THIS_$_$
FINAL LINE TO CAUSE SOME OVERFLOW
OF THE BUFFERS IN WHICH THE DOLLAR SIGNS ARE STORED
.FLI %
.PROGRAM
ONE%%TWO
THREE%%%%FOUR
.FORMAT
.PREFACE FIRST%%%SECOND
FIRST LINE
.INSER ONE
.INSER TWO
.INSER THREE
_%_%_%THIS IS A TEST_%_%%%%%_%_%AND SO IS THIS_%_%
FINAL LINE TO CAUSE SOME OVERFLOW
OF THE BUFFERS IN WHICH THE DOLLAR SIGNS ARE STORED
.RESET.PROGRAM;%TEST 12
.RESET.BEGIN 100
.PROGRAM
START OF PROGRAM AND $$$ IS DOLLAR SIGN
_#_ _A_B___
LAST OF PROGRAM
.FORMAT
START OF FORMAT
_#_ _A_B___
LAST LINE
.RESET.PROGRAM;%TEST 13
.RESET;$$AT START$$AT MIDDLE$$AT END$$
.BREAK.INSERT
$$AT START$$AT MIDDLE$$AT END$$
.RESET.PROGRAM;%TEST 14
.RESET.left margin 5
one
.indent
two
.indent 5
three
.indent
four
.indent 10
five
.indent
six
.indent -5
seven
.indent
eight
.RESET.PROGRAM;%TEST 15
.RESET.RIGHT 60;.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
12345678901234567890123456789012345678901234$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
1234567890123456789012345678901234567890123$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
123456789012345678901234567890123456789012$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
12345678901234567890123456789012345678901$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
1234567890123456789012345678901234567890$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
123456789012345678901234567890123456789$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
12345678901234567890123456789012345678$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
1234567890123456789012345678901234567$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
123456789012345678901234567890123456$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
12345678901234567890123456789012345$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
1234567890123456789012345678901234$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
123456789012345678901234567890123$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
12345678901234567890123456789012$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
1234567890123456789012345678901$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
123456789012345678901234567890$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
12345678901234567890123456789$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
1234567890123456789012345678$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
123456789012345678901234567$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
12345678901234567890123456$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
1234567890123456789012345$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
123456789012345678901234$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
12345678901234567890123$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
1234567890123456789012$ OF THE COMMA.
.PROGRAM
123456789012345678901234567890123456789012345678901234567890
.BEGIN
.INSERT ,A,BB,,CCC,,DD,F,
123456789012345678901$ OF THE COMMA.
.RESET.PROGRAM;%TEST 16
.RESET.output WIDTH 55
The _.BREAK command
indicates that  no additional text is to be included in the
 line of text currently being represented in the FORMAT statement.
The line of text is assumed to be shorter than normal, and so
 is not right justified
.LENGTH 5
by the insertion of  extra blank characters   between the
 groups of printing characters (words)  on the line.
.LENGTH 10
The representation of the line of text
will be followed by the number of slashes specified by
 the _.SPACING command if the _.TRAIL
command
.LENGTH 5
 has been issued or if additional text is  represented.
A _.BREAK command is also implied by most other
 commands which change the manner in which the source
text is  represented.
.RESET.PROGRAM;%TEST 17
.RESET.lm 0.rm 55
The FILL command 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 3.rm 52
indicates that each 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 6.rm 49
line of text 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 9.rm 46
represented in the 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 12.rm 43
FORMAT statements is 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 15 .rm40
to be filled 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 18.rm 37
with the next 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 15.rm 40
words which appear 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 12 .rm 43
in the source 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 9.rm 46
text until the 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 6.rm 49
following word would 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 3.rm 52
extend beyond the 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.lm 0.rm 55
current right margin. 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.RESET.PROGRAM;%TEST 18
.RESET.CE;TWO
.CEN;THREE
.CENT;FOUR
.CENTE;FIVE
.CENTR;SIX
.CENTER;SEVEN
.CENTRE;EIGHT
.RESET.PROGRAM;%TEST 19
.RESET.left margin 5
one
.para
two
.para 5
three
.para
four
.para 10
five
.para
six
.para -5
seven
.para
eight
.RESET.PROGRAM;%TEST 20
.RESET.nofill
a
b
.skip 
c
d
.spacing 2
e
f
.skip
g
h
.spacing 3
i
j
.skip 2
k
l
.spacing 1
a
b
.blank
c
d
.spacing 2
e
f
.blank
g
h
.spacing 3
i
j
.blank 2
k
l
.RESET.PROGRAM;%TEST 21
.RESET.NOFILL
ABC^D^E^FGHI\J\K\LMNO_P_Q_R^ S\ T
abc^d^e^fghi\j\k\lmno_p_q_r^ s\ t
^^ABC^D^E^FGHI\J\K\LMNO_P_Q_R^ S\ T
^^abc^d^e^fghi\j\k\lmno_p_q_r^ s\ t
\\ABC^D^E^FGHI\J\K\LMNO_P_Q_R^ S\ T
\\abc^d^e^fghi\j\k\lmno_p_q_r^ s\ t
.NOFILL
^^WWW^W^W^WWWW\Y\Y\YWWW_W_W_W
zzz^x^x^xzzz\z\z\zzzz_z_z_z
^^WWW^W^W^WWWW\Y\Y\YWWW_W_W_W
^^zzz^x^x^xzzz\z\z\zzzz_z_z_z
\\YYY^W^W^WYYY\Y\Y\YYYY_W_W_W
\\zzz^x^x^xzzz\z\z\zzzz_z_z_z
.UPPER CASE.LOWER CASE.UPPER CASE.LOWER CASE
.upper case.lower case.upper case.lower case
.RESET.PROGRAM;%TEST 22
.RESET;ONE
.SKIP
TWO
.SKIP 2
THREE
.SKIP
FOUR
.SKIP 1
FIVE
.PARA
SIX
.SKIP 2
SEVEN
.PARA
EIGHT
.SKIP
NINE
.PARA,1
TEN
.SKIP
ELEVEN
.PARA,2
TWELVE
.SKIP 1
THIRTEEN
.PARA
FOURTEEN
.RESET.PROGRAM;%TEST 23
.RESET.PRE       TYPE $
.CENTER
CENTER
.CENTER +5
CENTER +5
.CENTER -5
CENTER -5
.CENTER -5
CENTER -5
.LEFT MARGIN 5
LEFT MARGIN 5
.PARA
PARA
.PARA-2
PARA-2
.PARA+2
PARA+2
.LEFT MARGIN -2
LEFT MARGIN -2
.LEFT MARGIN +2
LEFT MARGIN +2
.LEFT MARGIN -2
LEFT MARGIN -2
.LEFT MARGIN -2
LEFT MARGIN -2
.LEFT MARGIN -2
LEFT MARGIN -2
.LEFT MARGIN -2
LEFT MARGIN -2
.LEFT MARGIN +2
LEFT MARGIN +2
.LEFT MARGIN +2
LEFT MARGIN +2
.LEFT MARGIN +2
LEFT MARGIN +2
.LEFT MARGIN 0
LEFT MARGIN 0
.OFFSET 5
OFFSET 5
.OFFSET+2
OFFSET+2
.OFFSET-2
OFFSET-2
.OFFSET-10
OFFSET-10
.OFFSET+7
OFFSET+7
.BEGIN
BEGIN
.BEGIN+1
BEGIN+1
.BEGIN+2
BEGIN+2
.BEGIN+5
BEGIN+5
.BEGIN+5
BEGIN+5
.BEGIN 35
BEGIN 35
.PRO;      END
.RESET.PROGRAM;%TEST 24
.RESET.nofill;.flag capitalize
 1 lower UPPER <flagged*lower lower UPPER
 2 lower UPPER <FLAGGED*UPPER lower UPPER
 3 \\lower UPPER <flagged*lower lower UPPER
 4 lower UPPER <FLAGGED*UPPER lower UPPER
 5 ^^lower UPPER <flagged*lower lower UPPER
 6 lower UPPER <FLAGGED*UPPER lower UPPER
 7 \\lower UPPER <flag^g^e^d*lower lower UPPER
 8 lower UPPER <FLAG^G^E^D*UPPER lower UPPER
 9 ^^lower UPPER <flag^g^e^d*lower lower UPPER
10 lower UPPER <FLAG^G^E^D*UPPER lower UPPER
11 \\lower UPPER <flag\g\e\d*lower lower UPPER
12 lower UPPER <FLAG\G\E\D*UPPER lower UPPER
13 ^^lower UPPER <flag\g\e\d*lower lower UPPER
14 lower UPPER <FLAG\G\E\D*UPPER lower UPPER
15 \\lower UPPER <flagged*<lower lower UPPER
16 lower UPPER <FLAGGED*<UPPER lower UPPER
17 ^^lower UPPER <flagged*<lower lower UPPER
18 lower UPPER <FLAGGED*<UPPER lower UPPER
19 \\lower UPPER <flagged*^^lower lower UPPER
20 lower UPPER <FLAGGED*^^UPPER lower UPPER
21 ^^lower UPPER <flagged*^^lower lower UPPER
22 lower UPPER <FLAGGED*^^UPPER lower UPPER
23 \\lower UPPER <flagged*\\lower lower UPPER
24 lower UPPER <FLAGGED*\\UPPER lower UPPER
25 ^^lower UPPER <flagged*\\lower lower UPPER
26 lower UPPER <FLAGGED*\\UPPER lower UPPER
<><><>
.NO FLAG;<><><>
.RESET.PROGRAM;%TEST 25
.RESET.nofill.no flags.FLAGS CAPITALIZE
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
.flags
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
.flags space _+
ab_de+fg_gh+ij
.RESET.PROGRAM;%TEST 26
.RESET.OFFSET 10
.PRE       WRITE(1,$)
.CENTER 27
C
.CENTER 27
CE
.CENTER 27
CEN
.CENTER 27
CENT
.CENTER 27
CENTE
.CENTER 27
CENTER
.CENTER 28
C
.CENTER 28
CE
.CENTER 28
CEN
.CENTER 28
CENT
.CENTER 28
CENTE
.CENTER 28
CENTER
.CENTER 29
C
.CENTER 29
CE
.CENTER 29
CEN
.CENTER 29
CENT
.CENTER 29
CENTE
.CENTER 29
CENTER
.CENTER 30
C
.CENTER 30
CE
.CENTER 30
CEN
.CENTER 30
CENT
.CENTER 30
CENTE
.CENTER 30
CENTER
.CENTER; A  B   C
.CENTER
The FORMAT program converts text
 into 
FORTRAN FORMAT statements which  regenerate the text  when
these FORMAT statements are used.
.center
a
.center
ab
.center
abc
.center 
abcd
.center
abcde
.center
abcdef
.center 0
GHIJKL
.LEFT MARGIN 5
.CENTER
abcdef
.CENTER 0
GHIJKL
.right margin 65
.center
abcdef
.center 0
GHIJKL
.right margin 70
.center
abcdef
.center 0
GHIJKL
.left margin 0
.center
abcdef
.center 0
GHIJKL
.LEFT MARGIN 10;.RIGHT MARGIN 50
.center
abcdef
.center 0
GHIJKL
.LEFT MARGIN 20;.RIGHT MARGIN 60
.center
abcdef
.center 0
GHIJKL
.LEFT MARGIN 10;.RIGHT MARGIN 50
.center
abcdef
.center 0
GHIJKL
.PRO;      END
.RESET.PROGRAM;%TEST 27
.RESET.RM 72.output WID 60.LENGTH 5;.USE'
.PRE       TYPE $
.OFFSET 1
The FORMAT program converts text
 into 
FORTRAN FORMAT statements which  regenerate the text  when
these FORMAT statements are used.
The following   transformations of the text  are  specified by  commands
which are embedded in the original text and which are identical to commands accepted
by the DECsystem-10 text processing program RUNOFF.
.OFFSET 6
The FORMAT program converts text
 into 
FORTRAN FORMAT statements which  regenerate the text  when
these FORMAT statements are used.
The following   transformations of the text  are  specified by  commands
which are embedded in the original text and which are identical to commands accepted
by the DECsystem-10 text processing program RUNOFF.
.OFFSET 11
The FORMAT program converts text
 into 
FORTRAN FORMAT statements which  regenerate the text  when
these FORMAT statements are used.
The following   transformations of the text  are  specified by  commands
which are embedded in the original text and which are identical to commands accepted
by the DECsystem-10 text processing program RUNOFF.
.OFFSET 16
The FORMAT program converts text
 into 
FORTRAN FORMAT statements which  regenerate the text  when
these FORMAT statements are used.
The following   transformations of the text  are  specified by  commands
which are embedded in the original text and which are identical to commands accepted
by the DECsystem-10 text processing program RUNOFF.
.OFFSET 21
The FORMAT program converts text
 into 
FORTRAN FORMAT statements which  regenerate the text  when
these FORMAT statements are used.
The following   transformations of the text  are  specified by  commands
which are embedded in the original text and which are identical to commands accepted
by the DECsystem-10 text processing program RUNOFF.
.PROGRAM;      END
.RESET.PROGRAM;%TEST 28
.RESET.PROGRAM;A
AB
ABC
.OFFSET 0.output WIDTH 18.LENGTH 2.PRE       TYPE $
.FORMAT
1
.FORMAT
2
.FORMAT,+2
3
.FORMAT
5
.FORMAT+5
10
.FORMAT
12
.FORMAT
.FORMAT
16
.FORMAT+5
.FORMAT
23
.FORMAT
.FORMAT+5
.FORMAT
32
.FORMAT+5
.FORMAT
.FORMAT+5
44ABCDEFGHI
.BREAK
46ABCDEFGHI
.BREAK
48ABCDEFGHI
.FORMAT
50
.BEGIN 10,1
10ABCDEFGHI
.BREAK
11ABCDEFGHI
.PROGRAM
TWELVE $
.FORMAT
12ABCDEFGHI
.FORMAT
13ABCDEFGHI
.FORMAT 15,5
15ABCDEFGHI
.PROGRAM+10
TWENTY FIVE $
.FORMAT
25ABCDEFGHI
.FORMAT ,10
30ABCDEFGHI
.PROGRAM,5
FORTY $
FORTY $
.FORMAT
40ABCDEFGHI
.BREAK
45ABCDEFGHI
.RESET.PROGRAM;%TEST 29
.RESET.BEGIN10,5
.SPACING 2
.PRE       TYPE $
ONE
.PROGRAM
TWO $
.FORMAT+5
THREE
.FORMAT
FOUR
.PROGRAM
FIVE $
SIX $
.PROGRAM +10
SEVEN $
EIGHT $
.FORMAT,2
NINE
TEN
.FORMAT
.FORMAT
ELEVEN
TWELVE
.FORMAT 50
.FORMAT
THIRTEEN
FOURTEEN
.PROGRAM,2
FIFTEEN $
SIXTEEN $
.PROGRAM
SEVENTEEN $
EIGHTEEN $
.FORMAT
NINETEEN
TWENTY
.TRAIL
.BEGIN10,5
.SPACING 2
.PRE       TYPE $
ONE
.PROGRAM
TWO $
.FORMAT+5
THREE
.FORMAT
FOUR
.PROGRAM
FIVE $
SIX $
.PROGRAM +10
SEVEN $
EIGHT $
.FORMAT,2
NINE
TEN
.FORMAT
.FORMAT
ELEVEN
TWELVE
.FORMAT 50
.FORMAT
THIRTEEN
FOURTEEN
.PROGRAM,2
FIFTEEN $
SIXTEEN $
.PROGRAM
SEVENTEEN $
EIGHTEEN $
.FORMAT
NINETEEN
TWENTY
.TRAIL
.RESET.PROGRAM;%TEST 30
.RESET.SPACING 2.BEGIN 10,10
ONE
TWO
.BREAK
THREE
FOUR
.SKIP
.BEGIN
FIVE
SIX
.BREAK
SEVEN
EIGHT
.SKIP
.BEGIN
.TRAIL
NINE
TEN
.BREAK
ELEVEN
TWELVE
.SKIP
.BEGIN
THIRTEEN
FOURTEEN
.BREAK
FIFTEEN
SIXTEEN
.SKIP
.BEGIN 100.OUTPUT WIDTH25.LENGTH 1
AB
.SKIP 3
.BEGIN 200.OUTPUT WIDTH 60
FIRST FORMAT LINE
.PROGRAM
FIRST PROGRAM LINE
.SKIP
SECOND PROGRAM LINE
.BEGIN 300
SECOND FORMAT LINE
.PROGRAM
THIRD PROGRAM LINE
.SKIP
FOURTH PROGRAM LINE
.RESET;.PROGRAM;%TEST 31
.RESET.OFFSET 0;.OUTWIDTH 55;.PREFACE       WRITE(1,$)
1234567890123456789012345678901234567890123456789012345
.LEFT MARGIN 10;.RIGHT MARGIN 55;.CENTER -2;9
.CENTER;9 12
.CENTER +6;9 12  567
.CENTER 72;9 12  567   1234
.CENTER 0;1 34  789   3456    12345
The quick red fox jumps over the lazy brown dog
.LEFT MARGIN 5;.RIGHT MARGIN 50;.CENTER 0
0 23  678   2345    01234     012345
The quick red fox jumps over the lazy brown dog
.PROGRAM;      END
.RESET.PROGRAM;%TEST 32
.RESET.LEADING
.SKIP 3
.EJECT
.CARRIAGE * ,  @
ONE
.BREAK
AGAIN
.SKIP 3
.EJECT
.CARRIAGE %/
TWO
.SKIP 3
.EJECT
.CARRIAGE ,$
THREE
.BREAK
MORE
.SKIP 3
.EJECT
.CARRIAGE +,
FOURTH
.BREAK
FINAL
.SKIP 3
.EJECT
.RESET.PROGRAM;%TEST 33
.RESET.PREFACE       WRITE(1,$)
.CAR *
.SPACING 2.COPY 30 3
.INSERT 5HFIRST
.INSERT 6HSECOND
.INSERT 5HTHIRD
.INSERT 6HFOURTH
.INSERT 5HFIFTH
.INSERT 5HSIXTH
.INSERT 7HSEVENTH
.INSERT 6HEIGHTH
.INSERT 6HNINETH
.INSERT 5HTENTH
.OFFSET 5.NOFILL
ONE$
TWO$THREE$
FOUR$FIVE$SIX$
SEVEN$EIGHT$NINE$TEN$ELEVEN$TWELVE$
.BEGIN
.PREFACE       WRITE(1,$)
.INSERT 5HBEGIN
.INSERT 6HMIDDLE
.INSERT 3HEND
.COPY 20 3
$$$$$1234567890$$$$$
.BREAK
.COPY 21 3
********************
.BREAK
.MASK @                  @
.LEFT MARGIN 5
.RIGHT MARGIN 15
.FILL
.SKIP
THIS IS ALL A TEST OF THE MASK COMMAND
.SKIP
.BREAK
.INDENT -5
********************
.BREAK
.PROGRAM;      END
.RESET.PROGRAM;%TEST 34
.RESET.MASK *          *
.COPY 5 2
ONE
.BREAK
TWO
.RESET.PROGRAM;%TEST 35
.RESET.copy30,1.left margin 2.right margin 13.preface       WRITE(1,$)
.carriage 1.offset 5.mask *             *ABCDEFGHIJKL
.indent -1.output width 55;=============
.insert 5H.MASK
.insert 5H.COPY
.skip;This shows how $$$$$and $$$$$Commands work.
.skip.indent -1;=============
.break.no mask.no copy.skip;Not in range of either.
.program;      END
.RESET.PROGRAM;%TEST 36
.RESET.SKIP 5
ONE
.SKIP 5
.BEGIN
.LEADING
.SKIP 5
TWO
.SKIP 5
.BEGIN
.TRAILING
.SKIP 5
THREE
.SKIP 5
.BEGIN
.SKIP
.BEGIN
.SKIP 5
FOUR
.NOLEAD
.SKIP 5
.BEGIN
.SKIP 5
FIVE
.SKIP 5
.RESET.PROGRAM;%TEST 37
.RESET.SKIP
ONE
.RESET
.BLANK
TWO
.RESET
.PARAGRAPH
THREE
.RESET
.SKIP 2
FOUR
.RESET
.BLANK 2
FIVE
.RESET
.PARAGRAPH,2
SIX
.RESET
.TRAIL
.SPACING 2
.SKIP 2
SEVEN
.RESET
.TRAIL
.SPACING 2
.BLANK 2
EIGHT
.RESET
.TRAIL
.SPACING 2
.PARAGRAPH,2
NINE
.RESET.PROGRAM;%TEST 38
.RESET.PREFACE       WRITE(1,$)
.COPY 20 1
THIS IS A TEST
.BREAK
.NOCOPY
.MASK *                 *
.INDENT 5
THE MASK
.BREAK
.NO MASK
NO MASK
.PROGRAM.FORMAT.NO PREFACE;SOME MORE
.INSERT ONE
.INSERT TWO
.NO INSERT
.INSERT 5HTHREE
A$B
.PROGRAM;      END
.reset.program;%test 39
.reset.PREFACE       WRITE(1,$)
.nofill
.nofill
nofill
.flag capitalize
flag capitalize
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
.no flags capitalize
no flags capitalize
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
.no flags lowercase
no flags lowercase
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
.no flags uppercase
no flags uppercase
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
.flags all
flags all
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
.flags capitalize %
flags capitalize %
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
\\^a^bcd^A^Bcd%THIS%THAT_a_B
^^^a^bcd^A^Bcd%THIS%THAT_a_B
.no flags
no flags
.flags capitalize
flags capitalize
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
\\^a^bcd^A^Bcd%THIS%THAT_a_B
^^^a^bcd^A^Bcd%THIS%THAT_a_B
.flags all
flags all
\\^a^bcd^A^Bcd<THIS<THAT_a_B
^^^a^bcd^A^Bcd<THIS<THAT_a_B
\\^a^bcd^A^Bcd%THIS%THAT_a_B
^^^a^bcd^A^Bcd%THIS%THAT_a_B
.flags quote *
flags quote *
*^*&*#**
.flag quote (
flag quote (
(ABC(DEF
.flags space )
flags space )
abc)def
.flag control @
flag control @
@indent 5
this is a test of indent
.INDENT 5
THIS IS A TEST OF INDENT
@CENTER
CENTER
@INDENT 5
@CENTER
INDENT 5
@program;      END
@RESET
.reset.program;%test 40
.reset.carr _,
.nofill
one
two
.car ,_,
three
four
.car ,
five
six
.car *_,
seven
eight
.car _,*
nine
ten
.car _,,
eleven
twelve
.reset.program;%TEST 41
.RESET.offset 0.preface       WRITE(1,$)
.lm 10.rm 50
this is a test of the left and right margin commands as
is all of this
.lm.rm
and this follows these same commands issued without any
arguments at all.
.rm 70
now we set the right margin to 70 and test that it si
really gone to the amount.
.rm 50
and here we set it back to 50 and test that it has really gone
back that far
.rm
and this is a test of the right margin command again
issued without any argument at all
.program;      END
.reset.program;%TEST 42
.RESET.lm 10
.indent 3
this
.indent 0
that
.indent -3
then
.indent
those