Google
 

Trailing-Edge - PDP-10 Archives - BB-4157E-BM - fortran-documentation/forddt.doc
There is 1 other file named forddt.doc in the archive. Click here to see a list.


FORDDT-20 -- Changes from V5A(101) to V6(154)
December 1981






























COPYRIGHT (C) 1980,1981 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.


THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
TRANSFERRED.

THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.

DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
FDT6.DOC - FORDDT-20                                            Page 2


FORDDT-20 -- Changes from V5A(101) to V6(154)
December 1981



1.0  SUMMARY

FORDDT is an  interactive  FORTRAN  debugger  designed  for  use  with
FORTRAN  version 4 or later.  It provides the user with the ability to
set pauses (i.e.  breakpoints) and display and change the contents  of
variables,  arrays,  etc., with FORTRAN-like commands.  In addition to
these features, when the FORTRAN program is compiled with the  FORTRAN
/DEBUG  switch,  the  user  is able to trace the program line by line,
display  and  modify  FORMAT  statements,  and  have  array  dimension
information automatically provided to FORDDT.

Version 6 is Version 5A fixed by edits 102 to 154 inclusive.


1.1  Bibliography

FORTRAN Reference Manual (AA-4158B-TM)


1.2  Monitors

FORDDT will run on any Release 4 monitor.


1.3  Related System Software

The following system software (or later) is required  to  run  FORTRAN
programs loaded with FORDDT:

     FORLIB 6
     FOROTS 6
     FORTRA 6
     LINK   4A



2.0  EXTERNAL CHANGES

     1.  The use of logicals, i.e.  .TRUE.   and  .FALSE.   have  been
         implemented  for  use  in  the  PAUSE,  ACCEPT, MODE and TYPE
         statements.  The new mode switch to specify logical  is  "L".
         "L"  was  previously  used  to  specify  long (ie.  two word)
         ASCII, RASCII  and  OCTAL  values  in  the  ACCEPT  and  MODE
         commands.   This switch has been changed to "B", mnemonic for
         "BIG".

     2.  The text FORDDT.HLP will now  be  typed  when  FORDDT's  HELP
         command is given.

     3.  DDT will now be loaded into memory the  first  time  the  DDT
FDT6.DOC - FORDDT-20                                            Page 3


         command  is given from FORDDT (unless DDT is already loaded).
         The user will then be put into DDT.  To exit  from  DDT  back
         into  FORDDT  the  command '%FDDT$G', where $ is an alt-mode,
         should be given.

     4.  FORDDT may  now  be  CALLed  directly  from  a  user  FORTRAN
         program.   The  appropriate statement is 'CALL FORDDT', where
         no  arguments  are  required.   FORDDT  must  be  loaded  and
         initialized before a CALL to FORDDT is made.  This is done by
         starting the program in debug mode  before  the  first  call.
         All  normal  FORDDT  commands  are  allowed.  A CONTINUE will
         resume normal execution of the user program (this is  similar
         to a RETURN from a subroutine).
           NOTE:  Since FORDDT is now  defined  as  a  global  symbol,
         users  should  be  careful  if  they  decide to use the label
         FORDDT as a program, subroutine or function name.



3.0  KNOWN BUGS AND DEFICIENCIES

     1.  FORDDT is very sensitive to spaces in command  lines.   If  a
         parameter  is  to  be  specified  for  a command, the command
         identifier must be terminated by a space:  NEXT/L will  evoke
         a  syntax error, while NEXT /L will not.  Note also that if a
         parameter is not specified the command identifier must not be
         followed  by  a blank:  DIMENSION<SPACE><CR><LF> will evoke a
         syntax error message.

     2.  FORDDT does not support overlays.

     3.  There is currently a problem with local symbols in that  some
         library  routines may have local symbols which duplicate user
         defined symbols.  This may cause some locals, which the  user
         believes  to  be  unique outside the currently opened program
         unit, to be reported as multiply defined.   To  remove  local
         symbols from FORLIB, the following commands may be used:

         @MAKLIB
         *SYS:FORLIB=SYS:FORLIB/NOLOCALS



