home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / menu / mmgr.cmm < prev    next >
Encoding:
Text File  |  1988-05-03  |  5.0 KB  |  129 lines

  1.  
  2.  
  3.                      Comments on Porting             
  4.                            Video
  5.                   A Menu Manager by AdaSoft
  6.                          to DEC Ada
  7.  
  8.                                                                Tool 15 
  9.                                                                June 28, 1985
  10.      
  11. COMPILATION
  12. -----------
  13.   A VMS command file was created from the ordered list of compilation
  14.   units provided in Appendix C of the Users manual by correlating file names
  15.   to the unit names as shown below:
  16.  
  17.           caisioco.txt
  18.           caisio.txt
  19.           passprocs.txt
  20.           vidtypes.txt
  21.           caispage.txt
  22.           videbug.txt
  23.           caisint.txt
  24.           commsgs.txt
  25.           prompts.txt
  26.           comprocs.txt
  27.           videoio.txt
  28.           sysdepd.txt
  29.           init.txt
  30.           vidinit.txt
  31.           vidprocs.txt
  32.           modlprocs.txt
  33.           add.txt
  34.           delete.txt
  35.           modify.txt
  36.           insert.txt
  37.           move.txt
  38.           model.txt
  39.           vidmodl.txt
  40.           progprocs.txt
  41.           videomain.txt
  42.           video.txt
  43.           diagtypes.txt
  44.           diagmsg.txt
  45.           diagramio.txt
  46.           diagram.txt
  47.           vidiag.txt
  48.  
  49.   Numerous but simple changes were required to allow compilation 
  50.   under the DEC Ada compiler.  Several "out" parameters had to be
  51.   made "inout" and several character string presets were the wrong length.
  52.   More serious problems were a missing IO procedure, an illegal preset on
  53.   a type declaration, and reference to a no longer needed compilation unit.
  54.      
  55.    1.  "In" paramters were changed to "inout" in the following files (Note, this
  56.        approach caused some propogation of the problem because "out" parameters
  57.        subsequently passed to "inout" parameters also had to be changed);
  58.         COMPROCS        VIDEOIO         VIDPROCS        MODLPROCS
  59.         ADD             DELETE          INSERT          MODEL
  60.         MODIFY          MOVE            VIDEOMAIN
  61.      
  62.    2.  Constraint errors either during elaboration or execution found several
  63.        instances where character string literals were one character too long.
  64.        Affected files were:
  65.         VIDEO           VIDINIT         VIDMODL         ADD
  66.         MOVE            MODIFY          DELETE          INSERT
  67.         COMMSGS         DIAGRAM
  68.      
  69.    3.  In file PROGPROCS, the procedure RUN_PROGRAM was removed and should
  70.        be replaced by a system dependent routine to initiate processes.
  71.      
  72.    4.  In file CAISIO, a PUT procedure for strings had to be added.
  73.      
  74.    5.  In file COMPROCS, the "with" and "use" for TERMINAL_CONTROL were
  75.        removed.  TERMINAL_CONTROL does not exist.
  76.      
  77.    6.  In DIAGTYPES, the type for maximum page and line length was changed
  78.        from "long_integer" to "TEXT_IO.count".
  79.      
  80.    7.  In PASSPROCS, the range for "LNTH" in type "password" was set to 0..8
  81.        rather than 1..8.  Otherwise, every declaration of "password" warned
  82.        of a constraint error because "LNTH" was preset to 0.
  83.      
  84.  
  85.  
  86. EXECUTION
  87. ---------
  88.   We were able to execute the VIDEO, VIDEO_INIT, VIDEO_MODEL and VIDEO_DIAGRAM
  89.   programs.  They appeared to be in workable condition.  The following 
  90.   modifications were required to overcome IO interface problems.
  91.      
  92.    1.  A package TTY_IN was created to import the assembly language routines
  93.        PUTCH and GETCH which provide DIRECT_IO on a character by character
  94.        basis.  (DEC Ada IO is always buffered).  All references to TEXT_IO 
  95.        in CAISIO were replaced by TTY_IN.
  96.      
  97.    2.  In CAISPAGE, the escape sequence preset for TO_END was corrected to
  98.        "[" and the Function TO_STRING was added to avoid the leading blank
  99.        created by "integer'image".  Thus VT100 compatibility was obtained.
  100.    
  101.    3.  On DEC, calls to CREATE within DIRECT_IO require a Form parameter
  102.        when the item with which the DIRECT_IO package is instantiated is
  103.        unconstrained.  The form parameter added specified the attributes,
  104.        "record" and "size" with a value of "integer'image(node_record_size)"
  105.        to denote the maximum record size.
  106.  
  107.  
  108.   Additional modifications:
  109.  
  110.    1.  The type specification for the parameter option used to receive 
  111.        the users entry had to be changed to include the special character
  112.        set,(<cr>, /, I, X, R, C, T, Z).  Otherwise, in both VIDEO and
  113.        VIDEO_MODEL an exception was raised when the requested special 
  114.        symbol was entered. 
  115.  
  116.    2.  In VIDEO_TYPES the range for "LNTH" was set to "0..MAX_LINE_LNTH"       
  117.        rather than "1..MAX_LINE_LNTH".  Otherwise, blank lines could not 
  118.        be received from the menu or instruction files.
  119.  
  120.  
  121.  
  122. COMMENT
  123. -------
  124.   The documentation for the menu manager was very helpful, however it 
  125.   should be noted that DEC compilation requires the usage of the package 
  126.   name as the parameter of the run command rather than the file name as 
  127.   shown in the manual.
  128.  
  129.