home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 3 / AACD03.BIN / AACD / Programming / sofa / archive / SmallEiffel.lha / SmallEiffel / man / short.txt < prev    next >
Text File  |  1999-06-05  |  27KB  |  514 lines

  1.  
  2.                              The short command
  3.                                       
  4.    Usage
  5.    
  6.    short [-<format>] [options] <Class>
  7.    
  8.    Command short prints on the standard output the interface of a given
  9.    <Class>.
  10.    The default -<format> is -plain: no special characters are added.
  11.    Command short is customizable and some predefined formats are already
  12.    available (see below for predefined formats and how to add a new
  13.    output format).
  14.    
  15.    Options
  16.    
  17.    -sort:
  18.           Features are sorted alphabetically.
  19.    -short:
  20.           Does not consider inherited features.
  21.    -no_style_warning:
  22.           Suppress output for warning messages related to non respect of
  23.           standard Eiffel style guidelines (for example ItEm will not
  24.           trigger a warning).
  25.    -case_insensitive:
  26.           Switch case insensitive mode on.
  27.           For example, when this mode is selected, the Eiffel parser
  28.           considers that the following identifiers refer to the same
  29.           feature: item, ITEM, ItEm, ...
  30.    -no_warning:
  31.           Suppresses output for all warning messages (error messages are
  32.           still printed).
  33.    -version:
  34.           Show the number of the [1]version of SmallEiffel you're using.
  35.           
  36.    Predefined output formats
  37.    
  38.    -plain:
  39.           The default output format. No special character added.
  40.    -tex1:
  41.           Simple output mode for TeX. Encloses the interface in a simple
  42.           verbatim TeX environment.
  43.    -tex2:
  44.           Output mode for TeX. Uses a TeX alltt environment with a \bf
  45.           font for keywords, \it font for comments and \tt font for
  46.           identifiers.
  47.    -tex3:
  48.           Output mode for TeX. Follows style guidelines given in ETL
  49.           apendix A. As the previous mode, this mode also uses a TeX
  50.           alltt environment.
  51.    -html1:
  52.           HTML output. Written by Matthias Klose.
  53.           
  54.    Adding a new output format
  55.    
  56.    To define a new output format, you have to add a new sub-directory in
  57.    the SmallEiffel "short" directory. In order to change the output, this
  58.    new directory must contains various hook files, which contain text
  59.    used to replace the default output.
  60.    Here is the current list of hook files.
  61.    
  62.        1. Changing the output for the class interface header
  63.    "hook000" - If this hook file exists, the contents of this file is
  64.           printed very first.
  65.           "hook010" - If this hook file exists, and if the processed
  66.           class is an expanded one, the contents of this file is printed
  67.           before the class name to replace the default string "expanded
  68.           class interface ".
  69.           "hook011" - If this hook file exists, and if the processed
  70.           class is an deferred one, the contents of this file is printed
  71.           before the class name to replace the default string "deferred
  72.           class interface ".
  73.           "hook012" - If this hook file exists, and if the processed
  74.           class is an ordinary one (not deferred nor expanded) the
  75.           contents of this file is printed before the class name to
  76.           replace the default string "class interface ".
  77.           "hook013" _ If this hook file exists, the contents of this file
  78.           is printed before the class name whatever the kind of class
  79.           (expanded, deferred or ordinary) to replace the default empty
  80.           string "".
  81.           "hook014" - If this hook exists, the contents of the file is
  82.           printed after the class name to replace the default string
  83.           "%N".
  84.           "hook015" - If this hook file exists, and if a class header
  85.           comment is present, this file is printed once before the
  86.           heading class comment.
  87.           "hook016" - If this hook file exists, and if an heading comment
  88.           is present, the contents of this file is printed to replace the
  89.           default string " -- " at the beginning of each comment line.
  90.           "hook017" - If this hook file exists, and if an heading comment
  91.           is present, the contents of this file is printed to replace the
  92.           default string "%N" at the end of each comment line.
  93.           "hook018" - If this hook file exists, and if a class heading
  94.           comment is present, the contents of this file is printed once
  95.           after the heading comment.
  96.           "hook019" - If this hook file exists, and if the processed
  97.           class has no heading comment, this file is printed once.
  98.           
  99.        2. Changing the output for the creation list
  100.    "hook100" - If it exists, this file is printed before the creation
  101.           list to replace the default string "creation%N".
  102.           "hook101" - If it exists, this file is printed after the
  103.           creation list to replace the default empty string "".
  104.           "hook102" - If it exists, this file is printed when clas has no
  105.           creation list.
  106.           
  107.        3. Changing the output for the feature list
  108.    "hook200" - If exists, printed before the feature list when option
  109.           -sort is selected to replace the default string "feature(s)%N".
  110.           "hook201" - If exists, printed after the feature list when
  111.           option -sort is selected to replace the default empty string
  112.           "".
  113.           "hook202" - If exists, printed before each feature list with no
  114.           heading comment to replace the default string "feature(s) from
  115.           ".
  116.           "hook203" - If exists, printed after the class name of
  117.           "hook202" to replace the default string "%N".
  118.           "hook204" - If exists, printed before a feature list with a
  119.           heading comment to replace the default string "feature(s) from
  120.           ".
  121.           "hook205" - If exists, printed after the class name introduced
  122.           at "hook204" to replace the default string "%N".
  123.           "hook206" - If exists, printed before each line of the feature
  124.           list comment to replace the default string " -- ".
  125.           "hook207" - If exists, printed after each line of the feature
  126.           list comment to replace the default string "%N".
  127.           "hook208" - If exists, printed after a feature list comment to
  128.           replace the default empty string "".
  129.           
  130.        4. Changing the output for a feature signature
  131.    "hook300" - If this hook exists, the contents of this file is printed
  132.           before each feature to replace the default string " ".
  133.           "hook301" - If this hook exists, the contents of this file is
  134.           printed once when the feature has no arguments to replace the
  135.           default empty string "".
  136.           "hook302" - If this hook exists, the contents of this file is
  137.           printed once when the feature has arguments to replace the
  138.           default string " (".
  139.           "hook303" - If this hook exists, the contents of this file is
  140.           printed when the feature has arguments to replace the default
  141.           string " ;".
  142.           "hook304" - If this hook exists, the contents of this file is
  143.           printed when the feature has arguments to replace the default
  144.           string ", ".
  145.           "hook305" - If this hook exists, the contents of this file is
  146.           printed when the feature has arguments to replace the default
  147.           string ": ".
  148.           "hook306" - If this hook exists, the contents of this file is
  149.           printed once when the feature has arguments to replace the
  150.           default string ")".
  151.           "hook307" - If this hook exists, the contents of this file is
  152.           printed once when the feature has no result to replace the
  153.           default string "%N".
  154.           "hook308" - If this hook exists, the contents of this file is
  155.           printed once before the result type of the feature to replace
  156.           the default string ": ".
  157.           "hook309" - If this hook exists, the contents of this file is
  158.           printed once after the result type of the feature to replace
  159.           the default string "%N".
  160.           
  161.        5. Changing the output for a feature comment
  162.    "hook310" - If this hook file exists, and if a feature has a heading
  163.           comment, this file is printed once before the comment.
  164.           "hook311" - If this hook file exists, and if a feature has a
  165.           heading comment, the contents of this file is printed to
  166.           replace the default string " -- " at the beginning of each
  167.           comment line.
  168.           "hook312" - If this hook file exists, and if a feature has a
  169.           heading comment, the contents of this file is printed to
  170.           replace the default string "%N" at the end of each comment
  171.           line.
  172.           "hook313" - If this hook file exists, and if a feature has a
  173.           heading comment, the contents of this file is printed once
  174.           after this comment.
  175.           "hook314" - If this hook file exists, and if a feature has no
  176.           heading comment, the contents of this file is printed.
  177.           
  178.        6. Changing the output for require clauses
  179.            6.1. For the header of a require clause
  180.    "hook400" - If this hook file exists, and if a feature has no require
  181.           assertion, the contents of this file is printed to replace the
  182.           default empty string "".
  183.           "hook401" - If this hook file exists, and if a feature has one
  184.           require assertion, the contents of this file is printed before
  185.           the latest inherited assertion to replace the default string "
  186.           require%N".
  187.           "hook402" - If this hook file exists, and if a feature has more
  188.           than one require assertion, the contents of this file is
  189.           printed before the require assertion to replace the default
  190.           string " require else%N".
  191.           "hook403" - If this hook file exists, and if a feature has at
  192.           least one require assertion, the contents of this file is
  193.           printed to finish the job (once after the last printed require
  194.           assertion) to replace the default empty string "".
  195.           "hook412" - If exists, printed when a require clause has no
  196.           heading comment to replace the default empty string "".
  197.           "hook413" - If exists, printed once before the require clause
  198.           heading comment to replace the default empty string "".
  199.           "hook414" - If exists, printed before each line of the heading
  200.           comment to replace the default string " -- ".
  201.           "hook415" - If exists, printed after each line of the heading
  202.           comment to replace the default string "%N".
  203.           "hook416" - If exists, printed once after the require clause
  204.           heading comment.
  205.           "hook417" - If exists, printed when a require clause has no
  206.           assertion to replace the default empty string "".
  207.           "hook418" - If exists, printed once before the first assertion
  208.           of a require clause to replace the default empty string "".
  209.           "hook433" - If exists, printed once after the last assertion of
  210.           a require clause to replace the default empty string "".
  211.           "hook434" - If exists, printed to finish a require clause to
  212.           replace the default empty string "".
  213.           
  214.            6.2. For each assertion in a require clause
  215.    "hook419" - If exists, printed before each assertion of a require
  216.           clause to replace the default string " ".
  217.           "hook420" - If exists, printed when an assertion has no tag to
  218.           replace the default empty string "".
  219.           "hook421" - If exists, printed before a tag to replace the
  220.           default empty string "".
  221.           "hook422" - If exists, printed after a tag to replace the
  222.           default string ": ".
  223.           "hook423" - If exists, printed when the assertion has no
  224.           expression to replace the default empty string "".
  225.           "hook424" - If exists, printed before the expression to replace
  226.           the default empty string "".
  227.           "hook425" - If exists, printed after the expression (except for
  228.           the last assertion) to replace the default string ";".
  229.           "hook426" - If exists, printed when an assertion has no comment
  230.           to replace the default string "%N".
  231.           "hook427" - If exists, printed once before the assertion
  232.           comment to replace the default empty string "".
  233.           "hook428" - If exists, printed before each line of the
  234.           expression comment to replace the default string " -- ".
  235.           "hook429" - If exists, printed after each line of the
  236.           expression comment to replace the default string "%N".
  237.           "hook430" - If exists, printed once after the assertion's
  238.           comment to replace the default string "".
  239.           "hook431" - If exists, printed after the assertion to replace
  240.           the default empty string "".
  241.           
  242.            6.3. For the last assertion in a require clause
  243.    
  244.            Same hook file list as described in section 6.2 except
  245.    "hook425" which becomes :
  246.    "hook432" - If exists, printed after the last expresion to replace the
  247.           default empty string "".
  248.           
  249.        7. Changing the output for ensure clauses
  250.            7.1. For the header of the ensure clause
  251.    "hook500" - If this hook file exists, and a feature has no ensure
  252.           clause, the contents of this file is printed to replace the
  253.           default empty string "".
  254.           "hook511" - If this hook file exists, the contents of this file
  255.           is printed before each ensure clause to replace the default
  256.           string " ensure%N".
  257.           "hook512" - If exists, printed when ensure clause has no
  258.           heading comment to replace default empty string "".
  259.           "hook513" - If exists, printed once before the ensure clause
  260.           heading comment to replace the default empty string "".
  261.           "hook514" - If exists, printed before each line of the heading
  262.           comment to replace the default string " -- ".
  263.           "hook555" - If exists, printed after each line of the heading
  264.           comment to replace the default string "%N".
  265.           "hook516" - If exists, printed once after the ensure clause
  266.           heading comment.
  267.           "hook517" - If exists, printed when an ensure clause has no
  268.           assertion to replace the default empty string "".
  269.           "hook518" - If exists, printed once before the first assertion
  270.           of the ensure clause to replace the default empty string "".
  271.           "hook533" - If exists, printed once after the last assertion of
  272.           the ensure clause to replace the default empty string "".
  273.           "hook534" - If exists, printed to finish the ensure clause to
  274.           replace the default empty string "".
  275.           
  276.            7.2. For each assertion in the ensure assertion
  277.    "hook519" - If exists, printed before each assertion of the ensure
  278.           clause to replace the default string " ".
  279.           "hook520" - If exists, printed when an assertion has no tag to
  280.           replace the default empty string "".
  281.           "hook521" - If exists, printed before a tag to replace the
  282.           default empty string "".
  283.           "hook522" - If exists, printed after a tag to replace the
  284.           default string ": ".
  285.           "hook523" - If exists, printed when the assertion has no
  286.           expression to replace the default empty string "".
  287.           "hook524" - If exists, printed before the expression to replace
  288.           the default empty string "".
  289.           "hook525" - If exists, printed after the expresion (except for
  290.           the last assertion) to replace the default string ";".
  291.           "hook526" - If exists, printed when an assertion has no comment
  292.           to replace the default string "%N".
  293.           "hook527" - If exists, printed once before the assertion
  294.           comment to replace the default empty string "".
  295.           "hook528" - If exists, printed before each line of the
  296.           expression comment to replace the default string " -- ".
  297.           "hook529" - If exists, printed after each line of the
  298.           expression comment to replace the default string "%N".
  299.           "hook530" - If exists, printed once after the assertion's
  300.           comment to replace the default string "".
  301.           "hook531" - If exists, printed after the assertion to replace
  302.           the default empty string "".
  303.           
  304.            7.3. For the last assertion in the ensure clause
  305.    
  306.            Same hook files list as described in section 7.2 except
  307.    "hook525" which becomes :
  308.    "hook532" - If exists, printed after the last expresion to replace the
  309.           default empty string "".
  310.           
  311.        8. Changing the output after each feature
  312.    "hook599" - If exists, printed after each feature to replace the
  313.           default empty string "".
  314.           
  315.        9. Changing the output for the class invariant
  316.            9.1. For the header of the class invariant
  317.    "hook800" - If this hook file exists, and when no class invariant
  318.           exists, the contents of this file is printed to replace the
  319.           default empty string "".
  320.           "hook811" - If this hook file exists, the contents of this file
  321.           is printed before the class invariant to replace the default
  322.           string "invariant%N".
  323.           "hook812" - If exists, printed when class invariant has no
  324.           heading comment to replace default empty string "".
  325.           "hook813" - If exists, printed once before the invariant
  326.           heading comment to replace the default empty string "".
  327.           "hook814" - If exists, printed before each line of the heading
  328.           comment to replace the default string " -- ".
  329.           "hook855" - If exists, printed after each line of the heading
  330.           comment to replace the default string "%N".
  331.           "hook816" - If exists, printed once after the invariant heading
  332.           comment.
  333.           "hook817" - If exists, printed when class invariant has no
  334.           assertion to replace the default empty string "".
  335.           "hook818" - If exists, printed once before the first assertion
  336.           of the class invariant to replace the default empty string "".
  337.           "hook833" - If exists, printed once after the last assertion of
  338.           the class invariant to replace the default empty string "".
  339.           "hook834" - If exists, printed to finish the class invariant to
  340.           replace the default empty string "".
  341.           
  342.            9.2. For each assertion in the class invariant
  343.    "hook819" - If exists, printed before each assertion of the class
  344.           invariant to replace the default string " ".
  345.           "hook820" - If exists, printed when an assertion has no tag to
  346.           replace the default empty string "".
  347.           "hook821" - If exists, printed before a tag to replace the
  348.           default empty string "".
  349.           "hook822" - If exists, printed after a tag to replace the
  350.           default string ": ".
  351.           "hook823" - If exists, printed when the assertion has no
  352.           expression to replace the default empty string "".
  353.           "hook824" - If exists, printed before the expression to replace
  354.           the default empty string "".
  355.           "hook825" - If exists, printed after the expresion (except for
  356.           the last assertion) to replace the default string ";".
  357.           "hook826" - If exists, printed when an assertion has no comment
  358.           to replace the default string "%N".
  359.           "hook827" - If exists, printed once before the assertion
  360.           comment to replace the default empty string "".
  361.           "hook828" - If exists, printed before each line of the
  362.           expression comment to replace the default string " -- ".
  363.           "hook829" - If exists, printed after each line of the
  364.           expression comment to replace the default string "%N".
  365.           "hook830" - If exists, printed once after the assertion's
  366.           comment to replace the default string "".
  367.           "hook831" - If exists, printed after the assertion to replace
  368.           the default empty string "".
  369.           
  370.            9.3. For the last assertion in the class invariant
  371.    
  372.            Same hook files list as described in section 9.2 except
  373.    "hook825" which becomes :
  374.    "hook832" - If exists, printed after the last expresion to replace the
  375.           default string ";".
  376.           
  377.        10. Changing the output for the class interface footer
  378.    "hook900" - When exists, printed once before class footer to replace
  379.           the default empty string "".
  380.           "hook901" - When exists, printed once at the end of an expanded
  381.           class before the class name to replace the default "end of
  382.           expanded ".
  383.           "hook902" - When exists, printed once at the end of a deferred
  384.           class before the class name to replace the default "end of
  385.           deferred ".
  386.           "hook903" - When exists, printed once at the end of an ordinary
  387.           (not expanded nor deferred) class, before the class name to
  388.           replace the default string "end of ".
  389.           "hook904" - When exist, printed just before the class name to
  390.           replace the default empty string "".
  391.           "hook905" - When exists, the contents of this file is printed
  392.           after the class name to replace the default string "%N".
  393.           "hook999" - If this hook file exists, the contents of this file
  394.           is printed once to finish the job.
  395.           
  396.        11. Changing the output for class names
  397.    "Bcn" - When exists, printed Before each class name.
  398.           "Mcn" - When exists, the corresponding class name is printed
  399.           one more time (using lower case letters) just before the
  400.           contents of this hook file.
  401.           "Acn" - When exists, printed After each class name.
  402.           "Ucn" - To replace the Underscore character in a class name.
  403.           
  404.        12. Changing the output for a type mark
  405.    "Btm" - When exists, printed Before each type mark.
  406.           "Atm" - When exists, printed After each type mark.
  407.           "open_sb" - To replace the opening square bracket (default
  408.           "[").
  409.           "close_sb" - To replace the closing square bracket (default
  410.           "]").
  411.           "fgl_sep" - To replace the default comma "," in a formal
  412.           generic argument list.
  413.           "tm_blank" - To replace a blank character in a type mark.
  414.           "tm_sep" - To replace default string "," as a separator in a
  415.           generic list.
  416.           "like" - To replace the default string "like ".
  417.           "expanded" - To replace the default string "expanded ".
  418.           
  419.        13. Changing the output for feature names
  420.            13.1. Simple feature names
  421.    "Bsfn" - When exists, printed Before each Simple Feature Name.
  422.           "Asfn" - When exists, printed After each Simple Feature Name.
  423.           "Usfn" - To replace the underscore character in a simple
  424.           feature name.
  425.           
  426.            13.2. Infix feature names
  427.    "Bifn" - When exists, replaces the default string "infix %"" Before an
  428.           infix feature name definition.
  429.           "Aifn" - When exists, replaces the default string "%"" to close
  430.           "Bifn".
  431.           "Binfix" - When exists, replaces the default string " " printed
  432.           before the infix name used in an expression.
  433.           "Ainfix" - When exists, replaces the default string " " printed
  434.           after the infix name used in an expression.
  435.           "rem" - When exists, replaces the default string "\\".
  436.           
  437.            13.3. Prefix feature names
  438.    "Bpfn" - When exists, replaces the default string "prefix %"" Before a
  439.           prefix feature name definition.
  440.           "Apfn" - When exists, replaces the default string "%"" to close
  441.           "Bpfn".
  442.           
  443.        14. Changing the output for an argument name
  444.    "Ban" - When exists, printed Before each argument name.
  445.           "Aan" - When exists, printed after each argument name.
  446.           "Uan" - To replace the Underscore character in an argument
  447.           name.
  448.           
  449.        15. Changing the output for a tag name
  450.    "Btag" - When exists, printed Before each tag name.
  451.           "Atag" - When exists, printed after each tag name.
  452.           "Utag" - To replace the Underscore character in a tag name.
  453.           
  454.        16. Changing the output for an effective argument list
  455.    "op_eal" - To replace the default string "(" to open an effective
  456.           argument list.
  457.           "eal_sep" - To replace the default string "," in an effective
  458.           argument list.
  459.           "cl_eal" - To replace the default string ")" for an effective
  460.           argument list.
  461.           
  462.        17. Changing the output for manifest strings
  463.    "open_ms" - To replace the default opening string "%"".
  464.           "close_ms" - To replace the default closing string "%"".
  465.           "Prcnt_ms" - To replace a % character inside a manifest string.
  466.           "Slash_ms" - To replace a / character inside a manifest string.
  467.           
  468.        18. Changing the output for a manifest array
  469.    "op_ma" - To replace the default string "<<" to open a manifest array.
  470.           "ma_sep" - To replace the default string "," in a manifest
  471.           array.
  472.           "cl_ma" - To replace the default string ">>" to close a
  473.           manifest array.
  474.           
  475.        19. Changing the output for comments lines
  476.    "BECL" - Before Each Comment Line. This hook is applied to all
  477.           comments whatever the kind of comment. If exists, printed
  478.           before the contents of each line of each comment (usually after
  479.           the default string "-- ").
  480.           "AECL" - After Each Comment Line. This hook is applied to all
  481.           comments whatever the kind of comment. If exits, printed after
  482.           the contents of each line of each comment (usually, printed
  483.           before the default "%N").
  484.           "Ucomment" - To replace the Underscore character in a comment.
  485.           "op_quote" - To replace the default opening quote mark "`".
  486.           "cl_quote" - To close an "op_quote" to replace the closing
  487.           quote mark "'".
  488.           
  489.        20. Miscellaneous tuning
  490.    "open_b" - To replace the default opening bracket "(" in expressions.
  491.           "close_b" - To replace the default closing bracket ")" in
  492.           expressions.
  493.           "arrow" - To replace the default string "->" in a formal
  494.           generic list.
  495.           "dot" - To replace the default string "." in an expression.
  496.           "Result" - To replace the default string "Result".
  497.           "old" - To replace the default string "old " in ensure clauses.
  498.           "op_strip" - To replace the default string "strip (".
  499.           "cl_strip" - To replace default string ")" which closes
  500.           "op_strip".
  501.           "fnl_sep" - To replace the default string ", " in a feature
  502.           name list.
  503.           "Current" - To replace the default string "Current".
  504.           "Void" - To replace the default string "Void".
  505.           
  506.                                    [Line]
  507.    Copyright © Dominique COLNET and Suzanne COLLIN - [2]<colnet@loria.fr>
  508.                   Last update: 05 June 1999, by DC & OZ. 
  509.  
  510. References
  511.  
  512.    1. file://localhost/home/colnet/SmallEiffel/man/man/SmallEiffelFAQ.html#Q02
  513.    2. mailto:colnet@loria.fr
  514.