4.0  INSTALLATION INSTRUCTIONS

See the file FORTRA.INS for information regarding installation.



5.0  INTERNAL CHANGES

The following is a list of all of the edits made to Version 5A(101) in
producing version 6.
FDT6.DOC - FORDDT-20                                            Page 4


102    SPR-11018  Prevent loop if symbol  table  has  been  BLT'ed  to
                  zero, as can happen with an overlaid program.

103    QAR-2182   Put "SEARCH MONSYM" from edit 100 under "IFN TOPS20"
                  and move it to after the definition of TOPS20.

104    SPR-24427  Prevent illegal memory  reference  if  symbol  table
                  ends exactly at the end of legal memory.

105    SPR-11395  Handle TYPE with  multiple  arguments.   FORDDT  was
                  blowing  up  if  first arg was formal array, because
                  formal array flag never got cleared.

106    SPR-25207  Change FDTNAR not an array to FDTNAA.   This  Avoids
                  Conflict With FDTNAR not after REENTER.

107    SPR-NONE   Fix symbol search termination test (off by 2).

110    SPR-25384  Fix type of a formal array in small programs.

111    SPR-11839  ACCEPT  statement  eats  first  character  of  input
                  value.

112    SPR-27201  Make  use  of  typeouts  and   mode   control   more
                  consistant.

113    SPR-12316  Restrict use of double precision in conditionals.

114    SPR-NONE   Clean up some TOPS-20  code:   implement  nontrivial
                  DDT  command,  fix  HALTF  when  COMND JSYS gives an
                  error return, remove some redundant code in LISTEN.

115    SPR-NONE   Get VMDDT on TOPS-10  when  DDT  isn't  loaded  with
                  prog.

116    SPR-28581  Implement use of logicals (.TRUE.  and  .FALSE.)  in
                  PAUSE conditionals.

117    SPR-NONE   Make error messages upper and lower case.

120    SPR-NONE   Implement  logicals  into  ACCEPT,  MODE  and   TYPE
                  statements using the flag "/L".  "/L" was previously
                  used to specify long (ie.  two word)  ASCII,  RASCII
                  and  OCTAL  values  in the ACCEPT and MODE commands.
                  This switch has been changed to "/B",  mnemonic  for
                  "BIG".

121    SPR-NONE   Fix -20 code to clear bad lines properly.

122    SPR-NONE   Set .JBDDT  when  VMDDT  is  pulled  in  to  prevent
                  overflow warnings from FOROTS.

123    SPR-NONE   Prevent infinite loop on TOPS-20 if .JBHSO is 0  but
                  .JBHRL isn't.
FDT6.DOC - FORDDT-20                                            Page 5


124    SPR-NONE   Fix logical TYPEing so that all positive values  are
                  .FALSE.  and all negative values are .TRUE..

125    SPR-NONE   Add a new  entry  point  (%FDDT)  to  be  used  when
                  returning  from  DDT  in  place  of .F10 (which will
                  still work).

126    SPR-NONE   Add ?FDT prefix to COMND JSYS error messages.

127    SPR-NONE   Call  FOROTS  routine  DEC.   to   interpret   real,
                  integer,   complex,  and  double  precision  numbers
                  instead of IN..

130    SPR-NONE   Call HELPER to print out FORDDT.HLP  when  the  HELP
                  command is issued.

131    SPR-NONE   Search universal FDDT20 to define TOPS20 instead  of
                  defining it within FORDDT.

132    SPR-29363  Fix various problems that occur when  core  file  is
                  filled during GROUP and TYPE commands.

133    SPR-29261  Fix up error handling  when  reading  program  name.
                  Use command JSYS when reading program name on -20.

134    SPR-NONE   PAUSE sometimes hangs if a line terminator is  typed
                  in an inappropriate place.  Fix it.

135    SPR-NONE   When looking up symbol in symbol table, make sure we
                  compare  the  whole  symbol  and  not just the right
                  half-word

136    SPR-NONE   PAUSE command doesn't allow comments in all  places.
                  fix it.

