home *** CD-ROM | disk | FTP | other *** search
-
-
- Comments on Porting
- Video
- A Menu Manager by AdaSoft
- to DEC Ada
-
- Tool 15
- June 28, 1985
-
- COMPILATION
- -----------
- A VMS command file was created from the ordered list of compilation
- units provided in Appendix C of the Users manual by correlating file names
- to the unit names as shown below:
-
- caisioco.txt
- caisio.txt
- passprocs.txt
- vidtypes.txt
- caispage.txt
- videbug.txt
- caisint.txt
- commsgs.txt
- prompts.txt
- comprocs.txt
- videoio.txt
- sysdepd.txt
- init.txt
- vidinit.txt
- vidprocs.txt
- modlprocs.txt
- add.txt
- delete.txt
- modify.txt
- insert.txt
- move.txt
- model.txt
- vidmodl.txt
- progprocs.txt
- videomain.txt
- video.txt
- diagtypes.txt
- diagmsg.txt
- diagramio.txt
- diagram.txt
- vidiag.txt
-
- Numerous but simple changes were required to allow compilation
- under the DEC Ada compiler. Several "out" parameters had to be
- made "inout" and several character string presets were the wrong length.
- More serious problems were a missing IO procedure, an illegal preset on
- a type declaration, and reference to a no longer needed compilation unit.
-
- 1. "In" paramters were changed to "inout" in the following files (Note, this
- approach caused some propogation of the problem because "out" parameters
- subsequently passed to "inout" parameters also had to be changed);
- COMPROCS VIDEOIO VIDPROCS MODLPROCS
- ADD DELETE INSERT MODEL
- MODIFY MOVE VIDEOMAIN
-
- 2. Constraint errors either during elaboration or execution found several
- instances where character string literals were one character too long.
- Affected files were:
- VIDEO VIDINIT VIDMODL ADD
- MOVE MODIFY DELETE INSERT
- COMMSGS DIAGRAM
-
- 3. In file PROGPROCS, the procedure RUN_PROGRAM was removed and should
- be replaced by a system dependent routine to initiate processes.
-
- 4. In file CAISIO, a PUT procedure for strings had to be added.
-
- 5. In file COMPROCS, the "with" and "use" for TERMINAL_CONTROL were
- removed. TERMINAL_CONTROL does not exist.
-
- 6. In DIAGTYPES, the type for maximum page and line length was changed
- from "long_integer" to "TEXT_IO.count".
-
- 7. In PASSPROCS, the range for "LNTH" in type "password" was set to 0..8
- rather than 1..8. Otherwise, every declaration of "password" warned
- of a constraint error because "LNTH" was preset to 0.
-
-
-
- EXECUTION
- ---------
- We were able to execute the VIDEO, VIDEO_INIT, VIDEO_MODEL and VIDEO_DIAGRAM
- programs. They appeared to be in workable condition. The following
- modifications were required to overcome IO interface problems.
-
- 1. A package TTY_IN was created to import the assembly language routines
- PUTCH and GETCH which provide DIRECT_IO on a character by character
- basis. (DEC Ada IO is always buffered). All references to TEXT_IO
- in CAISIO were replaced by TTY_IN.
-
- 2. In CAISPAGE, the escape sequence preset for TO_END was corrected to
- "[" and the Function TO_STRING was added to avoid the leading blank
- created by "integer'image". Thus VT100 compatibility was obtained.
-
- 3. On DEC, calls to CREATE within DIRECT_IO require a Form parameter
- when the item with which the DIRECT_IO package is instantiated is
- unconstrained. The form parameter added specified the attributes,
- "record" and "size" with a value of "integer'image(node_record_size)"
- to denote the maximum record size.
-
-
- Additional modifications:
-
- 1. The type specification for the parameter option used to receive
- the users entry had to be changed to include the special character
- set,(<cr>, /, I, X, R, C, T, Z). Otherwise, in both VIDEO and
- VIDEO_MODEL an exception was raised when the requested special
- symbol was entered.
-
- 2. In VIDEO_TYPES the range for "LNTH" was set to "0..MAX_LINE_LNTH"
- rather than "1..MAX_LINE_LNTH". Otherwise, blank lines could not
- be received from the menu or instruction files.
-
-
-
- COMMENT
- -------
- The documentation for the menu manager was very helpful, however it
- should be noted that DEC compilation requires the usage of the package
- name as the parameter of the run command rather than the file name as
- shown in the manual.
-
-