mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 07:12:25 +01:00
work in progress intermediate save
Updated wikipage Writing Documentation Filters with EFF, the Eiffel Filter Format. (Signed-off-by:RTH10260). git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2303 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
[[Property:link_title|Writing Documentation FiltersFilters with EFF, the Eiffel Filter Format]]
|
[[Property:link_title|Writing Documentation FiltersFilters with EFF, the Eiffel Filter Format]]
|
||||||
[[Property:modification_date|Sat, 13 Feb 2021 04:49:50 GMT]]
|
[[Property:modification_date|Sat, 13 Feb 2021 06:28:37 GMT]]
|
||||||
[[Property:publication_date|Thu, 11 Feb 2021 07:55:20 GMT]]
|
[[Property:publication_date|Thu, 11 Feb 2021 07:55:20 GMT]]
|
||||||
[[Property:title|Writing Documentation Filters with EFF, the Eiffel Filter Format]]
|
[[Property:title|Writing Documentation Filters with EFF, the Eiffel Filter Format]]
|
||||||
[[Property:weight|6]]
|
[[Property:weight|6]]
|
||||||
@@ -107,39 +107,20 @@ Similarly, in an HTML format, the entry <code>External |<B> * </B></code> means
|
|||||||
Here you can also write the right-hand side without the asterisks, as <code><B>external</B></code>. If, however, all keywords are to use boldface, it is preferable to write a single entry <code>Keyword |<B> * </B></code> which, thanks to the asterisk, will govern all construct specimens of the <code>Keyword</code> category. You can still override this specification for an individual keyword by including a specific entry for it.
|
Here you can also write the right-hand side without the asterisks, as <code><B>external</B></code>. If, however, all keywords are to use boldface, it is preferable to write a single entry <code>Keyword |<B> * </B></code> which, thanks to the asterisk, will govern all construct specimens of the <code>Keyword</code> category. You can still override this specification for an individual keyword by including a specific entry for it.
|
||||||
|
|
||||||
==Constructs==
|
==Constructs==
|
||||||
|
{{UnderConstruction|making it match the latest definitions in distribution}}
|
||||||
|
|
||||||
The following general syntactic constructs may appear as the left-hand side, <code>Construct</code>, of an entry:
|
The general syntactic constructs may appear as the left-hand side, <code>Construct</code>, of an entry:
|
||||||
<code>
|
|
||||||
Class_declaration
|
|
||||||
Class_end
|
|
||||||
Class_header
|
|
||||||
Class_name
|
|
||||||
Comment
|
|
||||||
Creators
|
|
||||||
Escape
|
|
||||||
Feature_clause
|
|
||||||
Feature_declaration
|
|
||||||
Features
|
|
||||||
Formal_generics
|
|
||||||
Indexing_clause
|
|
||||||
Inheritance
|
|
||||||
Invariant_clause
|
|
||||||
Keyword
|
|
||||||
New_line
|
|
||||||
Obsolete_clause
|
|
||||||
Suffix
|
|
||||||
Symbol
|
|
||||||
Tab
|
|
||||||
</code>
|
|
||||||
|
|
||||||
Most of these denote Eiffel constructs as they appear in the official language reference, the book <span> [[Eiffel: The Language]] </span>. Since the Eiffel construct names <code>Feature</code>, <code>Invariant</code> and <code>Obsolete</code> are also keywords and EFF, like Eiffel, is case-insensitive, the EFF construct names use the suffix <code>_clause</code>, for example <code>Feature_clause</code>.
|
Most EFF constructs denote Eiffel constructs as they appear in the official language reference, the book [[Eiffel: The Language]] respective in the more recent [[/doc/eiffel/ECMA_Standard_367|ECMA Standard]].
|
||||||
|
|
||||||
|
Since certain construct names <code>Feature</code>, <code>Invariant</code> and <code>Obsolete</code> are also Eiffel keywords and EFF, like Eiffel, is case-insensitive, the EFF construct names use the suffix <code>_clause</code>, for example <code>Feature_clause</code>.
|
||||||
|
|
||||||
The constructs corresponding to syntactic constructs are self-explanatory. The others are:
|
The constructs corresponding to syntactic constructs are self-explanatory. The others are:
|
||||||
* <code>Class_end</code>, denoting the final end of a class text.
|
* <code>Class_end</code>, denoting the final end of a class text.
|
||||||
* <code>Keyword</code>, denoting any Eiffel keyword among those listed in boldface in the corresponding appendix in <span> [[Eiffel: The Language]] </span>
|
* <code>Keyword</code>, denoting any Eiffel keyword among those listed in boldface in the the official language reference.
|
||||||
* <code>New_line</code>, denoting any passage to a new line in the class text.
|
* <code>New_line</code>, denoting any passage to a new line in the class text.
|
||||||
* <code>Suffix</code>, used to introduce the file extension for the generated documentation files. If you don't specify this, EiffelStudio will use the filter's name as extension.
|
* <code>Suffix</code>, used to introduce the file extension for the generated documentation files. If you don't specify this, EiffelStudio will use the filter's name as extension.
|
||||||
* <code>Symbol</code>, denoting any of the Eiffel symbols listed in the corresponding appendix of <span> [[Eiffel: The Language]] </span>.
|
* <code>Symbol</code>, denoting any of the Eiffel symbols listed in the official language reference.
|
||||||
* <code>Escape</code>, to protect special characters of the external tool, as explained below.
|
* <code>Escape</code>, to protect special characters of the external tool, as explained below.
|
||||||
* <code>Tab</code>, denoting any tab character appearing in the class text.
|
* <code>Tab</code>, denoting any tab character appearing in the class text.
|
||||||
|
|
||||||
@@ -180,3 +161,34 @@ If <code>c</code> is not one of the characters for which special conventions hav
|
|||||||
|
|
||||||
A multi-line entry uses the Eiffel convention for string continuations: <code>%</code> at the end of a line to signal that there is a continuation; a continuation line begins with zero or more spaces and tabs followed by a <code>%</code> ; the characters after the <code>%</code> are the continuation of the string.
|
A multi-line entry uses the Eiffel convention for string continuations: <code>%</code> at the end of a line to signal that there is a continuation; a continuation line begins with zero or more spaces and tabs followed by a <code>%</code> ; the characters after the <code>%</code> are the continuation of the string.
|
||||||
|
|
||||||
|
==The EFF Template File==
|
||||||
|
{{UnderConstruction|making it match the latest definitions in distribution}}
|
||||||
|
|
||||||
|
The following is a replica of the EFF template file as distributed with EiffelStudio v20.11.
|
||||||
|
|
||||||
|
Location: <code>$ISE_EIFFEL/studio/filters/format.fil-template</code>
|
||||||
|
|
||||||
|
Timestamp:
|
||||||
|
<code>--! $Date: 2013-04-18 20:30:43 +0000 (Thu, 18 Apr 2013) $
|
||||||
|
--! $Revision: 92456 $</code>
|
||||||
|
|
||||||
|
===Generator provided Items===
|
||||||
|
|
||||||
|
Several extra items may be defined and accessed through: $item$.
|
||||||
|
|
||||||
|
In every construct, the following items are defined:
|
||||||
|
<code>
|
||||||
|
$generator$ "ISE EiffelStudio version x.x.x"
|
||||||
|
|
||||||
|
$html_meta$ HTML specific. Entire indexing clause defined as meta data.
|
||||||
|
Example: "<META NAME="keywords" CONTENT="eiffel, O-O">".
|
||||||
|
|
||||||
|
$class$ Classname in uppercase. If currently processed file does
|
||||||
|
not represent an Eiffel class, is empty.
|
||||||
|
|
||||||
|
$title$ Title for current document.
|
||||||
|
Example: "EV_ANY Text".
|
||||||
|
|
||||||
|
$root$ Relative base directory of generated documentation.
|
||||||
|
Example: "../../../../"
|
||||||
|
</code>
|
||||||
Reference in New Issue
Block a user