137    SPR-NONE   Add G-floating capability for input/output.  Use  of
                  G-floating  is  determined at initialization time by
                  the presence of the symbol "..GFL.".  If ..GFL.   is
                  missing,  default  to  D-floating.   If  ..GFL.   is
                  present, use G-floating.

140    SPR-NONE   Fix COMND trailing space problem.  On the  -20,  the
                  COMND  JSYS  is  used  to  parse  the first keyword.
                  COMND supplies an extra  space  which  makes  FORDDT
                  think   that   there  are  arguments  following  the
                  keyword.  This bug fix edits the COMND  text  buffer
                  before doing a RSCAN JSYS and passing it to FORDDT's
                  parsing code.  It appropiately skips over comments.

141    SPR-NONE   Fix G-floating bug.  Symbol ..GFL.  was changed to a
                  deleted  output  global  symbol,  breaking  FORDDT's
                  symbol lookup routine.  One line patch  at:   EVAL1.
                  Replace existing line with MOVSI R,GLOBAL!DELO.

142    SPR-NONE   Use the  new  FOROTS  routine  to  get  high-segment
FDT6.DOC - FORDDT-20                                            Page 6


                  symbol  table  pointer.   This  is  in case the high
                  segment is protected.  Make sure HELPER gets  loaded
                  into the low-seg and that we look for it on REL:  on
                  TOPS-10.  Fix  up  some  error  messages.   Relocate
                  univeral searches.

143    SPR-NONE   Assume that FOROTS and FORLIB are  loaded  from  now
                  on.   So  remove  almost all the SKIPIF macro calls.
                  This also fixes the problem  of  GHSSYP  recursively
                  calling itself.

144    QAR-5031   Change output format to  suppress  FOROTS's  CR,  as
                  FORDDT  types  a CR also.  Also remove FORBUF, which
                  is now unnecessary.

145    SPR-NONE   Make FORDDT the entry point for  FORTRAN  users  who
                  wish  to  call FORDDT as an error routine.  SFDDT is
                  the  new  entry  point   for   initializing   FORDDT
                  (including  reseting  all  files  opened by FOROTS).
                  SFDDT  replaces  the  old  FORDDT  symbol.   Replace
                  FORBUF.
                    NOTE:  Since FORDDT is now a global symbol,  users
                  should  be  careful  if they decide to use the label
                  FORDDT as a program, subroutine or function name.

146    SPR-NONE   New calling sequence for FOROP.

147    SPR-NONE   Fix up help code so that we get FORDDT.HLP ourselves
                  instead of using HELPER.  This way FOROTS' data will
                  not get stomped on.  Conditionalize out the old code
                  for  the time being.  Redefine AC0 to be accumulator
                  0  and  redefine  the  memory  location   previously
                  defined as AC0 to be SAVACS.  Also, remove universal
                  file FDDT20.

150    SPR-NONE   Change so that all JSYSs  consistently  end  with  a
                  percent  sign  (%).  Also clean up the listing a bit
                  (e.g., change PAGE pseudo-ops to form-feeds,  delete
                  definitions already defined in UUOSYM, etc.).

151    SPR-16084  FORDDT always flags lowercase on ASCII typeout.   On
                  TOPS-20, don't do any flagging--the monitor and user
                  commands will do it.  On TOPS10, if the terminal  is
                  set  to uppercase, flag the lowercase character;  if
                  it is  set  to  lowercase,  don't  do  any  flagging
                  (default is no flagging).

152 Q20-1675      Prevent FORDDT from getting arithmetic overflows  in
                  its symbol offset calculation.

153    SPR-NONE   Report what is assembling (TOPS10 or TOPS20).   Also
                  PURGE  some  symbols  which  my conflict with users'
                  subroutine names.

154    SPR-NONE   Move setting .JBREN to before  the  call  to  RESET.
FDT6.DOC - FORDDT-20                                            Page 7


                  Use  a  different  mechanism  for detecting multiple
                  REENTER entries.



6.0  SUGGESTIONS

None.



[End Of FDT6.DOC]