home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / style / styledoc.src < prev    next >
Encoding:
Text File  |  1988-05-03  |  17.7 KB  |  897 lines

  1. ::::::::::
  2. style_doc.dis
  3. ::::::::::
  4. -- Copy from the VAX directory : USER1:[powers.nosc.doc]maintman.mem
  5. maintman.doc
  6. ::::::::::
  7. maintman.doc
  8. ::::::::::
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                                  STYLE CHECKER
  19.  
  20.  
  21.  
  22.  
  23.  
  24.                This document  describes  a  general  overview  of  the
  25.  
  26.  
  27.           structure of the Ada Style Checker's package structure.  The
  28.  
  29.  
  30.           description includes information that will be  of  value  in
  31.  
  32.  
  33.           understanding  the  interaction  of  the  software  and  the
  34.  
  35.  
  36.           interfaces necessary for the software to function  properly.
  37.  
  38.  
  39.           This  document  should  also serve as a guide for any future
  40.  
  41.  
  42.           maintenance that may become necessary or desired.
  43.  
  44.  
  45.  
  46.  
  47.  
  48.                The following list  is  a  list  of  the  source  files
  49.  
  50.  
  51.           required  to  build  the  Style Checker.  They are listed in
  52.  
  53.  
  54.           compilation order
  55.  
  56.  
  57.  
  58.  
  59.  
  60.           1.  DYN.ADA - DYN (dynamic  string)  package  (specification
  61.  
  62.  
  63.               and body)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.           2.  FILE_SPEC.ADA - FILE_HANDLING package specification
  70.  
  71.  
  72.  
  73.  
  74.  
  75.           3.  TOKENIZER_SPEC.ADA - TOKENIZER package specification
  76.  
  77.  
  78.  
  79.  
  80.  
  81.           4.  STYLE_PARAM_SPEC.ADA    -    STYLE_PARAMETERS    package
  82.  
  83.  
  84.               specification
  85.  
  86.  
  87.  
  88.  
  89.  
  90.           5.  REPORT_GEN_SPEC.ADA    -    REPORT_GENERATOR     package
  91.  
  92.  
  93.               specification
  94.  
  95.  
  96.  
  97.  
  98.  
  99.           6.  STACK_PACKAGE.ADA - STACK_PACKAGE package (specification
  100.  
  101.  
  102.               and body)
  103.  
  104.  
  105.  
  106.  
  107.  
  108.           7.  TOKEN_DEFINITION.ADA    -    TOKEN_DEFINITION    package
  109.  
  110.  
  111.               (specification and body)
  112.  
  113.  
  114.  
  115.  
  116.  
  117.           8.  MANAGER.ADA - MANAGER package (specification and body)
  118.  
  119.  
  120.  
  121.  
  122.  
  123.           9.  HELP_FILE_SPEC.ADA - HELP package specification
  124.  
  125.  
  126.  
  127.  
  128.  
  129.          10.  COMMAND_LINE.ADA    -    COMMAND_LINE_HANDLER    package
  130.  
  131.  
  132.               (specification and body)
  133.  
  134.  
  135.  
  136.  
  137.  
  138.          11.  HELP_FILE_SPEC.ADA - HELP package specification
  139.  
  140.  
  141.  
  142.  
  143.  
  144.          12.  HELP_FILE_BODY.ADA - HELP package body
  145.  
  146.  
  147.  
  148.  
  149.  
  150.          13.  HELP_INFO_SPEC.ADA - HELP_INFO package specification
  151.  
  152.  
  153.  
  154.  
  155.  
  156.          14.  HELP_INFO_BODY.ADA - HELP_INFO package body
  157.  
  158.  
  159.  
  160.  
  161.  
  162.          15.  HELP_DIS_ALL.ADA - a separate procedure in HELP_UTILITY
  163.  
  164.  
  165.  
  166.  
  167.  
  168.          16.  HELP_EXIT.ADA - a separate procedure in HELP_UTILITY
  169.  
  170.  
  171.  
  172.  
  173.  
  174.          17.  HELP_FIND.ADA - a separate procedure in HELP_UTILITY
  175.  
  176.  
  177.                                                                 Page 2
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.          18.  HELP_GET.ADA - a separate procedure in HELP_UTILITY
  187.  
  188.  
  189.  
  190.  
  191.  
  192.          19.  HELP_INIT.ADA - a separate procedure in HELP_UTILITY
  193.  
  194.  
  195.  
  196.  
  197.  
  198.          20.  HELP_ME.ADA - a separate procedure in HELP_UTILITY
  199.  
  200.  
  201.  
  202.  
  203.  
  204.          21.  HELP_MENU.ADA - a separate procedure in HELP_UTILITY
  205.  
  206.  
  207.  
  208.  
  209.  
  210.          22.  HELP_PROMPT.ADA - a separate procedure in HELP_UTILITY
  211.  
  212.  
  213.  
  214.  
  215.  
  216.          23.  HELP_RESET.ADA - a separate procedure in HELP_UTILITY
  217.  
  218.  
  219.  
  220.  
  221.  
  222.          24.  HELP_TEXT.ADA - a separate procedure in HELP_UTILITY
  223.  
  224.  
  225.  
  226.  
  227.  
  228.          25.  FILE_BODY.ADA - FILE_HANDLING package body
  229.  
  230.  
  231.  
  232.  
  233.  
  234.          26.  TOKENIZER_BODY.ADA - TOKENIZER package body
  235.  
  236.  
  237.  
  238.  
  239.  
  240.          27.  INSERT.ADA - A separate procedure in the TOKENIZER
  241.  
  242.  
  243.  
  244.  
  245.  
  246.          28.  IS_A_RESERVED_WORD.ADA - A  separate  procedure  in  the
  247.  
  248.  
  249.               TOKENIZER
  250.  
  251.  
  252.  
  253.  
  254.  
  255.          29.  RESERVED_WORD.ADA  -  A  separate   procedure   in   the
  256.  
  257.  
  258.               TOKENIZER
  259.  
  260.  
  261.  
  262.  
  263.  
  264.          30.  NEXT_CHARACTER.ADA  -  A  separate  procedure   in   the
  265.  
  266.  
  267.               TOKENIZER
  268.  
  269.  
  270.  
  271.  
  272.  
  273.          31.  NEXT_IDENTIFIER.ADA  -  A  separate  procedure  in   the
  274.  
  275.  
  276.               TOKENIZER
  277.  
  278.  
  279.  
  280.  
  281.  
  282.          32.  BUILD_TOKENS.ADA - A separate procedure in the TOKENIZER
  283.  
  284.  
  285.  
  286.  
  287.  
  288.          33.  LINE_CONTAINING.ADA  -  A  separate  procedure  in   the
  289.  
  290.  
  291.               TOKENIZER
  292.  
  293.  
  294.  
  295.  
  296.  
  297.          34.  TREE_ROOT.ADA - A separate procedure in the TOKENIZER
  298.  
  299.  
  300.  
  301.  
  302.  
  303.          35.  STYLE_PARAM_BODY.ADA - STYLE_PARAMETERS package body
  304.  
  305.  
  306.  
  307.  
  308.  
  309.          36.  REPORT_GEN_BODY.ADA - REPORT_GENERATOR package body
  310.  
  311.  
  312.  
  313.  
  314.  
  315.          37.  STYLE_CHECKER.ADA - main procedure (STYLE_CHECKER)
  316.  
  317.  
  318.  
  319.  
  320.  
  321.          38.  BEGIN_OF_LINE_INDENT.ADA - A separate procedure  in  the
  322.  
  323.  
  324.               STYLE_CHECKER
  325.  
  326.  
  327.  
  328.  
  329.  
  330.          39.  CHECK_STATEMENTS.ADA  -  A  separate  procedure  in  the
  331.  
  332.  
  333.               STYLE_CHECKER
  334.  
  335.  
  336.  
  337.  
  338.  
  339.          40.  CHECK_END_OF_BLOCKS.ADA - A separate  procedure  in  the
  340.  
  341.  
  342.               STYLE_CHECKER
  343.  
  344.  
  345.                                                                 Page 3
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.          41.  CHECK_THE_STYLE.ADA  -  A  separate  procedure  in   the
  355.  
  356.  
  357.               STYLE_CHECKER
  358.  
  359.  
  360.  
  361.  
  362.  
  363.          42.  CHECK_FOR_ATTRIBUTE.ADA - A separate  procedure  in  the
  364.  
  365.  
  366.               STYLE_CHECKER
  367.  
  368.  
  369.  
  370.  
  371.  
  372.          43.  CHECK_OBJECT_NAMES.ADA - A  separate  procedure  in  the
  373.  
  374.  
  375.               STYLE_CHECKER
  376.  
  377.  
  378.  
  379.  
  380.  
  381.          44.  CHECK_UNIVERSAL.ADA  -  A  separate  procedure  in   the
  382.  
  383.  
  384.               STYLE_CHECKER
  385.  
  386.  
  387.  
  388.  
  389.  
  390.          45.  COMMENT_TOKEN.ADA  -  A  separate   procedure   in   the
  391.  
  392.  
  393.               STYLE_CHECKER
  394.  
  395.  
  396.  
  397.  
  398.  
  399.          46.  CURRENT_TOKEN.ADA  -  A  separate   procedure   in   the
  400.  
  401.  
  402.               STYLE_CHECKER
  403.  
  404.  
  405.  
  406.  
  407.  
  408.          47.  ENTERING_BLOCK.ADA  -  A  separate  procedure   in   the
  409.  
  410.  
  411.               STYLE_CHECKER
  412.  
  413.  
  414.  
  415.  
  416.  
  417.          48.  ENTERING_SUB_BLOCK.ADA - A  separate  procedure  in  the
  418.  
  419.  
  420.               STYLE_CHECKER
  421.  
  422.  
  423.  
  424.  
  425.  
  426.          49.  EXITING_BLOCK.ADA  -  A  separate   procedure   in   the
  427.  
  428.  
  429.               STYLE_CHECKER
  430.  
  431.  
  432.  
  433.  
  434.  
  435.          50.  GET_NEXT_TOKEN.ADA  -  A  separate  procedure   in   the
  436.  
  437.  
  438.               STYLE_CHECKER
  439.  
  440.  
  441.  
  442.  
  443.  
  444.          51.  IS_STATEMENT.ADA  -  A   separate   procedure   in   the
  445.  
  446.  
  447.               STYLE_CHECKER
  448.  
  449.  
  450.  
  451.  
  452.  
  453.          52.  LITERAL.ADA - A separate procedure in the STYLE_CHECKER
  454.  
  455.  
  456.  
  457.  
  458.  
  459.          53.  NEW_LINE_TOKEN.ADA  -  A  separate  procedure   in   the
  460.  
  461.  
  462.               STYLE_CHECKER
  463.  
  464.  
  465.  
  466.  
  467.  
  468.          54.  NON_TRIVIAL_TOKEN.ADA -  A  separate  procedure  in  the
  469.  
  470.  
  471.               STYLE_CHECKER
  472.  
  473.  
  474.  
  475.  
  476.  
  477.          55.  OBJECT_NAME.ADA  -   A   separate   procedure   in   the
  478.  
  479.  
  480.               STYLE_CHECKER
  481.  
  482.  
  483.  
  484.  
  485.  
  486.          56.  RESERVE_WORD.ADA  -  A   separate   procedure   in   the
  487.  
  488.  
  489.               STYLE_CHECKER
  490.  
  491.  
  492.  
  493.  
  494.  
  495.          57.  SEARCH_BACKWARD.ADA  -  A  separate  procedure  in   the
  496.  
  497.  
  498.               STYLE_CHECKER
  499.  
  500.  
  501.  
  502.  
  503.  
  504.          58.  SEARCH_BACK_ONE_OF.ADA - A  separate  procedure  in  the
  505.  
  506.  
  507.               STYLE_CHECKER
  508.  
  509.  
  510.                                                                 Page 4
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.          59.  SEARCH_FORWARD.ADA  -  A  separate  procedure   in   the
  520.  
  521.  
  522.               STYLE_CHECKER
  523.  
  524.  
  525.  
  526.  
  527.  
  528.          60.  SEARCH_FORE_ONE_OF.ADA - A  separate  procedure  in  the
  529.  
  530.  
  531.               STYLE_CHECKER
  532.  
  533.  
  534.  
  535.  
  536.  
  537.          61.  TYPE_DECLARATION.ADA  -  A  separate  procedure  in  the
  538.  
  539.  
  540.               STYLE_CHECKER
  541.  
  542.  
  543.  
  544.  
  545.  
  546.                                                                 Page 5
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.                                   THE PACKAGES
  556.  
  557.  
  558.  
  559.  
  560.  
  561.                In  the  next  section   each   package   is   outlined
  562.  
  563.  
  564.           separately.  The packages are listed in compilation order.
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.                                   Package DYN
  577.  
  578.  
  579.  
  580.  
  581.  
  582.                This package is contained in the file DYN.ADA.  It is a
  583.  
  584.  
  585.           dynamic  string  package,  modeled  after the dynamic string
  586.  
  587.  
  588.           package described by Sylvan  Rubin  of  Ford  Aerospace  and
  589.  
  590.  
  591.           Communications  Corporation in the Nov/Dec 1984 issue of the
  592.  
  593.  
  594.           Journal of Pascal, Ada and Modula-2.  It is  primarily  used
  595.  
  596.  
  597.           by  the  TOKENIZER package, but is used a little by most all
  598.  
  599.  
  600.           of the packages in the STYLE_CHECKER.   A  possible  problem
  601.  
  602.  
  603.           with   this   package   is   that   on   a  system  with  no
  604.  
  605.  
  606.           UNCHECKED_DEALLOCATION and no automatic "garbage collection"
  607.  
  608.  
  609.           of  access  objects  problems  with  heap size may arise.  A
  610.  
  611.  
  612.           proposed  solution  is  to   change   the   dynamic   string
  613.  
  614.  
  615.           representation.   Since  it  is  a  private type this should
  616.  
  617.  
  618.           cause few problems with the rest of the system.
  619.  
  620.  
  621.                                                                 Page 6
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.                              Package FILE_HANDLING
  631.  
  632.  
  633.  
  634.  
  635.  
  636.                This package is contained in the files
  637.  
  638.  
  639.  
  640.  
  641.  
  642.           1.  FILE_SPEC.ADA
  643.  
  644.  
  645.  
  646.  
  647.  
  648.           2.  FILE_BODY.ADA
  649.  
  650.  
  651.  
  652.  
  653.  
  654.           The   FILE_HANDLING    package    controls    the    initial
  655.  
  656.  
  657.           identification and opening of the input and output files.
  658.  
  659.  
  660.                                                                 Page 7
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.                                Package TOKENIZER
  670.  
  671.  
  672.  
  673.  
  674.  
  675.                The TOKENIZER package is  contained  in  the  following
  676.  
  677.  
  678.           files:
  679.  
  680.  
  681.  
  682.  
  683.  
  684.           1.  TOKENIZER_SPEC.ADA
  685.  
  686.  
  687.  
  688.  
  689.  
  690.           2.  TOKENIZER_BODY.ADA
  691.  
  692.  
  693.  
  694.  
  695.  
  696.           3.  INSERT.ADA
  697.  
  698.  
  699.  
  700.  
  701.  
  702.           4.  IS_A_RESERVED_WORD.ADA
  703.  
  704.  
  705.  
  706.  
  707.  
  708.           5.  RESERVED_WORD.ADA
  709.  
  710.  
  711.  
  712.  
  713.  
  714.           6.  NEXT_CHARACTER.ADA
  715.  
  716.  
  717.  
  718.  
  719.  
  720.           7.  NEXT_IDENTIFIER.ADA
  721.  
  722.  
  723.  
  724.  
  725.  
  726.           8.  BUILD_TOKENS.ADA
  727.  
  728.  
  729.  
  730.  
  731.  
  732.           9.  LINE_CONTAINING.ADA
  733.  
  734.  
  735.  
  736.  
  737.  
  738.          10.  TREE_ROOT.ADA
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.           The TOKENIZER package  processes  the  Ada  input  file  and
  748.  
  749.  
  750.           produces  tokens  to be processed by the subsequent packages
  751.  
  752.  
  753.           of the Style Checker.  It also serves as  the  interface  to
  754.  
  755.  
  756.           the  stream  of tokens.  All the calls to TEXT_IO GET's from
  757.  
  758.  
  759.           the  input  files  are  localized  to   the   NEXT_CHARACTER
  760.  
  761.  
  762.           function.
  763.  
  764.  
  765.  
  766.  
  767.  
  768.                This package  has  a  procedure  BUILD_TOKENS  that  is
  769.  
  770.  
  771.           called first, and then the functions FIRST_TOKEN, NEXT_TOKEN
  772.  
  773.  
  774.           and PREVIOUS_TOKEN  are  used  to  move  through  the  token
  775.  
  776.  
  777.           stream.   Since  the TOKEN type is a private type changes in
  778.  
  779.  
  780.           the internal  representation  of  TOKENs  should  cause  few
  781.  
  782.  
  783.           problems with the other packages.
  784.  
  785.  
  786.                                                                 Page 8
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.                            Package  STYLE_PARAMETERS
  796.  
  797.  
  798.  
  799.  
  800.  
  801.                The STYLE_PARAMETERS package is contained in the  files
  802.  
  803.  
  804.           :
  805.  
  806.  
  807.  
  808.  
  809.  
  810.           1.  STYLE_PARAM_SPEC.ADA
  811.  
  812.  
  813.  
  814.  
  815.  
  816.           2.  STYLE_PARAM_BODY.ADA
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.                This package  contains  the  functions  and  procedures
  826.  
  827.  
  828.           called  to get the parameters that drive the style checking.
  829.  
  830.  
  831.           In   order   to    alter    the    parameters    the    file
  832.  
  833.  
  834.           STYLE_PARAM_BODY.ADA  must  be  edited,  and  the  procedure
  835.  
  836.  
  837.           SET_STYLE_PARAMETERS  must  be  altered   to   reflect   the
  838.  
  839.  
  840.           appropriate  parameter(s).   For more information concerning
  841.  
  842.  
  843.           the individual parameters and their meaning see  the  source
  844.  
  845.  
  846.           code documentation and the on-line help facility.
  847.  
  848.  
  849.                                                                 Page 9
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.                            Package   REPORT_GENERATOR
  859.  
  860.  
  861.  
  862.  
  863.  
  864.                This package is contained in the files:
  865.  
  866.  
  867.  
  868.  
  869.  
  870.           1.  REPORT_GEN_SPEC.ADA
  871.  
  872.  
  873.  
  874.  
  875.  
  876.           2.  REPORT_GEN_BODY.ADA
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.                This package contains the procedures that generate both
  886.  
  887.  
  888.           the flaws report file and the style report file.  If any new
  889.  
  890.  
  891.           style checks are to be added to the STYLE_CHECKER needed  to
  892.  
  893.  
  894.           be  added to several places in the REPORT_GENERATOR package.
  895.  
  896.  
  897.           They must be added to the record  that  contains  the  count
  898.  
  899.  
  900.           information for all the flaws.  They need to be added to the
  901.  
  902.  
  903.           enumeration type that lists  the  flaws.   This  enumeration
  904.  
  905.  
  906.           type  is  a  parameter  to the PUT_FLAW procedure.  Then the
  907.  
  908.  
  909.           code to add them to the style report must be  added  to  the
  910.  
  911.  
  912.           GENERATE_REPORT procedure.
  913.  
  914.  
  915.                                                                Page 10
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.                              Package STACK_PACKAGE
  925.  
  926.  
  927.  
  928.  
  929.  
  930.                This package is contained in the file:
  931.  
  932.  
  933.  
  934.  
  935.  
  936.           1.  STACK_PACKAGE.ADA
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.           This package is a generic stack package.
  946.  
  947.  
  948.                                                                Page 11
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.                      Packages TOKEN_DEFINITION and MANAGER
  958.  
  959.  
  960.  
  961.  
  962.  
  963.                These packages are contained in the files:
  964.  
  965.  
  966.  
  967.  
  968.  
  969.           1.  TOKEN_DEFINITION.ADA
  970.  
  971.  
  972.  
  973.  
  974.  
  975.           2.  MANAGER.ADA
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.                These   two   pacakges   are   inhereted    from    the
  985.  
  986.  
  987.           SPELLING_CHECKER  tool.  They currently are stubbed out.  If
  988.  
  989.  
  990.           it was desired to have the  STYLE_CHECKER  check  that  each
  991.  
  992.  
  993.           variable  name  was a word these two packages could be moved
  994.  
  995.  
  996.           from the SPELLING_CHECKER (and  any  further  packages  they
  997.  
  998.  
  999.           needed)  and  code  could  be  added  in  the  STYLE_CHECKER
  1000.  
  1001.  
  1002.           procedure CHECK_OBJECT_NAMES.  Currently the code  to  check
  1003.  
  1004.  
  1005.           if  a variable is a word is included, but nothing is done if
  1006.  
  1007.  
  1008.           the result is false.
  1009.  
  1010.  
  1011.                                                                Page 12
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.                Packages HELP, HELP_INFO_SUPPORT and HELP_UTILITY
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.                  These packages are contained in the files:
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.           1.  HELP_FILE_SPEC.ADA
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.           2.  HELP_FILE_BODY.ADA
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.           3.  HELP_INFO_SPEC.ADA
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.           4.  HELP_INFO_BODY.ADA
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.           5.  HELP_SPEC.ADA
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.           6.  HELP_BODY.ADA
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.           7.  HELP_DIS_ALL.ADA
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.           8.  HELP_EXIT.ADA
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.           9.  HELP_FIND.ADA
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.          10.  HELP_GET.ADA
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.          11.  HELP_INIT.ADA
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.          12.  HELP_ME.ADA
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.          13.  HELP_MENU.ADA
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.          14.  HELP_PROMPT.ADA
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.          15.  HELP_RESET.ADA
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.          16.  HELP_TEXT.ADA
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.          17.  STYLE_HELP.INI (Not a compiled unit, a text file)
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.                These  packages  are  the  help  utility.    The   file
  1138.  
  1139.  
  1140.           STYLE_HELP.INI   contains   the  source  used  by  the  help
  1141.  
  1142.  
  1143.           facility.  Any change of  the  name  of  the  STYLE_HELP.INI
  1144.  
  1145.  
  1146.           filename   will  require  a  change  of  the  initialization
  1147.  
  1148.  
  1149.           filename constant in the FILE_HANDLING package.
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.                The text file  used  by  the  HELP_UTILITY  Package  is
  1156.  
  1157.  
  1158.           required to have a particular format.  If the file is not in
  1159.  
  1160.  
  1161.           this format, an exception will  be  raised.   The  following
  1162.  
  1163.  
  1164.           explains the required format.
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.                COMMENTS:  Comments may be embeded in  the  text  file.
  1171.  
  1172.  
  1173.           All  comments are ignored when the file is read into memory.
  1174.  
  1175.  
  1176.           A text line is considered a comment if the first and  second
  1177.  
  1178.  
  1179.           characters of the line are minus signs ( -- ).
  1180.  
  1181.  
  1182.                                                                Page 13
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                TOPICS:  The first non-comment  text  line  MUST  begin
  1192.  
  1193.  
  1194.           with  the  digit  1 in column one.  This number is the topic
  1195.  
  1196.  
  1197.           level.  In other words, text (as defined  below)  cannot  be
  1198.  
  1199.  
  1200.           found  in the text file before a topic is found to which the
  1201.  
  1202.  
  1203.           text can be associated.  Topics are those subjects for which
  1204.  
  1205.  
  1206.           information is being provided.  A topic name may contain any
  1207.  
  1208.  
  1209.           printable character except blanks.  Embedded blanks are  NOT
  1210.  
  1211.  
  1212.           allowed  in  a  topic  name.  This will not be flagged as an
  1213.  
  1214.  
  1215.           error but the name will be truncated  at  the  first  blank.
  1216.  
  1217.  
  1218.           All  letters  in  the  name  must  be  capitals.   It is not
  1219.  
  1220.  
  1221.           required to have a space separating the topic level from the
  1222.  
  1223.  
  1224.           topic  name.   Any  line  beginning  with  a  digit  will be
  1225.  
  1226.  
  1227.           considered a topic line.
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.                SUBTOPICS:  A topic may have subtopics.  Subtopics  are
  1234.  
  1235.  
  1236.           denoted  by  having  a  level  exactly  one greater than the
  1237.  
  1238.  
  1239.           associated topic level.  Subtopics follow the same rules  as
  1240.  
  1241.  
  1242.           topics  in all other aspects.  There is no constraint (other
  1243.  
  1244.  
  1245.           than a lack of memory) on the number of subtopic levels.
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.                TEXT:   All  text  lines   not   beginning   with   two
  1252.  
  1253.  
  1254.           consecutive minus signs or a digit will be considered text.
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.                The text file is saved exactly  as  the  user  sees  it
  1261.  
  1262.  
  1263.           (including blank lines) with the follow exceptions:
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.            -  topic and subtopic names have  leading  blanks  stripped
  1270.  
  1271.  
  1272.               off
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.            -  if the topic or subtopic name is longer  than  one  half
  1279.  
  1280.  
  1281.               the  screen  size,  it  may  be truncated when a menu of
  1282.  
  1283.  
  1284.               information is output
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.            -  if the text line is longer than  the  screen  size,  the
  1291.  
  1292.  
  1293.               text line is truncated before output
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.            -  the text file lines are assumed to be eighty  characters
  1300.  
  1301.  
  1302.               maximum.
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.                                                                Page 14
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.                           Package COMMAND_LINE_HANDLER
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.                This package is contained in the file COMMAND_LINE.ADA.
  1324.  
  1325.  
  1326.           This  package  contains routines which return words from the
  1327.  
  1328.  
  1329.           command line.  It expects an external file to  created  that
  1330.  
  1331.  
  1332.           contains  each  word  that follows the inkoking command, one
  1333.  
  1334.  
  1335.           word per line.  These lines are interpreted  as  file  names
  1336.  
  1337.  
  1338.           and opened by a procedure in this package.
  1339.  
  1340.  
  1341.